package/apr: Bump version to 1.5.1
PATCH 1/8 package/apr: Bump version to 1.5.1
apr-0001-cross-compile.patch: Fix cross compilation Fix top_builddir in usr/build-1/apr_rules.mk
--- package/apr/apr-0001-cross-compile.patch | 53 ++++++++++++++++++++++++++++++ package/apr/apr.mk | 7 +++- 2 files changed, 59 insertions(+), 1 deletion(-) create mode 100644 package/apr/apr-0001-cross-compile.patch
package/apr/apr-0001-cross-compile.patch new file +53 -0
@@ -0,0 +1,53 @@ +Fix cross-compilation + +Patch submitted upstream: +https://issues.apache.org/bugzilla/show_bug.cgi?id=57058 + +Signed-off-by: Bernd Kuhls <[email protected]> + +diff -uNr apr-1.5.1.org/configure.in apr-1.5.1/configure.in +--- apr-1.5.1.org/configure.in 2014-01-25 16:17:29.000000000 +0100 ++++ apr-1.5.1/configure.in 2014-10-05 11:20:40.080746760 +0200 +@@ -118,6 +118,16 @@ + echo "Configuring APR library" + echo "Platform: $host" + ++dnl In case of cross compilation we set CC_FOR_BUILD to cc unless ++dnl we got already CC_FOR_BUILD from environment. ++if test "x${build_alias}" != "x${host_alias}"; then ++ if test "x${CC_FOR_BUILD}" = "x"; then ++ CC_FOR_BUILD=cc ++ fi ++fi ++AC_SUBST(CC_FOR_BUILD) ++AC_SUBST(CFLAGS_FOR_BUILD) ++ + dnl Some initial steps for configuration. We setup the default directory + dnl and which files are to be configured. + +diff -uNr apr-1.5.1.org/Makefile.in apr-1.5.1/Makefile.in +--- apr-1.5.1.org/Makefile.in 2014-03-17 16:10:26.000000000 +0100 ++++ apr-1.5.1/Makefile.in 2014-10-05 11:22:53.031070519 +0200 +@@ -8,6 +8,8 @@ + # APR (Apache Portable Runtime) library Makefile. + # + CPP = @CPP@ ++CC_FOR_BUILD = @CC_FOR_BUILD@ ++CFLAGS_FOR_BUILD = @CFLAGS_FOR_BUILD@ + + # get substituted into some targets + APR_MAJOR_VERSION=@APR_MAJOR_VERSION@ +@@ -134,8 +136,13 @@ + + OBJECTS_gen_test_char = tools/gen_test_char.lo $(LOCAL_LIBS) + tools/gen_test_char.lo: make_tools_dir ++ifdef CC_FOR_BUILD ++tools/gen_test_char at EXEEXT@: tools/gen_test_char.c $(LOCAL_LIBS) ++ $(CC_FOR_BUILD) $(CFLAGS_FOR_BUILD) -DCROSS_COMPILE -o $@ $< ++else + tools/gen_test_char at EXEEXT@: $(OBJECTS_gen_test_char) + $(LINK_PROG) $(OBJECTS_gen_test_char) $(ALL_LIBS) ++endif + + include/private/apr_escape_test_char.h: tools/gen_test_char@EXEEXT@ + $(APR_MKDIR) include/private
package/apr/apr.mk +6 -1
@@ -4,12 +4,15 @@ # ################################################################################ -APR_VERSION = 1.4.8 +APR_VERSION = 1.5.1 APR_SITE = http://archive.apache.org/dist/apr APR_LICENSE = Apache-2.0 APR_LICENSE_FILES = LICENSE APR_INSTALL_STAGING = YES +APR_AUTORECONF = YES APR_CONF_ENV = \ + CC_FOR_BUILD="$(HOSTCC)" \ + CFLAGS_FOR_BUILD="$(HOST_CFLAGS)" \ ac_cv_file__dev_zero=yes \ ac_cv_func_setpgrp_void=yes \ apr_cv_process_shared_works=yes \
@@ -35,6 +38,8 @@ define APR_FIXUP_RULES_MK $(STAGING_DIR)/usr/build-1/apr_rules.mk $(SED) 's%apr_builders=%apr_builders=$(STAGING_DIR)%' \ $(STAGING_DIR)/usr/build-1/apr_rules.mk + $(SED) 's%top_builddir=%top_builddir=$(STAGING_DIR)%' \ + $(STAGING_DIR)/usr/build-1/apr_rules.mk endef APR_POST_INSTALL_STAGING_HOOKS += APR_FIXUP_RULES_MK
Signature · 1 line
1.7.10.4
PATCH 2/8 package/apr: Fix detection of rlimit and large file support
Snippets from configure log:
before:
checking whether to enable -D_LARGEFILE64_SOURCE... no
...
checking struct rlimit... no
after
checking whether to enable -D_LARGEFILE64_SOURCE... (cached) yes
...
checking struct rlimit... (cached) yes
--- package/apr/apr.mk | 6 ++++++ 1 file changed, 6 insertions(+)
package/apr/apr.mk +6 -0
@@ -19,6 +19,7 @@ APR_CONF_ENV = \ apr_cv_mutex_robust_shared=no \ apr_cv_tcp_nodelay_with_cork=yes \ ac_cv_sizeof_struct_iovec=8 \ + ac_cv_struct_rlimit=yes \ apr_cv_mutex_recursive=yes APR_CONFIG_SCRIPTS = apr-1-config
@@ -27,6 +28,11 @@ ifeq ($(BR2_TOOLCHAIN_HAS_THREADS),y) APR_CONF_ENV += apr_cv_pthreads_lib="-lpthread" endif +# Fix lfs detection when cross compiling +ifeq ($(BR2_LARGEFILE),y) +APR_CONF_ENV += apr_cv_use_lfs64=yes +endif + define APR_CLEANUP_UNNEEDED_FILES $(RM) -rf $(TARGET_DIR)/usr/build-1/ endef
Signature · 1 line
1.7.10.4
PATCH 2/8 package/apr: Fix detection of rlimit and large file support
Bernd, All,
On 2014-10-05 15:45 +0200, Bernd Kuhls spake thusly:
Quoted 11 lines
Snippets from configure log:
before:
checking whether to enable -D_LARGEFILE64_SOURCE... no
...
checking struct rlimit... noafter
checking whether to enable -D_LARGEFILE64_SOURCE... (cached) yes
...
checking struct rlimit... (cached) yes
Is that a failure introduced with the bump to 1.5.1?
If so, this should be done in the same patch as the bump.
If not, and it was already present with 1.4.8, it should be done before the bump.
Regards,
Yann E. MORIN.
Quoted 36 lines
Signed-off-by Bernd Kuhls <[email protected]>--- package/apr/apr.mk | 6 ++++++ 1 file changed, 6 insertions(+)package/apr/apr.mk +6
-0@@ -19,6 +19,7 @@ APR_CONF_ENV = \ apr_cv_mutex_robust_shared=no \ apr_cv_tcp_nodelay_with_cork=yes \ ac_cv_sizeof_struct_iovec=8 \ + ac_cv_struct_rlimit=yes \ apr_cv_mutex_recursive=yes APR_CONFIG_SCRIPTS = apr-1-config@@ -27,6 +28,11 @@ ifeq ($(BR2_TOOLCHAIN_HAS_THREADS),y) APR_CONF_ENV += apr_cv_pthreads_lib="-lpthread" endif +# Fix lfs detection when cross compiling +ifeq ($(BR2_LARGEFILE),y) +APR_CONF_ENV += apr_cv_use_lfs64=yes +endif + define APR_CLEANUP_UNNEEDED_FILES $(RM) -rf $(TARGET_DIR)/usr/build-1/ endefSignature · 6 lines
1.7.10.4 _______________________________________________ buildroot mailing list buildroot at busybox.net http://lists.busybox.net/mailman/listinfo/buildroot
Signature · 6 lines
.-----------------.--------------------.------------------.--------------------. | Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: | | +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ | | +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no | | http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. | '------------------------------^-------^------------------^--------------------'
PATCH 3/8 package/apr-util: Add comment to describe toolchain dependencies
In reply to Bernd Kuhls--- package/apr-util/Config.in | 4 ++++ 1 file changed, 4 insertions(+)
package/apr-util/Config.in +4 -0
@@ -12,3 +12,7 @@ config BR2_PACKAGE_APR_UTIL The utility library for the apache runtime project http://apr.apache.org/ + +comment "apr-util needs a toolchain w/ dynamic library" + depends on BR2_USE_MMU + depends on BR2_PREFER_STATIC_LIB
Signature · 1 line
1.7.10.4
PATCH 3/8 package/apr-util: Add comment to describe toolchain dependencies
Bernd, All,
On 2014-10-05 15:45 +0200, Bernd Kuhls spake thusly:
Quoted 2 lines
Signed-off-by Bernd Kuhls <[email protected]>
However, this should go first in the series.
Regards,
Yann E. MORIN.
Quoted 23 lines
--- package/apr-util/Config.in | 4 ++++ 1 file changed, 4 insertions(+)package/apr-util/Config.in +4
-0@@ -12,3 +12,7 @@ config BR2_PACKAGE_APR_UTIL The utility library for the apache runtime project http://apr.apache.org/ + +comment "apr-util needs a toolchain w/ dynamic library" + depends on BR2_USE_MMU + depends on BR2_PREFER_STATIC_LIBSignature · 6 lines
1.7.10.4 _______________________________________________ buildroot mailing list buildroot at busybox.net http://lists.busybox.net/mailman/listinfo/buildroot
Signature · 6 lines
.-----------------.--------------------.------------------.--------------------. | Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: | | +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ | | +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no | | http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. | '------------------------------^-------^------------------^--------------------'
Thomas Petazzoni
AppliedPATCH 3/8 package/apr-util: Add comment to describe toolchain dependencies
In reply to Bernd KuhlsDear Bernd Kuhls,
Quoted 5 lines · Bernd Kuhls
Signed-off-by Bernd Kuhls <[email protected]>--- package/apr-util/Config.in | 4 ++++ 1 file changed, 4 insertions(+)
Applied, thanks.
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com
PATCH 4/8 package/apr-util: Bump version to 1.5.4
In reply to Bernd Kuhls--- package/apr-util/apr-util.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
package/apr-util/apr-util.mk +1 -1
@@ -4,7 +4,7 @@ # ################################################################################ -APR_UTIL_VERSION = 1.5.2 +APR_UTIL_VERSION = 1.5.4 APR_UTIL_SITE = http://archive.apache.org/dist/apr APR_UTIL_LICENSE = Apache-2.0 APR_UTIL_LICENSE_FILES = LICENSE
Signature · 1 line
1.7.10.4
PATCH 5/8 package/apr-util: Rework dependencies
In reply to Bernd Kuhls- add expat hard-dependency, when missing apr-util compiles its own expat
- all database libs are optional
- add optional OpenSSL support
- remove unused dependencies neon and zlib
--- package/apr-util/Config.in | 5 +---- package/apr-util/apr-util.mk | 37 ++++++++++++++++++++++++++++++++++++- 2 files changed, 37 insertions(+), 5 deletions(-)
package/apr-util/Config.in +1 -4
@@ -1,10 +1,7 @@ config BR2_PACKAGE_APR_UTIL bool "apr-util" select BR2_PACKAGE_APR - select BR2_PACKAGE_SQLITE - select BR2_PACKAGE_NEON - select BR2_PACKAGE_NEON_ZLIB - select BR2_PACKAGE_ZLIB + select BR2_PACKAGE_EXPAT # apr really needs shared library support depends on !BR2_PREFER_STATIC_LIB depends on BR2_USE_MMU # apr
package/apr-util/apr-util.mk +36 -1
@@ -9,7 +9,7 @@ APR_UTIL_SITE = http://archive.apache.org/dist/apr APR_UTIL_LICENSE = Apache-2.0 APR_UTIL_LICENSE_FILES = LICENSE APR_UTIL_INSTALL_STAGING = YES -APR_UTIL_DEPENDENCIES = apr sqlite neon zlib +APR_UTIL_DEPENDENCIES = apr expat APR_UTIL_CONF_OPTS = \ --with-apr=$(STAGING_DIR)/usr/bin/apr-1-config APR_UTIL_CONFIG_SCRIPTS = apu-1-config
@@ -18,4 +18,39 @@ APR_UTIL_CONFIG_SCRIPTS = apu-1-config # features. APR_UTIL_DEPENDENCIES += $(if $(BR2_PACKAGE_LIBICONV),libiconv) +ifeq ($(BR2_PACKAGE_BERKELEYDB),y) +APR_UTIL_CONF_OPTS += --with-dbm=db53 --with-berkeley-db="$(STAGING_DIR)/usr" +APR_UTIL_DEPENDENCIES += berkeleydb +else +APR_UTIL_CONF_OPTS += --without-berkeley-db +endif + +ifeq ($(BR2_PACKAGE_GDBM),y) +APR_UTIL_CONF_OPTS += --with-gdbm="$(STAGING_DIR)/usr" +APR_UTIL_DEPENDENCIES += gdbm +else +APR_UTIL_CONF_OPTS += --without-gdbm +endif + +ifeq ($(BR2_PACKAGE_MYSQL),y) +APR_UTIL_CONF_OPTS += --with-mysql="$(STAGING_DIR)/usr" +APR_UTIL_DEPENDENCIES += mysql +else +APR_UTIL_CONF_OPTS += --without-mysql +endif + +ifeq ($(BR2_PACKAGE_OPENSSL),y) +APR_UTIL_CONF_OPTS += --with-crypto --with-openssl="$(STAGING_DIR)/usr" +APR_UTIL_DEPENDENCIES += openssl +else +APR_UTIL_CONF_OPTS += --without-ssl +endif + +ifeq ($(BR2_PACKAGE_SQLITE),y) +APR_UTIL_CONF_OPTS += --with-sqlite3="$(STAGING_DIR)/usr" +APR_UTIL_DEPENDENCIES += sqlite +else +APR_UTIL_CONF_OPTS += --without-sqlite3 +endif + $(eval $(autotools-package))
Signature · 1 line
1.7.10.4
PATCH 5/8 package/apr-util: Rework dependencies
Bernd, All,
On 2014-10-05 15:45 +0200, Bernd Kuhls spake thusly:
Quoted 4 lines
- add expat hard-dependency, when missing apr-util compiles its own expat
- all database libs are optional
- add optional OpenSSL support
- remove unused dependencies neon and zlib
I'd prefer those are done in separate patches:
- add hard-dependency to expat
- remove unused neon and zlib
- make sqlite optional
- add optional bdb
- add optional gdbm
- add optional mysql
- add optional openssl
Also, see below for additional comments...
Quoted 1 line
Signed-off-by Bernd Kuhls <[email protected]>
[--SNIP--]
Quoted 41 lines
package/apr-util/apr-util.mk +25
-1@@ -9,7 +9,7 @@ APR_UTIL_SITE = http://archive.apache.org/dist/apr APR_UTIL_LICENSE = Apache-2.0 APR_UTIL_LICENSE_FILES = LICENSE APR_UTIL_INSTALL_STAGING = YES -APR_UTIL_DEPENDENCIES = apr sqlite neon zlib +APR_UTIL_DEPENDENCIES = apr expat APR_UTIL_CONF_OPTS = \ --with-apr=$(STAGING_DIR)/usr/bin/apr-1-config APR_UTIL_CONFIG_SCRIPTS = apu-1-config@@ -18,4 +18,39 @@ APR_UTIL_CONFIG_SCRIPTS = apu-1-config # features. APR_UTIL_DEPENDENCIES += $(if $(BR2_PACKAGE_LIBICONV),libiconv) +ifeq ($(BR2_PACKAGE_BERKELEYDB),y) +APR_UTIL_CONF_OPTS += --with-dbm=db53 --with-berkeley-db="$(STAGING_DIR)/usr" +APR_UTIL_DEPENDENCIES += berkeleydb +else +APR_UTIL_CONF_OPTS += --without-berkeley-db +endif + +ifeq ($(BR2_PACKAGE_GDBM),y) +APR_UTIL_CONF_OPTS += --with-gdbm="$(STAGING_DIR)/usr" +APR_UTIL_DEPENDENCIES += gdbm +else +APR_UTIL_CONF_OPTS += --without-gdbm +endif + +ifeq ($(BR2_PACKAGE_MYSQL),y) +APR_UTIL_CONF_OPTS += --with-mysql="$(STAGING_DIR)/usr" +APR_UTIL_DEPENDENCIES += mysql +else +APR_UTIL_CONF_OPTS += --without-mysql +endif + +ifeq ($(BR2_PACKAGE_OPENSSL),y) +APR_UTIL_CONF_OPTS += --with-crypto --with-openssl="$(STAGING_DIR)/usr" +APR_UTIL_DEPENDENCIES += openssl
package/apr-util/apr-util.mk APR_UTIL_CONFIG_SCRIPTS = apu-1-config · line 54
Quoted 10 lines
package/apr-util/apr-util.mk +10
-0+else +APR_UTIL_CONF_OPTS += --without-ssl +endif + +ifeq ($(BR2_PACKAGE_SQLITE),y) +APR_UTIL_CONF_OPTS += --with-sqlite3="$(STAGING_DIR)/usr" +APR_UTIL_DEPENDENCIES += sqlite +else +APR_UTIL_CONF_OPTS += --without-sqlite3 +endif
I see you use an alphabetical order. I would prefer they be sorted by category, and then alphabetically:
- bdb
- gdbm
- mysql
- sqlite
- openssl
It seems more logical to me (personal preference), but I won't care much either way.
Regards,
Yann E. MORIN.
Signature · 6 lines
.-----------------.--------------------.------------------.--------------------. | Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: | | +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ | | +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no | | http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. | '------------------------------^-------^------------------^--------------------'
PATCH 6/8 package/apr: Fix for Apache when listening to multiple ports
In reply to Bernd KuhlsFor details:
https://issues.apache.org/bugzilla/show_bug.cgi?id=56727#c6
--- package/apr/apr.mk | 1 + 1 file changed, 1 insertion(+)
package/apr/apr.mk +1 -0
@@ -20,6 +20,7 @@ APR_CONF_ENV = \ apr_cv_tcp_nodelay_with_cork=yes \ ac_cv_sizeof_struct_iovec=8 \ ac_cv_struct_rlimit=yes \ + ac_cv_o_nonblock_inherited=no \ apr_cv_mutex_recursive=yes APR_CONFIG_SCRIPTS = apr-1-config
Signature · 1 line
1.7.10.4
PATCH 6/8 package/apr: Fix for Apache when listening to multiple ports
Bernd, All,
On 2014-10-05 15:45 +0200, Bernd Kuhls spake thusly:
Quoted 4 lines
For details:
https://issues.apache.org/bugzilla/show_bug.cgi?id=56727#c6Signed-off-by Bernd Kuhls <[email protected]>
Regards,
Yann E. MORIN.
Quoted 23 lines
--- package/apr/apr.mk | 1 + 1 file changed, 1 insertion(+)package/apr/apr.mk +1
-0@@ -20,6 +20,7 @@ APR_CONF_ENV = \ apr_cv_tcp_nodelay_with_cork=yes \ ac_cv_sizeof_struct_iovec=8 \ ac_cv_struct_rlimit=yes \ + ac_cv_o_nonblock_inherited=no \ apr_cv_mutex_recursive=yes APR_CONFIG_SCRIPTS = apr-1-configSignature · 6 lines
1.7.10.4 _______________________________________________ buildroot mailing list buildroot at busybox.net http://lists.busybox.net/mailman/listinfo/buildroot
Signature · 6 lines
.-----------------.--------------------.------------------.--------------------. | Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: | | +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ | | +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no | | http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. | '------------------------------^-------^------------------^--------------------'
PATCH 7/8 Apache: New package
In reply to Bernd Kuhls--- package/Config.in | 1 + package/apache/Config.in | 19 ++++++++ package/apache/apache-0001-cross-compile.patch | 58 ++++++++++++++++++++++++ package/apache/apache.mk | 42 +++++++++++++++++ 4 files changed, 120 insertions(+) create mode 100644 package/apache/Config.in create mode 100644 package/apache/apache-0001-cross-compile.patch create mode 100644 package/apache/apache.mk
package/Config.in +1 -0
@@ -945,6 +945,7 @@ endmenu menu "Networking applications" source "package/aiccu/Config.in" source "package/aircrack-ng/Config.in" + source "package/apache/Config.in" source "package/argus/Config.in" source "package/arptables/Config.in" source "package/atftp/Config.in"
package/apache/Config.in new file +19 -0
@@ -0,0 +1,19 @@ +config BR2_PACKAGE_APACHE + bool "apache" + select BR2_PACKAGE_APR_UTIL + select BR2_PACKAGE_PCRE + depends on !BR2_PREFER_STATIC_LIB + depends on BR2_TOOLCHAIN_HAS_THREADS + depends on BR2_USE_MMU # apr + help + The Apache HTTP Server Project is an effort to develop and maintain an + open-source HTTP server for modern operating systems including UNIX + and Windows NT. The goal of this project is to provide a secure, + efficient and extensible server that provides HTTP services in sync + with the current HTTP standards. + + http://httpd.apache.org + +comment "apache needs a toolchain w/ dynamic library, threads" + depends on BR2_USE_MMU + depends on BR2_PREFER_STATIC_LIB || !BR2_TOOLCHAIN_HAS_THREADS
package/apache/apache-0001-cross-compile.patch new file +58 -0
58 lines not on this page · raw message
package/apache/apache.mk new file +42 -0
42 lines not on this page · raw message
Signature · 1 line
1.7.10.4
PATCH 7/8 Apache: New package
Bernd, All,
On 2014-10-05 15:45 +0200, Bernd Kuhls spake thusly:
[--SNIP--]
package/apache/apache-0001-cross-compile.patch line 4
Quoted 10 lines
package/apache/apache-0001-cross-compile.patch new file +4
-0@@ -0,0 +1,58 @@ +Fix cross-compilation + +Fetched httpd-2.4.x-cross_compile.diff from upstream bugtracker: +https://issues.apache.org/bugzilla/show_bug.cgi?id=51257#c6
which is a bundle of upstream revisions:
http://svn.apache.org/viewvc?view=revision&revision=1327907 http://svn.apache.org/viewvc?view=revision&revision=1328390 http://svn.apache.org/viewvc?view=revision&revision=1328714
;-)
[--SNIP--]
Quoted 8 lines
package/apache/apache.mk new file +2
-0@@ -0,0 +1,42 @@ +################################################################################ +#
package/apache/apache.mk line 12
Quoted 10 lines
package/apache/apache.mk new file +10
-0+# apache +# +################################################################################ + +APACHE_VERSION = 2.4.10 +APACHE_SOURCE = httpd-$(APACHE_VERSION).tar.bz2 +APACHE_SITE = http://archive.apache.org/dist/httpd +APACHE_LICENSE = Apache-2.0 +APACHE_LICENSE_FILES = LICENSE +APACHE_INSTALL_STAGING = YES
Why do you meed to install it in staging?
Answer: I guess that's becasue apache installs headers and libs so that it is possible to build out-of-apache modules. Right?
Say so, because it is not obvious.
package/apache/apache.mk line 13
Quoted 1 line
package/apache/apache.mk new file +1
-0+APACHE_AUTORECONF = YES
Ditto as for apr: short explanation why autoreconf is needed.
package/apache/apache.mk line 14
Quoted 1 line
package/apache/apache.mk new file +1
-0+APACHE_DEPENDENCIES = apr-util pcre
Apache does not need apr directly, too?
Quoted 8 lines
package/apache/apache.mk new file +8
-0+APACHE_CONF_ENV= \ + CC_FOR_BUILD="$(HOSTCC)" \ + CFLAGS_FOR_BUILD="$(HOST_CFLAGS)" \ + ap_cv_void_ptr_lt_long=no \ + PCRE_CONFIG=$(STAGING_DIR)/usr/bin/pcre-config + +APACHE_CONF_OPTS = \ + --sysconfdir=/etc/apache2 \
package/apache/apache.mk line 33
Quoted 10 lines
package/apache/apache.mk new file +10
-0+ --with-apr=$(STAGING_DIR)/usr \ + --with-apr-util=$(STAGING_DIR)/usr \ + --with-pcre=$(STAGING_DIR)/usr/bin/pcre-config \ + --enable-http \ + --enable-dbd \ + --enable-proxy \ + --enable-mime-magic \ + --without-suexec-bin \ + --enable-mods-shared=all \ + --with-mpm=worker \
This could later be made a choice option.
package/apache/apache.mk line 34
Quoted 1 line
package/apache/apache.mk new file +1
-0+ --enable-nonportable-atomics=yes
Can you shade some explanations to this one? How would it work with:
BR2_ARCH_HAS_ATOMICS
Regards,
Yann E. MORIN.
Quoted 14 lines
package/apache/apache.mk new file +7
-0+define APACHE_FIX_STAGING_APACHE_CONFIG + $(SED) 's%/usr/build%$(STAGING_DIR)/usr/build%' $(STAGING_DIR)/usr/bin/apxs + $(SED) 's%^prefix =.*%prefix = $(STAGING_DIR)/usr%' $(STAGING_DIR)/usr/build/config_vars.mk +endef +APACHE_POST_INSTALL_STAGING_HOOKS += APACHE_FIX_STAGING_APACHE_CONFIG + +$(eval $(autotools-package))Signature · 6 lines
1.7.10.4 _______________________________________________ buildroot mailing list buildroot at busybox.net http://lists.busybox.net/mailman/listinfo/buildroot
Signature · 6 lines
.-----------------.--------------------.------------------.--------------------. | Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: | | +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ | | +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no | | http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. | '------------------------------^-------^------------------^--------------------'
PATCH 8/8 package/php: Add Apache support
In reply to Bernd Kuhls--- package/php/Config.in | 17 +++ package/php/php-04-cross-compile.only-for-apache | 131 ++++++++++++++++++++++ package/php/php.mk | 16 +++ 3 files changed, 164 insertions(+) create mode 100644 package/php/php-04-cross-compile.only-for-apache
package/php/Config.in +17 -0
@@ -11,6 +11,9 @@ if BR2_PACKAGE_PHP source "package/php/Config.ext" +config BR2_PACKAGE_PHP_APACHE + bool + config BR2_PACKAGE_PHP_CLI bool
@@ -26,6 +29,20 @@ choice help Select the PHP interface(s). +config BR2_PACKAGE_PHP_SAPI_APACHE + bool "Apache" + select BR2_PACKAGE_APACHE + select BR2_PACKAGE_PHP_APACHE + depends on !BR2_PREFER_STATIC_LIB # apache + depends on BR2_TOOLCHAIN_HAS_THREADS # apache + depends on BR2_USE_MMU # apr + help + Apache module + +comment "apache module needs a toolchain w/ dynamic library, threads" + depends on BR2_USE_MMU + depends on BR2_PREFER_STATIC_LIB || !BR2_TOOLCHAIN_HAS_THREADS + config BR2_PACKAGE_PHP_SAPI_CGI bool "CGI" # CGI uses fork()
package/php/php-04-cross-compile.only-for-apache new file +131 -0
131 lines not on this page · raw message
package/php/php.mk +16 -0
@@ -50,6 +50,22 @@ PHP_CONF_OPTS += $(if $(BR2_PACKAGE_PHP_CLI),,--disable-cli) PHP_CONF_OPTS += $(if $(BR2_PACKAGE_PHP_CGI),,--disable-cgi) PHP_CONF_OPTS += $(if $(BR2_PACKAGE_PHP_FPM),--enable-fpm,--disable-fpm) +ifeq ($(BR2_PACKAGE_PHP_APACHE),y) +# this patchset is only needed when cross-compiling mod_php for Apache +define PHP_PATCH_FOR_APACHE + patch -d $(@D) -p1 -E -i $(TOPDIR)/$(PKGDIR)php-04-cross-compile.only-for-apache +endef +PHP_POST_PATCH_HOOKS += PHP_PATCH_FOR_APACHE +PHP_CONF_OPTS += \ + --with-apxs2=$(STAGING_DIR)/usr/bin/apxs \ + --with-config-file-path=/etc/apache2 \ + --with-config-file-scan-dir=/etc/apache2/php \ + --oldincludedir=$(STAGING_DIR)/usr/include \ + --enable-pthreads \ + --localstatedir=/var +PHP_DEPENDENCIES += apache +endif + ### Extensions PHP_CONF_OPTS += $(if $(BR2_PACKAGE_PHP_EXT_SOCKETS),--enable-sockets) \ $(if $(BR2_PACKAGE_PHP_EXT_POSIX),--enable-posix) \
Signature · 1 line
1.7.10.4
PATCH 8/8 package/php: Add Apache support
Bernd, All,
On 2014-10-05 15:45 +0200, Bernd Kuhls spake thusly:
Quoted 31 lines
Signed-off-by Bernd Kuhls <[email protected]>--- package/php/Config.in | 17 +++ package/php/php-04-cross-compile.only-for-apache | 131 ++++++++++++++++++++++ package/php/php.mk | 16 +++ 3 files changed, 164 insertions(+) create mode 100644 package/php/php-04-cross-compile.only-for-apachepackage/php/Config.in +7
-0@@ -11,6 +11,9 @@ if BR2_PACKAGE_PHP source "package/php/Config.ext" +config BR2_PACKAGE_PHP_APACHE + bool + config BR2_PACKAGE_PHP_CLI bool@@ -26,6 +29,20 @@ choice help Select the PHP interface(s). +config BR2_PACKAGE_PHP_SAPI_APACHE + bool "Apache" + select BR2_PACKAGE_APACHE + select BR2_PACKAGE_PHP_APACHE
package/php/Config.in choice · line 45
Quoted 10 lines
package/php/Config.in +10
-0+ depends on !BR2_PREFER_STATIC_LIB # apache + depends on BR2_TOOLCHAIN_HAS_THREADS # apache + depends on BR2_USE_MMU # apr + help + Apache module + +comment "apache module needs a toolchain w/ dynamic library, threads" + depends on BR2_USE_MMU + depends on BR2_PREFER_STATIC_LIB || !BR2_TOOLCHAIN_HAS_THREADS +
Unrelated to your patch, but this choice is getting ugly. Maybe we should switch to something like:
config BR2_PACKAGE_PHP
bool "php"
select BR2_PACKAGE_PHP_SAPI_CGI if !BR2_PACKAGE_PHP_HAS_SAPI
config BR2_PACKAGE_PHP_HAS_SAPI
bool
config BR2_PACKAGE_PHP_SAPI_CGI
bool "CGI"
config BR2_PACKAGE_PHP_SAPI_CLI
bool "CLI"
select BR2_PACKAGE_PHP_HAS_SAPI
config BR2_PACKAGE_PHP_SAPI_APACHE
bool "Apache"
select BR2_PACKAGE_PHP_HAS_SAPI
config BR2_PACKAGE_PHP_SAPI_FPM
bool "FPM"
select BR2_PACKAGE_PHP_HAS_SAPI
That way, we ensure at least one is selected, which was the initial reason for the choice, while stil allowing multiple to be selected.
Then, if some are incompatible, we could do, for example:
config BR2_PACKAGE_PHP_SAPI_APACHE
bool "Apache"
depends on !BR2_PACKAGE_PHP_SAPI_CLI
select BR2_PACKAGE_PHP_HAS_SAPI
Quoted 9 lines
package/php/Config.in +0
-0config BR2_PACKAGE_PHP_SAPI_CGI bool "CGI" # CGI uses fork()package/php/php-04-cross-compile.only-for-apache new file +0
-0
package/php/php-04-cross-compile.only-for-apache line 6
Quoted 6 lines
package/php/php-04-cross-compile.only-for-apache new file +6
-0@@ -0,0 +1,131 @@ +Fix cross-compilation when used as Apache module. + +Apache is configured to use the worker MPM which depends on threads. +As PHP?s phtread detection is broken in a cross-compile environment, it is not +possible to apply this patch unconditionally, since php itself works without +thread support,
I have to say I do not like this much. How complex would it be to have a proper patch that would work both with apache enabled or disabled?
We should try to have such a patch, and push it upstream.
[--SNIP--]
package/php/php.mk PHP_CONF_OPTS += $(if $(BR2_PACKAGE_PHP_CLI),,--disable-cli) · line 56
Quoted 12 lines
package/php/php.mk +4
-0@@ -50,6 +50,22 @@ PHP_CONF_OPTS += $(if $(BR2_PACKAGE_PHP_CLI),,--disable-cli) PHP_CONF_OPTS += $(if $(BR2_PACKAGE_PHP_CGI),,--disable-cgi) PHP_CONF_OPTS += $(if $(BR2_PACKAGE_PHP_FPM),--enable-fpm,--disable-fpm) +ifeq ($(BR2_PACKAGE_PHP_APACHE),y) +# this patchset is only needed when cross-compiling mod_php for Apache +define PHP_PATCH_FOR_APACHE + patch -d $(@D) -p1 -E -i $(TOPDIR)/$(PKGDIR)php-04-cross-compile.only-for-apache
Yes, $(PKGDIR) already has a trailing '/', for for readability, I'd prefer we add one here. Multiple '/' in a path are innocuous.
Regards,
Yann E. MORIN.
Quoted 22 lines
package/php/php.mk +12
-0+endef +PHP_POST_PATCH_HOOKS += PHP_PATCH_FOR_APACHE +PHP_CONF_OPTS += \ + --with-apxs2=$(STAGING_DIR)/usr/bin/apxs \ + --with-config-file-path=/etc/apache2 \ + --with-config-file-scan-dir=/etc/apache2/php \ + --oldincludedir=$(STAGING_DIR)/usr/include \ + --enable-pthreads \ + --localstatedir=/var +PHP_DEPENDENCIES += apache +endif + ### Extensions PHP_CONF_OPTS += $(if $(BR2_PACKAGE_PHP_EXT_SOCKETS),--enable-sockets) \ $(if $(BR2_PACKAGE_PHP_EXT_POSIX),--enable-posix) \Signature · 6 lines
1.7.10.4 _______________________________________________ buildroot mailing list buildroot at busybox.net http://lists.busybox.net/mailman/listinfo/buildroot
Signature · 6 lines
.-----------------.--------------------.------------------.--------------------. | Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: | | +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ | | +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no | | http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. | '------------------------------^-------^------------------^--------------------'
PATCH 8/8 package/php: Add Apache support
Quoted 21 lines · Yann E. MORIN
Unrelated to your patch, but this choice is getting ugly. Maybe we should switch to something like:
config
BR2_PACKAGE_PHP
bool "php"
selectBR2_PACKAGE_PHP_SAPI_CGIif !BR2_PACKAGE_PHP_HAS_SAPIconfig
BR2_PACKAGE_PHP_HAS_SAPI
boolconfig
BR2_PACKAGE_PHP_SAPI_CGI
bool "CGI"config
BR2_PACKAGE_PHP_SAPI_CLI
bool "CLI"
selectBR2_PACKAGE_PHP_HAS_SAPIconfig
BR2_PACKAGE_PHP_SAPI_APACHE
bool "Apache"
selectBR2_PACKAGE_PHP_HAS_SAPI
Quoted 6 lines
config
BR2_PACKAGE_PHP_SAPI_FPM
bool "FPM"
selectBR2_PACKAGE_PHP_HAS_SAPIThat way, we ensure at least one is selected, which was the initial reason for the choice, while stil allowing multiple to be selected.
+1 the choice is going wild.
Quoted 1 line
Then, if some are incompatible, we could do, for example:
AFAIK you can combine anything the way you like as long as the dependencies are met since the php build system rebuilds for each case. Regards.
PATCH 1/8 package/apr: Bump version to 1.5.1
In reply to Bernd KuhlsBernd, All,
On 2014-10-05 15:45 +0200, Bernd Kuhls spake thusly:
Quoted 16 lines
apr-0001-cross-compile.patch: Fix cross compilation Fix
top_builddirinusr/build-1/apr_rules.mkSigned-off-by Bernd Kuhls <[email protected]>--- package/apr/apr-0001-cross-compile.patch | 53 ++++++++++++++++++++++++++++++ package/apr/apr.mk | 7 +++- 2 files changed, 59 insertions(+), 1 deletion(-) create mode 100644 package/apr/apr-0001-cross-compile.patchpackage/apr/apr-0001-cross-compile.patch new file +0
-0
package/apr/apr-0001-cross-compile.patch line 4
Quoted 4 lines
package/apr/apr-0001-cross-compile.patch new file +4
-0@@ -0,0 +1,53 @@ +Fix cross-compilation + +Patch submitted upstream: +https://issues.apache.org/bugzilla/show_bug.cgi?id=57058
which is a bundle of upstream revisions:
http://svn.apache.org/viewvc?view=revision&revision=1327907 http://svn.apache.org/viewvc?view=revision&revision=1328390 http://svn.apache.org/viewvc?view=revision&revision=1328714
[--SNIP rest of patch--]
Quoted 5 lines
package/apr/apr.mk +0
-0
package/apr/apr.mk line 12
Quoted 10 lines
package/apr/apr.mk +2
-1@@ -4,12 +4,15 @@ # ################################################################################ -APR_VERSION = 1.4.8 +APR_VERSION = 1.5.1 APR_SITE = http://archive.apache.org/dist/apr APR_LICENSE = Apache-2.0 APR_LICENSE_FILES = LICENSE APR_INSTALL_STAGING = YES +APR_AUTORECONF = YES
Usually, we explicit why autoreconf is needed:
# We have a patch touching configure.in and Makefile.in, # so we need to autoreconf:
APR_AUTORECONF = YES
With the above two, you can add my:
Reviewed-by: "Yann E. MORIN" <[email protected]>
Regards,
Yann E. MORIN.
Quoted 22 lines
package/apr/apr.mk +4
-0APR_CONF_ENV = \ + CC_FOR_BUILD="$(HOSTCC)" \ + CFLAGS_FOR_BUILD="$(HOST_CFLAGS)" \ ac_cv_file__dev_zero=yes \ ac_cv_func_setpgrp_void=yes \ apr_cv_process_shared_works=yes \@@ -35,6 +38,8 @@ define APR_FIXUP_RULES_MK $(STAGING_DIR)/usr/build-1/apr_rules.mk $(SED) 's%apr_builders=%apr_builders=$(STAGING_DIR)%' \ $(STAGING_DIR)/usr/build-1/apr_rules.mk + $(SED) 's%top_builddir=%top_builddir=$(STAGING_DIR)%' \ + $(STAGING_DIR)/usr/build-1/apr_rules.mk endef APR_POST_INSTALL_STAGING_HOOKS += APR_FIXUP_RULES_MKSignature · 6 lines
1.7.10.4 _______________________________________________ buildroot mailing list buildroot at busybox.net http://lists.busybox.net/mailman/listinfo/buildroot
Signature · 6 lines
.-----------------.--------------------.------------------.--------------------. | Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: | | +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ | | +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no | | http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. | '------------------------------^-------^------------------^--------------------'
PATCH 1/8 package/apr: Bump version to 1.5.1
Dear Yann E. MORIN,
Quoted 12 lines · Yann E. MORIN
package/apr/apr-0001-cross-compile.patch line 4
Quoted 10 lines
package/apr/apr-0001-cross-compile.patch new file +4
-0@@ -0,0 +1,53 @@ +Fix cross-compilation + +Patch submitted upstream: +https://issues.apache.org/bugzilla/show_bug.cgi?id=57058which is a bundle of upstream revisions:
Quoted 3 lines
http://svn.apache.org/viewvc?view=revision&revision=1327907 http://svn.apache.org/viewvc?view=revision&revision=1328390 http://svn.apache.org/viewvc?view=revision&revision=1328714
I'm confused: if some pieces of code are already upstream and backported, why do they need to be submitted upstream again?
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com
PATCH 1/8 package/apr: Bump version to 1.5.1
Thomas Petazzoni <thomas.petazzoni-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8 @public.gmane.org> wrote in news:20141005181638.2614c86f at free-electrons.com:
Quoted 2 lines
I'm confused: if some pieces of code are already upstream and backported, why do they need to be submitted upstream again?
Hi Thomas,
both Apache httpd and standalone apr contain the source for gen_test_char, the cross-compile patches were only applied to the build system of httpd, not apr, therefore the need for the backport.
Regards, Bernd