From 5b02e1597a0c3aa9c6c6d385acea34de6e37fadf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lucio=20Andr=C3=A9s=20Illanes=20Albornoz=20=28arab=2C=20vx?= =?UTF-8?q?p=29?= Date: Fri, 3 Feb 2017 02:35:33 +0000 Subject: vars/build.vars, patches/httpd-2.4.25.local.patch: preliminarily adds httpd v2.4.25 (via Redfoxmoon) (not built by default.) build.sh, subr/{pkg_{build_dir,distclean,setup},rtl}.subr: adds `distclean' build step between setup and configure. vars/apr{,_util}.vars: provide ${PREFIX}/bin/${PKG_TARGET}-ap[ru]-1-config to facilitate building Apache. --- build.sh | 4 +- patches/httpd-2.4.25.local.patch | 125 +++++++++++++++++++++++++++++++++++++++ subr/pkg_build_dir.subr | 3 - subr/pkg_distclean.subr | 14 +++++ subr/pkg_setup.subr | 2 +- subr/rtl.subr | 3 +- vars/apr.vars | 13 ++++ vars/apr_util.vars | 10 ++++ vars/build.vars | 10 +++- 9 files changed, 174 insertions(+), 10 deletions(-) create mode 100644 patches/httpd-2.4.25.local.patch create mode 100644 subr/pkg_distclean.subr create mode 100644 vars/apr.vars create mode 100644 vars/apr_util.vars diff --git a/build.sh b/build.sh index 73ff2f89..fe13c91e 100755 --- a/build.sh +++ b/build.sh @@ -212,8 +212,8 @@ for BUILD_TARGET_LC in $(bp_subst_tgts ${BUILD_TARGETS_META}); do fi; done; parse_with_pkg_name ${BUILD_PACKAGE_LC%.*}; - for __ in all disabled fetch extract build_dir patch_pre autoconf patch setup \ - configure clean build install; do + for __ in all disabled fetch extract build_dir patch_pre autoconf patch \ + setup distclean configure clean build install; do case ${__} in all) if test_cmd pkg_${PKG_NAME}_all; then diff --git a/patches/httpd-2.4.25.local.patch b/patches/httpd-2.4.25.local.patch new file mode 100644 index 00000000..d4c23438 --- /dev/null +++ b/patches/httpd-2.4.25.local.patch @@ -0,0 +1,125 @@ +diff -ru --new-file httpd-2.4.25.orig/build/rules.mk.in httpd-2.4.25/build/rules.mk.in +--- httpd-2.4.25.orig/build/rules.mk.in 2012-09-26 16:30:31.000000000 +0200 ++++ httpd-2.4.25/build/rules.mk.in 2017-01-27 02:10:20.539967531 +0100 +@@ -50,7 +50,7 @@ + # Link-related commands + + LINK = $(LIBTOOL) --mode=link $(CC) $(ALL_CFLAGS) $(PILDFLAGS) $(LT_LDFLAGS) $(ALL_LDFLAGS) -o $@ +-SH_LINK = $(SH_LIBTOOL) --mode=link $(CC) $(ALL_CFLAGS) $(LT_LDFLAGS) $(ALL_LDFLAGS) $(SH_LDFLAGS) $(CORE_IMPLIB) $(SH_LIBS) -o $@ ++SH_LINK = $(LIBTOOL) --mode=link $(CC) $(ALL_CFLAGS) $(LT_LDFLAGS) $(ALL_LDFLAGS) $(SH_LDFLAGS) $(CORE_IMPLIB) $(SH_LIBS) -o $@ + MOD_LINK = $(LIBTOOL) --mode=link $(CC) $(ALL_CFLAGS) -static $(LT_LDFLAGS) $(ALL_LDFLAGS) -o $@ + + # Cross compile commands +diff -ru --new-file httpd-2.4.25.orig/configure httpd-2.4.25/configure +--- httpd-2.4.25.orig/configure 2016-12-16 19:24:48.000000000 +0100 ++++ httpd-2.4.25/configure 2017-01-27 01:11:14.103967531 +0100 +@@ -8828,13 +8828,6 @@ + CPPFLAGS=$apr_old_cppflags + + +- if test $ac_cv_define_APR_HAS_DSO = "no"; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Missing DSO support - building static modules by default." >&5 +-$as_echo "$as_me: WARNING: Missing DSO support - building static modules by default." >&2;} +- module_default=static +- fi +- +- + # Check whether --enable-modules was given. + if test "${enable_modules+set}" = set; then : + enableval=$enable_modules; +@@ -13645,9 +13638,9 @@ + + case "x$enable_so" in + "xyes") +- if test $ac_cv_define_APR_HAS_DSO = "no"; then +- as_fn_error $? "mod_so has been requested but cannot be built on your system" "$LINENO" 5 +- fi ++ #if test $ac_cv_define_APR_HAS_DSO = "no"; then ++ # as_fn_error $? "mod_so has been requested but cannot be built on your system" "$LINENO" 5 ++ #fi + ;; + "xshared") + as_fn_error $? "mod_so can not be built as a shared DSO" "$LINENO" 5 +@@ -13693,16 +13686,6 @@ + APACHE_VAR_SUBST="$APACHE_VAR_SUBST INSTALL_DSO" + + +- +-if test "$sharedobjs" = "yes"; then +- if test $ac_cv_define_APR_HAS_DSO = "no"; then +- as_fn_error $? "shared objects have been requested but cannot be built since mod_so cannot be built" "$LINENO" 5 +- elif test $enable_so = "no"; then +- as_fn_error $? "shared objects have been requested but cannot be built since mod_so was disabled" "$LINENO" 5 +- fi +-fi +- +- + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable mod_so" >&5 + $as_echo_n "checking whether to enable mod_so... " >&6; } + # Check whether --enable-so was given. +diff -ru --new-file httpd-2.4.25.orig/server/test_char.h httpd-2.4.25/server/test_char.h +--- httpd-2.4.25.orig/server/test_char.h 1970-01-01 01:00:00.000000000 +0100 ++++ httpd-2.4.25/server/test_char.h 2017-01-26 20:25:06.654810000 +0100 +@@ -0,0 +1,45 @@ ++/* generated natively */ ++#define T_ESCAPE_SHELL_CMD (1) ++#define T_ESCAPE_PATH_SEGMENT (2) ++#define T_OS_ESCAPE_PATH (4) ++#define T_HTTP_TOKEN_STOP (8) ++#define T_ESCAPE_LOGITEM (16) ++#define T_ESCAPE_FORENSIC (32) ++#define T_ESCAPE_URLENCODED (64) ++#define T_HTTP_CTRLS (128) ++#define T_VCHAR_OBSTEXT (256) ++ ++static const unsigned short test_char_table[256] = { ++ 0x0a8,0x0fe,0x0fe,0x0fe,0x0fe,0x0fe,0x0fe,0x0fe, ++ 0x0fe,0x07e,0x0ff,0x0fe,0x0fe,0x0fe,0x0fe,0x0fe, ++ 0x0fe,0x0fe,0x0fe,0x0fe,0x0fe,0x0fe,0x0fe,0x0fe, ++ 0x0fe,0x0fe,0x0fe,0x0fe,0x0fe,0x0fe,0x0fe,0x0fe, ++ 0x00e,0x140,0x15f,0x146,0x141,0x166,0x141,0x141, ++ 0x149,0x149,0x101,0x140,0x148,0x100,0x100,0x14a, ++ 0x100,0x100,0x100,0x100,0x100,0x100,0x100,0x100, ++ 0x100,0x100,0x168,0x14b,0x14f,0x148,0x14f,0x14f, ++ 0x148,0x100,0x100,0x100,0x100,0x100,0x100,0x100, ++ 0x100,0x100,0x100,0x100,0x100,0x100,0x100,0x100, ++ 0x100,0x100,0x100,0x100,0x100,0x100,0x100,0x100, ++ 0x100,0x100,0x100,0x14f,0x15f,0x14f,0x147,0x100, ++ 0x147,0x100,0x100,0x100,0x100,0x100,0x100,0x100, ++ 0x100,0x100,0x100,0x100,0x100,0x100,0x100,0x100, ++ 0x100,0x100,0x100,0x100,0x100,0x100,0x100,0x100, ++ 0x100,0x100,0x100,0x14f,0x167,0x14f,0x141,0x0fe, ++ 0x17e,0x17e,0x17e,0x17e,0x17e,0x17e,0x17e,0x17e, ++ 0x17e,0x17e,0x17e,0x17e,0x17e,0x17e,0x17e,0x17e, ++ 0x17e,0x17e,0x17e,0x17e,0x17e,0x17e,0x17e,0x17e, ++ 0x17e,0x17e,0x17e,0x17e,0x17e,0x17e,0x17e,0x17e, ++ 0x17e,0x17e,0x17e,0x17e,0x17e,0x17e,0x17e,0x17e, ++ 0x17e,0x17e,0x17e,0x17e,0x17e,0x17e,0x17e,0x17e, ++ 0x17e,0x17e,0x17e,0x17e,0x17e,0x17e,0x17e,0x17e, ++ 0x17e,0x17e,0x17e,0x17e,0x17e,0x17e,0x17e,0x17e, ++ 0x17e,0x17e,0x17e,0x17e,0x17e,0x17e,0x17e,0x17e, ++ 0x17e,0x17e,0x17e,0x17e,0x17e,0x17e,0x17e,0x17e, ++ 0x17e,0x17e,0x17e,0x17e,0x17e,0x17e,0x17e,0x17e, ++ 0x17e,0x17e,0x17e,0x17e,0x17e,0x17e,0x17e,0x17e, ++ 0x17e,0x17e,0x17e,0x17e,0x17e,0x17e,0x17e,0x17e, ++ 0x17e,0x17e,0x17e,0x17e,0x17e,0x17e,0x17e,0x17e, ++ 0x17e,0x17e,0x17e,0x17e,0x17e,0x17e,0x17e,0x17e, ++ 0x17e,0x17e,0x17e,0x17e,0x17e,0x17e,0x17e,0x17e ++}; + +--- httpd-2.4.25/server/Makefile.in.orig 2013-10-02 12:20:14.000000000 +0000 ++++ httpd-2.4.25/server/Makefile.in 2017-02-02 23:55:21.521675844 +0000 +@@ -23,10 +23,10 @@ + include $(top_builddir)/build/rules.mk + include $(top_srcdir)/build/library.mk + +-gen_test_char_OBJECTS = gen_test_char.lo +-gen_test_char: $(gen_test_char_OBJECTS) +- $(LINK) $(EXTRA_LDFLAGS) $(gen_test_char_OBJECTS) $(EXTRA_LIBS) ++gen_test_char: gen_test_char.o ++ gcc -I$(shell x86_64-nt64-midipix-apr-1-config --includedir) -o $@ $< + ++#If this file is missing, you're doing something wrong... + test_char.h: gen_test_char + ./gen_test_char > test_char.h + diff --git a/subr/pkg_build_dir.subr b/subr/pkg_build_dir.subr index 1e46323e..86ead38b 100644 --- a/subr/pkg_build_dir.subr +++ b/subr/pkg_build_dir.subr @@ -7,9 +7,6 @@ pkg_build_dir() { if [ -z "${PKG_BUILD_DIR}" ]; then set_build_dir ${PKG_SUBDIR} ${PKG_BUILD_TYPE:-native}; fi; - [ "${PKG_SUBDIR}" != "${PKG_BUILD_DIR}" ] &&\ - secure_rm ${PKG_BUILD_DIR}; - insecure_mkdir ${PKG_BUILD_DIR}; set_build_script_done build_dir -patch_pre; }; diff --git a/subr/pkg_distclean.subr b/subr/pkg_distclean.subr new file mode 100644 index 00000000..aae22162 --- /dev/null +++ b/subr/pkg_distclean.subr @@ -0,0 +1,14 @@ +# +# . ./build.vars and set -o errexit -o noglob are assumed. +# See warning at the top of build.vars. +# + +pkg_distclean() { + if [ "${PKG_SUBDIR}" != "${PKG_BUILD_DIR}" ]; then + secure_rm ${PKG_BUILD_DIR}; + insecure_mkdir ${PKG_BUILD_DIR}; + fi; + set_build_script_done distclean -configure; +}; + +# vim:filetype=sh diff --git a/subr/pkg_setup.subr b/subr/pkg_setup.subr index 242541ad..c9a78a49 100644 --- a/subr/pkg_setup.subr +++ b/subr/pkg_setup.subr @@ -27,7 +27,7 @@ pkg_setup() { else __no_autoconf=1; fi; - set_build_script_done setup -configure; + set_build_script_done setup distclean -configure; }; # vim:filetype=sh diff --git a/subr/rtl.subr b/subr/rtl.subr index 70fcbe32..be3efa43 100644 --- a/subr/rtl.subr +++ b/subr/rtl.subr @@ -104,7 +104,8 @@ secure_rm() { is_build_script_done() { - if [ "${1}" = "clean" ]; then + if [ "${1}" = "clean" ]\ + || [ "${1}" = distclean ]; then if match_list "${ARG_RESTART}" , ${BUILD_PACKAGE_LC} \ && [ -n "${ARG_RESTART_AT}" ] \ && match_list "${ARG_RESTART_AT}" , "${1}"; then diff --git a/vars/apr.vars b/vars/apr.vars new file mode 100644 index 00000000..055e8c30 --- /dev/null +++ b/vars/apr.vars @@ -0,0 +1,13 @@ +# +# . ./build.vars and set -o errexit -o noglob are assumed. +# + +pkg_apr_install_post() { + sed -e 's,echo "\$APR_BUILD_DIR/libtool",echo '"${PREFIX}"'/bin/slibtool,' \ + -e 's,echo "\${installbuilddir}/libtool",echo '"${PREFIX}"'/bin/slibtool,' \ + -e 's,flags="\$flags -I\$includedir \$EXTRA_INCLUDES",flags="-I'"${PKG_PREFIX}"'/include/apr-1",' \ + ${PKG_PREFIX}/bin/apr-1-config > ${PREFIX}/bin/${PKG_TARGET}-apr-1-config; + chmod +x ${PREFIX}/bin/${PKG_TARGET}-apr-1-config; +}; + +# vim:filetype=sh diff --git a/vars/apr_util.vars b/vars/apr_util.vars new file mode 100644 index 00000000..296ae712 --- /dev/null +++ b/vars/apr_util.vars @@ -0,0 +1,10 @@ +# +# . ./build.vars and set -o errexit -o noglob are assumed. +# + +pkg_apr_util_install_post() { + cp -p ${PKG_PREFIX}/bin/apu-1-config \ + ${PREFIX}/bin/${PKG_TARGET}-apu-1-config; +}; + +# vim:filetype=sh diff --git a/vars/build.vars b/vars/build.vars index 21c5625d..4d8dab83 100644 --- a/vars/build.vars +++ b/vars/build.vars @@ -492,9 +492,9 @@ LEAF_PACKAGES_MAKEFLAGS_INSTALL="DESTDIR=${PREFIX_NATIVE}"; LEAF_PACKAGES_PACKAGES=" apk_tools bash bc bdwgc chicken clang_host coreutils cparser cron dash datamash diffutils dos2unix ed figlet file findutils gawk git gnupg grep hexcurse htop inetutils infounzip infozip irssi john -ldns less lighttpd lynx make man_db mc mksh nano netcat nginx openssh p7zip pacman patch perl -procps_ng python3 rsync rxvt_unicode sed smallbasic tar tcsh the_silver_searcher tmux util_linux -vim weechat wget which whois xeyes xwd zsh"; +ldns less lighttpd lynx make man_db mc mksh nano netcat nginx openssh p7zip pacman patch perl procps_ng +python3 rsync rxvt_unicode sed smallbasic tar tcsh the_silver_searcher tmux util_linux vim weechat +wget which whois xeyes xwd zsh"; LEAF_PACKAGES_PREFIX="${PREFIX_NATIVE}"; : ${PKG_APK_TOOLS_SHA256SUM:=def2b2c23cd12fd2a9c19be49653b0d1bf9d81a26dac5a0ee79a1351d674f93b}; : ${PKG_APK_TOOLS_VERSION:=2.6.8}; @@ -599,6 +599,10 @@ LEAF_PACKAGES_PREFIX="${PREFIX_NATIVE}"; : ${PKG_HTOP_VERSION:=2.0.1}; : ${PKG_HTOP_URL:=http://hisham.hm/htop/releases/${PKG_HTOP_VERSION}/htop-${PKG_HTOP_VERSION}.tar.gz}; : ${PKG_HTOP_CONFIGURE_ARGS_EXTRA:=--program-prefix=}; +: ${PKG_HTTPD_SHA256SUM:=f87ec2df1c9fee3e6bfde3c8b855a3ddb7ca1ab20ca877bd0e2b6bf3f05c80b2}; +: ${PKG_HTTPD_VERSION:=2.4.25}; +: ${PKG_HTTPD_URL:=http://mirror.softaculous.com/apache//httpd/httpd-${PKG_HTTPD_VERSION}.tar.bz2}; +: ${PKG_HTTPD_CONFIGURE_ARGS_EXTRA:="--with-apr=${PREFIX}/bin/${TARGET}-apr-1-config --with-apr-util=${PREFIX}/bin/${TARGET}-apu-1-config"}; : ${PKG_INETUTILS_SHA256SUM:=849d96f136effdef69548a940e3e0ec0624fc0c81265296987986a0dd36ded37}; : ${PKG_INETUTILS_VERSION:=1.9.4}; : ${PKG_INETUTILS_URL:=https://ftp.gnu.org/gnu/inetutils/inetutils-${PKG_INETUTILS_VERSION}.tar.xz}; -- cgit v1.2.3