diff options
Diffstat (limited to 'meta-webserver/recipes-httpd')
41 files changed, 727 insertions, 606 deletions
diff --git a/meta-webserver/recipes-httpd/apache-mod/apache-websocket_git.bb b/meta-webserver/recipes-httpd/apache-mod/apache-websocket_git.bb index 3cbab22c3d..4dbf595c19 100644 --- a/meta-webserver/recipes-httpd/apache-mod/apache-websocket_git.bb +++ b/meta-webserver/recipes-httpd/apache-mod/apache-websocket_git.bb @@ -7,27 +7,26 @@ LICENSE = "Apache-2.0" inherit autotools-brokensep pkgconfig DEPENDS = "apache2 apache2-native pbzip2-native" -RDEPENDS_${PN} += "apache2" +RDEPENDS:${PN} += "apache2" # Original (github.com/disconnect/apache-websocket) is dead since 2012, the # fork contains patches from the modules ML and fixes CVE compliance issues -SRC_URI = "git://github.com/jchampio/apache-websocket.git" +SRC_URI = "git://github.com/jchampio/apache-websocket.git;branch=master;protocol=https" -SRCREV = "6968083264b90b89b1b9597a4ca03ba29e7ea2e1" +SRCREV = "0ee34c77fc78ff08fd548706300b80a7bc7874e4" -PV = "0.1.1+git${SRCPV}" +PV = "0.1.2+git" S = "${WORKDIR}/git" LIC_FILES_CHKSUM = "file://LICENSE;md5=2ee41112a44fe7014dce33e26468ba93" -EXTRA_OECONF = "APACHECTL=${STAGING_DIR_TARGET}${sbindir}/apachectl \ - LIBTOOL=${STAGING_DIR_TARGET}${bindir_crossscripts}/${HOST_SYS}-libtool" +EXTRA_OECONF = "APACHECTL=${STAGING_DIR_TARGET}${sbindir}/apachectl" do_install() { install -d ${D}${libexecdir}/apache2/modules install -m 755 ${B}/.libs/mod_websocket.so ${D}${libexecdir}/apache2/modules } -FILES_${PN} += " ${libexecdir}/apache2/modules/* " -FILES_${PN}-dbg += " ${libexecdir}/apache2/modules/.debug/* " +FILES:${PN} += " ${libexecdir}/apache2/modules/* " +FILES:${PN}-dbg += " ${libexecdir}/apache2/modules/.debug/* " diff --git a/meta-webserver/recipes-httpd/apache-mod/mod-dnssd_0.6.bb b/meta-webserver/recipes-httpd/apache-mod/mod-dnssd_0.6.bb new file mode 100644 index 0000000000..5fac0a6ed4 --- /dev/null +++ b/meta-webserver/recipes-httpd/apache-mod/mod-dnssd_0.6.bb @@ -0,0 +1,20 @@ +DESCRIPTION = "Avahi Module for Apache2." +HOMEPAGE = "https://0pointer.de/lennart/projects/mod_dnssd/" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57" + +DEPENDS = "apache2 avahi" + +SRC_URI = "git://git.0pointer.de/mod_dnssd;protocol=git;branch=master" +SRCREV = "be2fb9f6158f800685de7a1bc01c39b6cf1fa12c" + +S = "${WORKDIR}/git" + +EXTRA_OECONF = "--disable-lynx" + +inherit autotools pkgconfig + +do_install() { + install -Dm755 ${S}/src/.libs/mod_dnssd.so ${D}${libexecdir}/apache2/modules/mod_dnssd.so +} + diff --git a/meta-webserver/recipes-httpd/apache2/apache2/0001-configure-use-pkg-config-for-PCRE-detection.patch b/meta-webserver/recipes-httpd/apache2/apache2/0001-configure-use-pkg-config-for-PCRE-detection.patch index 6c0286457c..50775be533 100644 --- a/meta-webserver/recipes-httpd/apache2/apache2/0001-configure-use-pkg-config-for-PCRE-detection.patch +++ b/meta-webserver/recipes-httpd/apache2/apache2/0001-configure-use-pkg-config-for-PCRE-detection.patch @@ -1,44 +1,43 @@ -From d2cedfa3394365689a3f7c8cfe8e0dd56b29bed9 Mon Sep 17 00:00:00 2001 +From ba9015386cbc044e111d7c266f13e2be045e4bf1 Mon Sep 17 00:00:00 2001 From: Koen Kooi <koen.kooi@linaro.org> Date: Tue, 17 Jun 2014 09:10:57 +0200 Subject: [PATCH] configure: use pkg-config for PCRE detection -Upstream-Status: Pending +Upstream-Status: Inappropriate [embedded specific] Signed-off-by: Koen Kooi <koen.kooi@linaro.org> --- - configure.in | 27 +++++---------------------- - 1 file changed, 5 insertions(+), 22 deletions(-) + configure.in | 26 +++++--------------------- + 1 file changed, 5 insertions(+), 21 deletions(-) diff --git a/configure.in b/configure.in -index 9feaceb..dc6ea15 100644 +index 38c1d0a..c799aec 100644 --- a/configure.in +++ b/configure.in -@@ -215,28 +215,11 @@ fi - AC_ARG_WITH(pcre, - APACHE_HELP_STRING(--with-pcre=PATH,Use external PCRE library)) +@@ -221,27 +221,11 @@ else if which $with_pcre 2>/dev/null; then :; else + fi + fi --AC_PATH_PROG(PCRE_CONFIG, pcre-config, false) --if test -d "$with_pcre" && test -x "$with_pcre/bin/pcre-config"; then -- PCRE_CONFIG=$with_pcre/bin/pcre-config --elif test -x "$with_pcre"; then -- PCRE_CONFIG=$with_pcre --fi +-AC_CHECK_TARGET_TOOLS(PCRE_CONFIG, [pcre2-config pcre-config], +- [`which $with_pcre 2>/dev/null`], $with_pcre) - --if test "$PCRE_CONFIG" != "false"; then +-if test "x$PCRE_CONFIG" != "x"; then - if $PCRE_CONFIG --version >/dev/null 2>&1; then :; else -- AC_MSG_ERROR([Did not find pcre-config script at $PCRE_CONFIG]) +- AC_MSG_ERROR([Did not find working script at $PCRE_CONFIG]) - fi - case `$PCRE_CONFIG --version` in +- [1[0-9].*]) +- AC_DEFINE(HAVE_PCRE2, 1, [Detected PCRE2]) +- ;; - [[1-5].*]) - AC_MSG_ERROR([Need at least pcre version 6.0]) - ;; - esac - AC_MSG_NOTICE([Using external PCRE library from $PCRE_CONFIG]) - APR_ADDTO(PCRE_INCLUDES, [`$PCRE_CONFIG --cflags`]) -- APR_ADDTO(PCRE_LIBS, [`$PCRE_CONFIG --libs`]) +- APR_ADDTO(PCRE_LIBS, [`$PCRE_CONFIG --libs8 2>/dev/null || $PCRE_CONFIG --libs`]) -else -- AC_MSG_ERROR([pcre-config for libpcre not found. PCRE is required and available from http://pcre.org/]) +- AC_MSG_ERROR([pcre(2)-config for libpcre not found. PCRE is required and available from http://pcre.org/]) -fi +PKG_CHECK_MODULES([PCRE], [libpcre], [ + AC_DEFINE([HAVE_PCRE], [1], [Define if you have PCRE library]) @@ -49,5 +48,5 @@ index 9feaceb..dc6ea15 100644 AC_MSG_NOTICE([]) -- -2.7.4 +2.25.1 diff --git a/meta-webserver/recipes-httpd/apache2/apache2/0001-make_exports.awk-not-expose-the-path.patch b/meta-webserver/recipes-httpd/apache2/apache2/0001-make_exports.awk-not-expose-the-path.patch new file mode 100644 index 0000000000..78f23f0f2d --- /dev/null +++ b/meta-webserver/recipes-httpd/apache2/apache2/0001-make_exports.awk-not-expose-the-path.patch @@ -0,0 +1,32 @@ +From 5b5eae9cdf3bae91756c717349f2f33a31888f24 Mon Sep 17 00:00:00 2001 +From: Mingli Yu <mingli.yu@windriver.com> +Date: Wed, 3 Aug 2022 12:35:16 +0800 +Subject: [PATCH] make_exports.awk: not expose the path + +Don't print the full path in the comment line. + +Upstream-Status: Inappropriate [oe specific] + +Signed-off-by: Mingli Yu <mingli.yu@windriver.com> +--- + build/make_exports.awk | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/build/make_exports.awk b/build/make_exports.awk +index 1cf0568..44d93c5 100644 +--- a/build/make_exports.awk ++++ b/build/make_exports.awk +@@ -47,7 +47,9 @@ function push(line) { + + function do_output() { + printf("/*\n") +- printf(" * %s\n", FILENAME) ++ file = FILENAME ++ sub("([^/]*[/])*", "", file) ++ printf(" * %s\n", file) + printf(" */\n") + + for (i = 0; i < stackptr; i++) { +-- +2.25.1 + diff --git a/meta-webserver/recipes-httpd/apache2/apache2/0002-apache2-bump-up-the-core-size-limit-if-CoreDumpDirec.patch b/meta-webserver/recipes-httpd/apache2/apache2/0002-apache2-bump-up-the-core-size-limit-if-CoreDumpDirec.patch index 85fe6ae4bd..bbe8b325b5 100644 --- a/meta-webserver/recipes-httpd/apache2/apache2/0002-apache2-bump-up-the-core-size-limit-if-CoreDumpDirec.patch +++ b/meta-webserver/recipes-httpd/apache2/apache2/0002-apache2-bump-up-the-core-size-limit-if-CoreDumpDirec.patch @@ -1,8 +1,8 @@ -From 7df207ad4d0dcda2ad36e5642296e0dec7e13647 Mon Sep 17 00:00:00 2001 +From 5074ab3425e5f1e01fd9cfa2d9b7300ea1b3f38f Mon Sep 17 00:00:00 2001 From: Paul Eggleton <paul.eggleton@linux.intel.com> Date: Tue, 17 Jul 2012 11:27:39 +0100 -Subject: [PATCH] apache2: bump up the core size limit if CoreDumpDirectory - is configured +Subject: [PATCH] apache2: bump up the core size limit if CoreDumpDirectory is + configured Bump up the core size limit if CoreDumpDirectory is configured. @@ -11,16 +11,15 @@ Upstream-Status: Pending Note: upstreaming was discussed but there are competing desires; there are portability oddities here too. - --- server/core.c | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/server/core.c b/server/core.c -index eacb54f..7aa841f 100644 +index 090e397..3020090 100644 --- a/server/core.c +++ b/server/core.c -@@ -4965,6 +4965,25 @@ static int core_post_config(apr_pool_t *pconf, apr_pool_t *plog, apr_pool_t *pte +@@ -5107,6 +5107,25 @@ static int core_post_config(apr_pool_t *pconf, apr_pool_t *plog, apr_pool_t *pte } apr_pool_cleanup_register(pconf, NULL, ap_mpm_end_gen_helper, apr_pool_cleanup_null); @@ -47,5 +46,5 @@ index eacb54f..7aa841f 100644 } -- -2.7.4 +2.25.1 diff --git a/meta-webserver/recipes-httpd/apache2/apache2/0003-apache2-do-not-export-apr-apr-util-symbols-when-usin.patch b/meta-webserver/recipes-httpd/apache2/apache2/0003-apache2-do-not-export-apr-apr-util-symbols-when-usin.patch index 081a02baa3..adb728ba31 100644 --- a/meta-webserver/recipes-httpd/apache2/apache2/0003-apache2-do-not-export-apr-apr-util-symbols-when-usin.patch +++ b/meta-webserver/recipes-httpd/apache2/apache2/0003-apache2-do-not-export-apr-apr-util-symbols-when-usin.patch @@ -1,8 +1,8 @@ -From ddd560024a6d526187fd126f306b59533ca3f7e2 Mon Sep 17 00:00:00 2001 +From 9c03ed909b8da0e1a288f53fda535a3f15bcf791 Mon Sep 17 00:00:00 2001 From: Paul Eggleton <paul.eggleton@linux.intel.com> Date: Tue, 17 Jul 2012 11:27:39 +0100 -Subject: [PATCH] apache2: do not export apr/apr-util symbols when using - shared libapr +Subject: [PATCH] apache2: do not export apr/apr-util symbols when using shared + libapr There is no need to "suck in" the apr/apr-util symbols when using a shared libapr{,util}, it just bloats the symbol table; so don't. @@ -10,13 +10,12 @@ a shared libapr{,util}, it just bloats the symbol table; so don't. Upstream-Status: Pending Note: EXPORT_DIRS change is conditional on using shared apr - --- server/Makefile.in | 3 --- 1 file changed, 3 deletions(-) diff --git a/server/Makefile.in b/server/Makefile.in -index 1fa3344..f635d76 100644 +index 8111877..8c0c396 100644 --- a/server/Makefile.in +++ b/server/Makefile.in @@ -60,9 +60,6 @@ export_files: @@ -30,5 +29,5 @@ index 1fa3344..f635d76 100644 exports.c: export_files -- -2.7.4 +2.25.1 diff --git a/meta-webserver/recipes-httpd/apache2/apache2/0004-apache2-log-the-SELinux-context-at-startup.patch b/meta-webserver/recipes-httpd/apache2/apache2/0004-apache2-log-the-SELinux-context-at-startup.patch index 78a04d9af4..1abbe0c41f 100644 --- a/meta-webserver/recipes-httpd/apache2/apache2/0004-apache2-log-the-SELinux-context-at-startup.patch +++ b/meta-webserver/recipes-httpd/apache2/apache2/0004-apache2-log-the-SELinux-context-at-startup.patch @@ -1,4 +1,4 @@ -From dfa834ebd449df299f54e98f0fb3a7bb4008fb03 Mon Sep 17 00:00:00 2001 +From e47cc405eadcbe37a579c375e824e20a5c53bfad Mon Sep 17 00:00:00 2001 From: Paul Eggleton <paul.eggleton@linux.intel.com> Date: Tue, 17 Jul 2012 11:27:39 +0100 Subject: [PATCH] Log the SELinux context at startup. @@ -8,17 +8,16 @@ Log the SELinux context at startup. Upstream-Status: Inappropriate [other] Note: unlikely to be any interest in this upstream - --- configure.in | 5 +++++ server/core.c | 26 ++++++++++++++++++++++++++ 2 files changed, 31 insertions(+) diff --git a/configure.in b/configure.in -index dc6ea15..caa6f54 100644 +index 352711a..f58620f 100644 --- a/configure.in +++ b/configure.in -@@ -466,6 +466,11 @@ getloadavg +@@ -514,6 +514,11 @@ gettid dnl confirm that a void pointer is large enough to store a long integer APACHE_CHECK_VOID_PTR_LEN @@ -27,14 +26,14 @@ index dc6ea15..caa6f54 100644 + APR_ADDTO(AP_LIBS, [-lselinux]) +]) + - AC_CACHE_CHECK([for gettid()], ac_cv_gettid, - [AC_TRY_RUN(#define _GNU_SOURCE - #include <unistd.h> + if test $ac_cv_func_gettid = no; then + # On Linux before glibc 2.30, gettid() is only usable via syscall() + AC_CACHE_CHECK([for gettid() via syscall], ap_cv_gettid, diff --git a/server/core.c b/server/core.c -index 7aa841f..79f34db 100644 +index 30b317e..81f145f 100644 --- a/server/core.c +++ b/server/core.c -@@ -59,6 +59,10 @@ +@@ -65,6 +65,10 @@ #include <unistd.h> #endif @@ -44,8 +43,8 @@ index 7aa841f..79f34db 100644 + /* LimitRequestBody handling */ #define AP_LIMIT_REQ_BODY_UNSET ((apr_off_t) -1) - #define AP_DEFAULT_LIMIT_REQ_BODY ((apr_off_t) 0) -@@ -4984,6 +4988,28 @@ static int core_post_config(apr_pool_t *pconf, apr_pool_t *plog, apr_pool_t *pte + #define AP_DEFAULT_LIMIT_REQ_BODY ((apr_off_t) 1<<30) /* 1GB */ +@@ -5139,6 +5143,28 @@ static int core_post_config(apr_pool_t *pconf, apr_pool_t *plog, apr_pool_t *pte } #endif @@ -74,6 +73,5 @@ index 7aa841f..79f34db 100644 return OK; } --- -2.7.4 - +-- +2.40.0 diff --git a/meta-webserver/recipes-httpd/apache2/apache2/0005-replace-lynx-to-curl-in-apachectl-script.patch b/meta-webserver/recipes-httpd/apache2/apache2/0005-replace-lynx-to-curl-in-apachectl-script.patch index 47320a9ee5..7b4a1b932b 100644 --- a/meta-webserver/recipes-httpd/apache2/apache2/0005-replace-lynx-to-curl-in-apachectl-script.patch +++ b/meta-webserver/recipes-httpd/apache2/apache2/0005-replace-lynx-to-curl-in-apachectl-script.patch @@ -1,4 +1,4 @@ -From 7db1b650bb4b01a5194a34cd7573f915656a595b Mon Sep 17 00:00:00 2001 +From e59aab44a28c654e518080693d573ca472ca5a08 Mon Sep 17 00:00:00 2001 From: Yulong Pei <Yulong.pei@windriver.com> Date: Thu, 1 Sep 2011 01:03:14 +0800 Subject: [PATCH] replace lynx to curl in apachectl script @@ -48,5 +48,5 @@ index 3281c2e..6ab4ba5 100644 *) $HTTPD "$@" -- -2.7.4 +2.25.1 diff --git a/meta-webserver/recipes-httpd/apache2/apache2/0006-apache2-fix-the-race-issue-of-parallel-installation.patch b/meta-webserver/recipes-httpd/apache2/apache2/0006-apache2-fix-the-race-issue-of-parallel-installation.patch index 227d04064b..dbaf01d2c5 100644 --- a/meta-webserver/recipes-httpd/apache2/apache2/0006-apache2-fix-the-race-issue-of-parallel-installation.patch +++ b/meta-webserver/recipes-httpd/apache2/apache2/0006-apache2-fix-the-race-issue-of-parallel-installation.patch @@ -1,4 +1,4 @@ -From 4f4d7d6b88b6e440263ebeb22dfb40c52bb30fd8 Mon Sep 17 00:00:00 2001 +From fb09f1fe4525058b16b3d4edb2e3ae693154026e Mon Sep 17 00:00:00 2001 From: Zhenhua Luo <zhenhua.luo@freescale.com> Date: Fri, 25 Jan 2013 18:10:50 +0800 Subject: [PATCH] apache2: fix the race issue of parallel installation @@ -31,5 +31,5 @@ index e2d5bb6..dde5ae0 100755 pathcomp="$pathcomp/" done -- -2.7.4 +2.25.1 diff --git a/meta-webserver/recipes-httpd/apache2/apache2/0007-apache2-allow-to-disable-selinux-support.patch b/meta-webserver/recipes-httpd/apache2/apache2/0007-apache2-allow-to-disable-selinux-support.patch index fed6b5010b..7163dc2b80 100644 --- a/meta-webserver/recipes-httpd/apache2/apache2/0007-apache2-allow-to-disable-selinux-support.patch +++ b/meta-webserver/recipes-httpd/apache2/apache2/0007-apache2-allow-to-disable-selinux-support.patch @@ -1,4 +1,4 @@ -From 964ef2c1af74984602f46e7db938d3b95b148385 Mon Sep 17 00:00:00 2001 +From 0686564f64130f230870db8b4846973e3edbd646 Mon Sep 17 00:00:00 2001 From: Wenzong Fan <wenzong.fan@windriver.com> Date: Mon, 1 Dec 2014 02:08:27 -0500 Subject: [PATCH] apache2: allow to disable selinux support @@ -11,10 +11,10 @@ Signed-off-by: Wenzong Fan <wenzong.fan@windriver.com> 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/configure.in b/configure.in -index caa6f54..eab2090 100644 +index f58620f..b5971b7 100644 --- a/configure.in +++ b/configure.in -@@ -466,10 +466,16 @@ getloadavg +@@ -514,10 +514,16 @@ gettid dnl confirm that a void pointer is large enough to store a long integer APACHE_CHECK_VOID_PTR_LEN @@ -33,8 +33,8 @@ index caa6f54..eab2090 100644 + ]) +fi - AC_CACHE_CHECK([for gettid()], ac_cv_gettid, - [AC_TRY_RUN(#define _GNU_SOURCE + if test $ac_cv_func_gettid = no; then + # On Linux before glibc 2.30, gettid() is only usable via syscall() -- -2.7.4 +2.40.0 diff --git a/meta-webserver/recipes-httpd/apache2/apache2/apache-configure_perlbin.patch b/meta-webserver/recipes-httpd/apache2/apache2/0008-Fix-perl-install-directory-to-usr-bin.patch index 61669e3641..dc5b5c88f2 100644 --- a/meta-webserver/recipes-httpd/apache2/apache2/apache-configure_perlbin.patch +++ b/meta-webserver/recipes-httpd/apache2/apache2/0008-Fix-perl-install-directory-to-usr-bin.patch @@ -1,4 +1,4 @@ -From 5412077c398dec74321388fe6e593a44c4c80de6 Mon Sep 17 00:00:00 2001 +From 443d15b91d4e4979d92405610303797663f31102 Mon Sep 17 00:00:00 2001 From: echo <fei.geng@windriver.com> Date: Tue, 28 Apr 2009 03:11:06 +0000 Subject: [PATCH] Fix perl install directory to /usr/bin @@ -11,16 +11,15 @@ error: bad interpreter: No such file or directory Signed-off-by: Changqing Li <changqing.li@windriver.com> - --- configure.in | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/configure.in b/configure.in -index d828512..be7bd25 100644 +index 4df3ff3..4eeb609 100644 --- a/configure.in +++ b/configure.in -@@ -855,10 +855,7 @@ AC_DEFINE_UNQUOTED(SERVER_CONFIG_FILE, "${rel_sysconfdir}/${progname}.conf", +@@ -903,10 +903,7 @@ AC_DEFINE_UNQUOTED(SERVER_CONFIG_FILE, "${rel_sysconfdir}/${progname}.conf", AC_DEFINE_UNQUOTED(AP_TYPES_CONFIG_FILE, "${rel_sysconfdir}/mime.types", [Location of the MIME types config file, relative to the Apache root directory]) @@ -32,3 +31,6 @@ index d828512..be7bd25 100644 AC_SUBST(perlbin) dnl If we are running on BSD/OS, we need to use the BSD .include syntax. +-- +2.25.1 + diff --git a/meta-webserver/recipes-httpd/apache2/apache2/0009-support-apxs.in-force-destdir-to-be-empty-string.patch b/meta-webserver/recipes-httpd/apache2/apache2/0009-support-apxs.in-force-destdir-to-be-empty-string.patch new file mode 100644 index 0000000000..d1f9bb0f43 --- /dev/null +++ b/meta-webserver/recipes-httpd/apache2/apache2/0009-support-apxs.in-force-destdir-to-be-empty-string.patch @@ -0,0 +1,49 @@ +From 43a4ad04e0d8771267a73f98b5918bcd10b167ec Mon Sep 17 00:00:00 2001 +From: Trevor Gamblin <trevor.gamblin@windriver.com> +Date: Fri, 17 Apr 2020 06:31:35 -0700 +Subject: [PATCH] support/apxs.in: force destdir to be empty string + +If destdir is assigned to anything other than the empty string, the +search path for apache2 config files is appended to itself, and +related packages like apache-websocket will be unable to locate them: + +| cannot open +/ala-lpggp31/tgamblin/yocto/poky.git/build/tmp/work/core2-64-poky-linux/apache-websocket/0.1.1+gitAUTOINC+6968083264-r0/recipe-sysroot/ala-lpggp31/tgamblin/yocto/poky.git/build/tmp/work/core2-64-poky-linux/apache-websocket/0.1.1+gitAUTOINC+6968083264-r0/recipe-sysroot//usr/share/apache2/build/config_vars.mk: +No such file or directory at +/ala-lpggp31/tgamblin/yocto/poky.git/build/tmp/work/core2-64-poky-linux/apache-websocket/0.1.1+gitAUTOINC+6968083264-r0/recipe-sysroot/usr/bin/crossscripts/apxs +line 213. + +Ensure that it is always the empty string so that apache-websocket +is able to find the required config files. + +Upstream-Status: Inappropriate (embedded-specific) + +Signed-off-by: Trevor Gamblin <trevor.gamblin@windriver.com> +--- + support/apxs.in | 10 ++++++---- + 1 file changed, 6 insertions(+), 4 deletions(-) + +diff --git a/support/apxs.in b/support/apxs.in +index b2705fa..781f2ab 100644 +--- a/support/apxs.in ++++ b/support/apxs.in +@@ -28,10 +28,12 @@ package apxs; + # is the empty string. + + my $destdir = ""; +-my $ddi = rindex($0, "@exp_bindir@"); +-if ($ddi >= 0) { +- $destdir = substr($0, 0, $ddi); +-} ++# Comment out assignment of destdir so that it doesn't affect bitbake ++# cross-compilation setup ++#my $ddi = rindex($0, "@exp_bindir@"); ++#if ($ddi >= 0) { ++# $destdir = substr($0, 0, $ddi); ++#} + + my %config_vars = (); + +-- +2.25.1 + diff --git a/meta-webserver/recipes-httpd/apache2/apache2/0008-apache2-do-not-use-relative-path-for-gen_test_char.patch b/meta-webserver/recipes-httpd/apache2/apache2/0010-apache2-do-not-use-relative-path-for-gen_test_char.patch index 82e9e8c35f..ced8469f3a 100644 --- a/meta-webserver/recipes-httpd/apache2/apache2/0008-apache2-do-not-use-relative-path-for-gen_test_char.patch +++ b/meta-webserver/recipes-httpd/apache2/apache2/0010-apache2-do-not-use-relative-path-for-gen_test_char.patch @@ -1,16 +1,15 @@ -From b62c4cd2295c98b2ebe12641e5f01590bd96ae94 Mon Sep 17 00:00:00 2001 +From d9993cbc33565c0acd29b0127d651dafa2a16975 Mon Sep 17 00:00:00 2001 From: Paul Eggleton <paul.eggleton@linux.intel.com> Date: Tue, 17 Jul 2012 11:27:39 +0100 Subject: [PATCH] apache2: do not use relative path for gen_test_char Upstream-Status: Inappropriate [embedded specific] - --- server/Makefile.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/server/Makefile.in b/server/Makefile.in -index f635d76..0d48924 100644 +index 8c0c396..3544f55 100644 --- a/server/Makefile.in +++ b/server/Makefile.in @@ -29,7 +29,7 @@ gen_test_char: $(gen_test_char_OBJECTS) @@ -23,5 +22,5 @@ index f635d76..0d48924 100644 util.lo: test_char.h -- -2.7.4 +2.25.1 diff --git a/meta-webserver/recipes-httpd/apache2/apache2_2.4.41.bb b/meta-webserver/recipes-httpd/apache2/apache2_2.4.59.bb index a34734c207..1632c6ccb1 100644 --- a/meta-webserver/recipes-httpd/apache2/apache2_2.4.41.bb +++ b/meta-webserver/recipes-httpd/apache2/apache2_2.4.59.bb @@ -13,28 +13,29 @@ SRC_URI = "${APACHE_MIRROR}/httpd/httpd-${PV}.tar.bz2 \ file://0005-replace-lynx-to-curl-in-apachectl-script.patch \ file://0006-apache2-fix-the-race-issue-of-parallel-installation.patch \ file://0007-apache2-allow-to-disable-selinux-support.patch \ - file://apache-configure_perlbin.patch \ + file://0008-Fix-perl-install-directory-to-usr-bin.patch \ + file://0009-support-apxs.in-force-destdir-to-be-empty-string.patch \ + file://0001-make_exports.awk-not-expose-the-path.patch \ " -SRC_URI_append_class-target = " \ - file://0008-apache2-do-not-use-relative-path-for-gen_test_char.patch \ +SRC_URI:append:class-target = " \ + file://0010-apache2-do-not-use-relative-path-for-gen_test_char.patch \ file://init \ file://apache2-volatile.conf \ file://apache2.service \ file://volatiles.04_apache2 \ " -LIC_FILES_CHKSUM = "file://LICENSE;md5=d52d0fd0bc788f068e647116c01ddfcd" -SRC_URI[md5sum] = "dfc674f8f454e3bc2d4ccd73ad3b5f1e" -SRC_URI[sha256sum] = "133d48298fe5315ae9366a0ec66282fa4040efa5d566174481077ade7d18ea40" +LIC_FILES_CHKSUM = "file://LICENSE;md5=bddeddfac80b2c9a882241d008bb41c3" +SRC_URI[sha256sum] = "ec51501ec480284ff52f637258135d333230a7d229c3afa6f6c2f9040e321323" S = "${WORKDIR}/httpd-${PV}" -inherit autotools update-rc.d pkgconfig systemd update-alternatives +inherit autotools update-rc.d pkgconfig systemd multilib_script multilib_header DEPENDS = "openssl expat pcre apr apr-util apache2-native " -CVE_PRODUCT = "http_server" +CVE_PRODUCT = "apache:http_server" SSTATE_SCAN_FILES += "apxs config_vars.mk config.nice" @@ -43,9 +44,9 @@ PACKAGECONFIG[selinux] = "--enable-selinux,--disable-selinux,libselinux,libselin PACKAGECONFIG[openldap] = "--enable-ldap --enable-authnz-ldap,--disable-ldap --disable-authnz-ldap,openldap" PACKAGECONFIG[zlib] = "--enable-deflate,,zlib,zlib" -CFLAGS_append = " -DPATH_MAX=4096" +CFLAGS:append = " -DPATH_MAX=4096" -EXTRA_OECONF_class-target = "\ +EXTRA_OECONF:class-target = "\ --enable-layout=Debian \ --prefix=${base_prefix} \ --exec_prefix=${exec_prefix} \ @@ -62,12 +63,13 @@ EXTRA_OECONF_class-target = "\ --with-berkeley-db=no \ --enable-info \ --enable-rewrite \ + --with-mpm=prefork \ --enable-mpms-shared \ ap_cv_void_ptr_lt_long=no \ ac_cv_have_threadsafe_pollset=no \ " -EXTRA_OECONF_class-native = "\ +EXTRA_OECONF:class-native = "\ --prefix=${prefix} \ --includedir=${includedir}/${BPN} \ --sysconfdir=${sysconfdir}/${BPN} \ @@ -77,14 +79,16 @@ EXTRA_OECONF_class-native = "\ --localstatedir=${localstatedir} \ " -do_configure_prepend() { - sed -i -e 's:$''{prefix}/usr/lib/cgi-bin:$''{libexecdir}/cgi-bin:g' ${S}/config.layout +do_configure:prepend() { + sed -i -e 's:$''{prefix}/usr/lib/cgi-bin:$''{libexecdir}/cgi-bin:g' \ + -e 's#\(installbuilddir:\s*\).*#\1${libexecdir}/${PN}/build#' \ + ${S}/config.layout } -do_install_append_class-target() { +do_install:append:class-target() { install -d ${D}/${sysconfdir}/init.d - cat ${WORKDIR}/init | \ + cat ${UNPACKDIR}/init | \ sed -e 's,/usr/sbin/,${sbindir}/,g' \ -e 's,/usr/bin/,${bindir}/,g' \ -e 's,/usr/lib/,${libdir}/,g' \ @@ -114,80 +118,98 @@ do_install_append_class-target() { sed -i -e 's,${STAGING_DIR_TARGET},,g' \ -e 's,${DEBUG_PREFIX_MAP},,g' \ - -e 's,-fdebug-prefix-map[^ ]*,,g; s,-fmacro-prefix-map[^ ]*,,g' \ + -e 's,-fdebug-prefix-map[^ ]*,,g; s,-fmacro-prefix-map[^ ]*,,g; s,-ffile-prefix-map[^ ]*,,g' \ -e 's,${HOSTTOOLS_DIR}/,,g' \ -e 's,APU_INCLUDEDIR = .*,APU_INCLUDEDIR = ,g' \ - -e 's,APU_CONFIG = .*,APU_CONFIG = ,g' ${D}${datadir}/apache2/build/config_vars.mk + -e 's,APU_CONFIG = .*,APU_CONFIG = ,g' ${D}${libexecdir}/${PN}/build/config_vars.mk sed -i -e 's,--sysroot=${STAGING_DIR_TARGET},,g' \ -e 's,${DEBUG_PREFIX_MAP},,g' \ -e 's,${RECIPE_SYSROOT},,g' \ - -e 's,-fdebug-prefix-map[^ ]*,,g; s,-fmacro-prefix-map[^ ]*,,g' \ + -e 's,-fdebug-prefix-map[^ ]*,,g; s,-fmacro-prefix-map[^ ]*,,g; s,-fmacro-prefix-map[^ ]*,,g' \ -e 's,APU_INCLUDEDIR = .*,APU_INCLUDEDIR = ,g' \ - -e 's,".*/configure","configure",g' ${D}${datadir}/apache2/build/config.nice + -e 's,${WORKDIR}/recipe-sysroot/,,g' \ + -e 's,".*/configure","configure",g' ${D}${libexecdir}/${PN}/build/config.nice if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then install -d ${D}${sysconfdir}/tmpfiles.d/ - install -m 0644 ${WORKDIR}/apache2-volatile.conf ${D}${sysconfdir}/tmpfiles.d/ + install -m 0644 ${UNPACKDIR}/apache2-volatile.conf ${D}${sysconfdir}/tmpfiles.d/ install -d ${D}${systemd_unitdir}/system - install -m 0644 ${WORKDIR}/apache2.service ${D}${systemd_unitdir}/system + install -m 0644 ${UNPACKDIR}/apache2.service ${D}${systemd_unitdir}/system sed -i -e 's,@SBINDIR@,${sbindir},g' ${D}${systemd_unitdir}/system/apache2.service sed -i -e 's,@BASE_BINDIR@,${base_bindir},g' ${D}${systemd_unitdir}/system/apache2.service elif ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then install -d ${D}${sysconfdir}/default/volatiles - install -m 0644 ${WORKDIR}/volatiles.04_apache2 ${D}${sysconfdir}/default/volatiles/04_apache2 + install -m 0644 ${UNPACKDIR}/volatiles.04_apache2 ${D}${sysconfdir}/default/volatiles/04_apache2 fi rm -rf ${D}${localstatedir} ${D}${sbindir}/envvars* chown -R root:root ${D} + + oe_multilib_header apache2/ap_config_layout.h } -do_install_append_class-native() { +do_install:append:class-native() { install -d ${D}${bindir} ${D}${libdir} install -m 755 server/gen_test_char ${D}${bindir} } -SYSROOT_PREPROCESS_FUNCS_append_class-target = " apache_sysroot_preprocess" +SYSROOT_PREPROCESS_FUNCS:append:class-target = " apache_sysroot_preprocess" + +SYSROOT_DIRS += "${libexecdir}/${PN}/build" apache_sysroot_preprocess() { install -d ${SYSROOT_DESTDIR}${bindir_crossscripts} install -m 755 ${D}${bindir}/apxs ${SYSROOT_DESTDIR}${bindir_crossscripts} install -d ${SYSROOT_DESTDIR}${sbindir} install -m 755 ${D}${sbindir}/apachectl ${SYSROOT_DESTDIR}${sbindir} - sed -i 's!my $installbuilddir = .*!my $installbuilddir = "${STAGING_DIR_HOST}/${datadir}/${BPN}/build";!' ${SYSROOT_DESTDIR}${bindir_crossscripts}/apxs - sed -i 's!my $libtool = .*!my $libtool = "${STAGING_BINDIR_CROSS}/${HOST_SYS}-libtool";!' ${SYSROOT_DESTDIR}${bindir_crossscripts}/apxs - - sed -i 's!^APR_CONFIG = .*!APR_CONFIG = ${STAGING_BINDIR_CROSS}/apr-1-config!' ${SYSROOT_DESTDIR}${datadir}/${BPN}/build/config_vars.mk - sed -i 's!^APU_CONFIG = .*!APU_CONFIG = ${STAGING_BINDIR_CROSS}/apu-1-config!' ${SYSROOT_DESTDIR}${datadir}/${BPN}/build/config_vars.mk - sed -i 's!^includedir = .*!includedir = ${STAGING_INCDIR}/apache2!' ${SYSROOT_DESTDIR}${datadir}/${BPN}/build/config_vars.mk - sed -i 's!^CFLAGS = -I[^ ]*!CFLAGS = -I${STAGING_INCDIR}/openssl!' ${SYSROOT_DESTDIR}${datadir}/${BPN}/build/config_vars.mk - sed -i 's!^EXTRA_LDFLAGS = .*!EXTRA_LDFLAGS = -L${STAGING_LIBDIR}!' ${SYSROOT_DESTDIR}${datadir}/${BPN}/build/config_vars.mk - sed -i 's!^EXTRA_INCLUDES = .*!EXTRA_INCLUDES = -I$(includedir) -I. -I${STAGING_INCDIR}!' ${SYSROOT_DESTDIR}${datadir}/${BPN}/build/config_vars.mk - sed -i 's!--sysroot=[^ ]*!--sysroot=${STAGING_DIR_HOST}!' ${SYSROOT_DESTDIR}${datadir}/${BPN}/build/config_vars.mk + sed -i 's!\(my $installbuilddir = \)"\(.*\)"!\1"${STAGING_DIR_HOST}\2"!' ${SYSROOT_DESTDIR}${bindir_crossscripts}/apxs + + sed -i 's!^APR_CONFIG = .*!APR_CONFIG = ${STAGING_BINDIR_CROSS}/apr-1-config!' ${SYSROOT_DESTDIR}${libexecdir}/${PN}/build/config_vars.mk + sed -i 's!^APU_CONFIG = .*!APU_CONFIG = ${STAGING_BINDIR_CROSS}/apu-1-config!' ${SYSROOT_DESTDIR}${libexecdir}/${PN}/build/config_vars.mk + sed -i 's!^includedir = .*!includedir = ${STAGING_INCDIR}/apache2!' ${SYSROOT_DESTDIR}${libexecdir}/${PN}/build/config_vars.mk + sed -i 's!^CFLAGS = -I[^ ]*!CFLAGS = -I${STAGING_INCDIR}/openssl!' ${SYSROOT_DESTDIR}${libexecdir}/${PN}/build/config_vars.mk + sed -i 's!^EXTRA_LDFLAGS = .*!EXTRA_LDFLAGS = -L${STAGING_LIBDIR}!' ${SYSROOT_DESTDIR}${libexecdir}/${PN}/build/config_vars.mk + sed -i 's!^EXTRA_INCLUDES = .*!EXTRA_INCLUDES = -I$(includedir) -I. -I${STAGING_INCDIR}!' ${SYSROOT_DESTDIR}${libexecdir}/${PN}/build/config_vars.mk + sed -i 's!--sysroot=[^ ]*!--sysroot=${STAGING_DIR_HOST}!' ${SYSROOT_DESTDIR}${libexecdir}/${PN}/build/config_vars.mk } # Implications - used by update-rc.d scripts INITSCRIPT_NAME = "apache2" INITSCRIPT_PARAMS = "defaults 91 20" -SYSTEMD_SERVICE_${PN} = "apache2.service" -SYSTEMD_AUTO_ENABLE_${PN} = "enable" +SYSTEMD_SERVICE:${PN} = "apache2.service" +SYSTEMD_AUTO_ENABLE:${PN} = "enable" -ALTERNATIVE_${PN}-doc = "htpasswd.1" +ALTERNATIVE:${PN}-doc = "htpasswd.1" ALTERNATIVE_LINK_NAME[htpasswd.1] = "${mandir}/man1/htpasswd.1" -PACKAGES = "${PN}-scripts ${PN}-doc ${PN}-dev ${PN}-dbg ${PN}" +MULTILIB_SCRIPTS = "${PN}-dev:${bindir}/apxs" -CONFFILES_${PN} = "${sysconfdir}/${BPN}/httpd.conf \ +PACKAGES = "${PN}-utils ${PN}-scripts ${PN}-doc ${PN}-dev ${PN}-dbg ${PN}" + +CONFFILES:${PN} = "${sysconfdir}/${BPN}/httpd.conf \ ${sysconfdir}/${BPN}/magic \ ${sysconfdir}/${BPN}/mime.types \ ${sysconfdir}/${BPN}/extra/*" +FILES:${PN}-utils = "${bindir}/ab \ + ${bindir}/htdbm \ + ${bindir}/htdigest \ + ${bindir}/htpasswd \ + ${bindir}/logresolve \ + ${bindir}/httxt2dbm \ + ${sbindir}/htcacheclean \ + ${sbindir}/fcgistarter \ + ${sbindir}/checkgid \ + ${sbindir}/rotatelogs \ + " + # We override here rather than append so that .so links are # included in the runtime package rather than here (-dev) # and to get build, icons, error into the -dev package -FILES_${PN}-dev = "${datadir}/${BPN}/build \ +FILES:${PN}-dev = "${libexecdir}/${PN}/build \ ${datadir}/${BPN}/icons \ ${datadir}/${BPN}/error \ ${includedir}/${BPN} \ @@ -195,21 +217,31 @@ FILES_${PN}-dev = "${datadir}/${BPN}/build \ " # Add the manual to -doc -FILES_${PN}-doc += " ${datadir}/${BPN}/manual" +FILES:${PN}-doc += " ${datadir}/${BPN}/manual" -FILES_${PN}-scripts += "${bindir}/dbmmanage" +FILES:${PN}-scripts += "${bindir}/dbmmanage" # Override this too - here is the default, less datadir -FILES_${PN} = "${bindir} ${sbindir} ${libexecdir} ${libdir} \ +FILES:${PN} = "${bindir} ${sbindir} ${libexecdir} ${libdir} \ ${sysconfdir} ${libdir}/${BPN}" # We want htdocs and cgi-bin to go with the binary -FILES_${PN} += "${datadir}/${BPN}/ ${libdir}/cgi-bin" +FILES:${PN} += "${datadir}/${BPN}/ ${libdir}/cgi-bin" -FILES_${PN}-dbg += "${libdir}/${BPN}/modules/.debug" +FILES:${PN}-dbg += "${libdir}/${BPN}/modules/.debug" -RDEPENDS_${PN} += "openssl libgcc" -RDEPENDS_${PN}-scripts += "perl ${PN}" -RDEPENDS_${PN}-dev = "perl" +RDEPENDS:${PN} += "openssl libgcc ${PN}-utils" +RDEPENDS:${PN}-scripts += "perl ${PN}" +RDEPENDS:${PN}-dev = "perl" BBCLASSEXTEND = "native" + +pkg_postinst:${PN}() { + if [ -z "$D" ]; then + if type systemd-tmpfiles >/dev/null; then + systemd-tmpfiles --create + elif [ -e ${sysconfdir}/init.d/populate-volatile.sh ]; then + ${sysconfdir}/init.d/populate-volatile.sh update + fi + fi +} diff --git a/meta-webserver/recipes-httpd/apache2/files/apache2-volatile.conf b/meta-webserver/recipes-httpd/apache2/files/apache2-volatile.conf index ff2c587046..0852a8859a 100644 --- a/meta-webserver/recipes-httpd/apache2/files/apache2-volatile.conf +++ b/meta-webserver/recipes-httpd/apache2/files/apache2-volatile.conf @@ -1,2 +1,2 @@ -d /var/run/apache2 0755 root root - +d /run/apache2 0755 root root - d /var/log/apache2 0755 root root - diff --git a/meta-webserver/recipes-httpd/cherokee/cherokee/0001-common-internal.h-Define-LLONG_MAX-if-undefined.patch b/meta-webserver/recipes-httpd/cherokee/cherokee/0001-common-internal.h-Define-LLONG_MAX-if-undefined.patch new file mode 100644 index 0000000000..0f43842752 --- /dev/null +++ b/meta-webserver/recipes-httpd/cherokee/cherokee/0001-common-internal.h-Define-LLONG_MAX-if-undefined.patch @@ -0,0 +1,47 @@ +From c73415021f3f3b2b30062ab74b25fe49c51c2242 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Sun, 10 Nov 2019 15:59:44 -0800 +Subject: [PATCH] common-internal.h: Define LLONG_MAX if undefined + +time_t can also be long long type, therefore check for that as fallback +Fixes build on 32bit hosts where time_t is fixed for Y2K38 + +Upstream-Status: Pending +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + cherokee/common-internal.h | 12 ++++++++++++ + 1 file changed, 12 insertions(+) + +diff --git a/cherokee/common-internal.h b/cherokee/common-internal.h +index 5c28da97..5646ec0f 100644 +--- a/cherokee/common-internal.h ++++ b/cherokee/common-internal.h +@@ -222,6 +222,16 @@ char *strcasestr(char *s, char *find); + # endif + #endif + ++/* Long Long limit ++ */ ++#ifndef LLONG_MAX ++# if (__SIZEOF_LONG_LONG__ == 8) ++# define LLONG_MAX 0x7fffffffffffffffLL ++# else ++# error "Can't define LLONG_MAX" ++# endif ++#endif ++ + /* time_t limit + */ + #ifndef TIME_MAX +@@ -229,6 +239,8 @@ char *strcasestr(char *s, char *find); + # define TIME_MAX ((time_t)INT_MAX) + # elif (SIZEOF_TIME_T == SIZEOF_LONG) + # define TIME_MAX ((time_t)LONG_MAX) ++# elif (SIZEOF_TIME_T == __SIZEOF_LONG_LONG__) ++# define TIME_MAX ((time_t)LLONG_MAX) + # else + # error "Can't define TIME_MAX" + # endif +-- +2.24.0 + diff --git a/meta-webserver/recipes-httpd/cherokee/cherokee/0001-configure.ac-Add-foreign-to-AM_INIT_AUTOMAKE.patch b/meta-webserver/recipes-httpd/cherokee/cherokee/0001-configure.ac-Add-foreign-to-AM_INIT_AUTOMAKE.patch index f3be7c6e52..b16060f2a1 100644 --- a/meta-webserver/recipes-httpd/cherokee/cherokee/0001-configure.ac-Add-foreign-to-AM_INIT_AUTOMAKE.patch +++ b/meta-webserver/recipes-httpd/cherokee/cherokee/0001-configure.ac-Add-foreign-to-AM_INIT_AUTOMAKE.patch @@ -7,6 +7,7 @@ Fixes errors like | Makefile.am: error: required file './README' not found | Makefile.am: error: required file './ChangeLog' not found +Upstream-Status: Pending Signed-off-by: Khem Raj <raj.khem@gmail.com> --- configure.ac | 2 +- diff --git a/meta-webserver/recipes-httpd/cherokee/cherokee/0001-make-Do-not-build-po-files.patch b/meta-webserver/recipes-httpd/cherokee/cherokee/0001-make-Do-not-build-po-files.patch index d4c0b6e8c6..1d6a2182bd 100644 --- a/meta-webserver/recipes-httpd/cherokee/cherokee/0001-make-Do-not-build-po-files.patch +++ b/meta-webserver/recipes-httpd/cherokee/cherokee/0001-make-Do-not-build-po-files.patch @@ -5,6 +5,7 @@ Subject: [PATCH] make: Do not build po files Target fails to build +Upstream-Status: Inappropriate [Cross-compile specific] Signed-off-by: Khem Raj <raj.khem@gmail.com> --- Makefile.am | 2 +- diff --git a/meta-webserver/recipes-httpd/cherokee/cherokee_git.bb b/meta-webserver/recipes-httpd/cherokee/cherokee_git.bb index 3f7eae4c16..53d6a85ae7 100644 --- a/meta-webserver/recipes-httpd/cherokee/cherokee_git.bb +++ b/meta-webserver/recipes-httpd/cherokee/cherokee_git.bb @@ -1,25 +1,26 @@ SUMMARY = "Cherokee Web Server fast and secure" -SUMMARY_cget = "Small downloader based in the Cherokee client library" +SUMMARY:cget = "Small downloader based in the Cherokee client library" HOMEPAGE = "http://www.cherokee-project.com/" SECTION = "network" -LICENSE = "GPLv2" +LICENSE = "GPL-2.0-only" LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f" DEPENDS = "unzip-native libpcre openssl mysql5 ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)}" -SRCREV = "75f041e2255e6dd0692db2f14611c2647dbe8425" -PV = "1.2.104+git${SRCPV}" -SRC_URI = "git://github.com/cherokee/webserver \ +SRCREV = "9a75e65b876bcc376cb6b379dca1f7ce4a055c59" +PV = "1.2.104+git" +SRC_URI = "git://github.com/cherokee/webserver;branch=master;protocol=https \ file://cherokee.init \ file://cherokee.service \ file://cherokee-install-configured.py-once.patch \ file://0001-configure.ac-Add-foreign-to-AM_INIT_AUTOMAKE.patch \ file://0001-make-Do-not-build-po-files.patch \ + file://0001-common-internal.h-Define-LLONG_MAX-if-undefined.patch \ " S = "${WORKDIR}/git" -inherit autotools-brokensep pkgconfig binconfig update-rc.d systemd pythonnative +inherit autotools-brokensep pkgconfig binconfig update-rc.d systemd ${@bb.utils.contains("BBFILE_COLLECTIONS", "meta-python2", "pythonnative", "", d)} PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)}" PACKAGECONFIG[ffmpeg] = "--with-ffmpeg,--without-ffmpeg,libav" @@ -33,15 +34,15 @@ EXTRA_OECONF = "--disable-static \ --with-wwwroot=${localstatedir}/www/cherokee \ " -do_install_append () { +do_install:append () { install -m 0755 -d ${D}${sysconfdir}/init.d - install -m 755 ${WORKDIR}/cherokee.init ${D}${sysconfdir}/init.d/cherokee + install -m 755 ${UNPACKDIR}/cherokee.init ${D}${sysconfdir}/init.d/cherokee # clean up .la files for plugins rm -f ${D}${libdir}/cherokee/*.la install -d ${D}${systemd_unitdir}/system - install -m 0644 ${WORKDIR}/cherokee.service ${D}${systemd_unitdir}/system + install -m 0644 ${UNPACKDIR}/cherokee.service ${D}${systemd_unitdir}/system rmdir "${D}${localstatedir}/run" rmdir --ignore-fail-on-non-empty "${D}${localstatedir}" } @@ -49,15 +50,15 @@ do_install_append () { # Put -dev near the front so we can move the .la files into it with a wildcard PACKAGES =+ "libcherokee-server libcherokee-client libcherokee-base cget" -FILES_cget = "${bindir}/cget" -FILES_libcherokee-server = "${libdir}/libcherokee-server${SOLIBS}" -FILES_libcherokee-client = "${libdir}/libcherokee-client${SOLIBS}" -FILES_libcherokee-base = "${libdir}/libcherokee-base${SOLIBS}" +FILES:cget = "${bindir}/cget" +FILES:libcherokee-server = "${libdir}/libcherokee-server${SOLIBS}" +FILES:libcherokee-client = "${libdir}/libcherokee-client${SOLIBS}" +FILES:libcherokee-base = "${libdir}/libcherokee-base${SOLIBS}" # Pack the htdocs -FILES_${PN} += "${localstatedir}/www/cherokee" +FILES:${PN} += "${localstatedir}/www/cherokee" -CONFFILES_${PN} = " \ +CONFFILES:${PN} = " \ ${sysconfdir}/cherokee/cherokee.conf \ ${sysconfdir}/init.d/cherokee \ " @@ -65,7 +66,14 @@ CONFFILES_${PN} = " \ INITSCRIPT_NAME = "cherokee" INITSCRIPT_PARAMS = "defaults 91 91" -RPROVIDES_${PN} += "${PN}-systemd" -RREPLACES_${PN} += "${PN}-systemd" -RCONFLICTS_${PN} += "${PN}-systemd" -SYSTEMD_SERVICE_${PN} = "cherokee.service" +RPROVIDES:${PN} += "${PN}-systemd" +RREPLACES:${PN} += "${PN}-systemd" +RCONFLICTS:${PN} += "${PN}-systemd" +SYSTEMD_SERVICE:${PN} = "cherokee.service" + +python() { + if 'meta-python2' not in d.getVar('BBFILE_COLLECTIONS').split(): + raise bb.parse.SkipRecipe('Requires meta-python2 to be present.') +} + +CVE_PRODUCT += "cherokee_web_server" diff --git a/meta-webserver/recipes-httpd/hiawatha/hiawatha_10.7.bb b/meta-webserver/recipes-httpd/hiawatha/hiawatha_10.12.bb index d6c449b5db..1111ef6f56 100644 --- a/meta-webserver/recipes-httpd/hiawatha/hiawatha_10.7.bb +++ b/meta-webserver/recipes-httpd/hiawatha/hiawatha_10.12.bb @@ -1,22 +1,22 @@ SUMMARY = "Lightweight secure web server" HOMEPAGE = "http://www.hiawatha-webserver.org" -LICENSE = "GPLv2" +LICENSE = "GPL-2.0-only" LIC_FILES_CHKSUM = "file://LICENSE;md5=751419260aa954499f7abaabaa882bbe" DEPENDS = "libxml2 libxslt virtual/crypt" SECTION = "net" -SRC_URI = "http://hiawatha-webserver.org/files/${BP}.tar.gz \ +SRC_URI = "http://hiawatha-webserver.org/files/hiawatha-10/${BP}.tar.gz \ file://hiawatha-init \ file://hiawatha.service " -SRC_URI[md5sum] = "581aa71c831172ba06910deda717302f" -SRC_URI[sha256sum] = "363e99d84a85dafbb74bcc30b3e30286053ec2abbc7afe08cd87193611735f74" +SRC_URI[md5sum] = "d9e282be06ed456207726b7ac0df9d48" +SRC_URI[sha256sum] = "61bf41146c51244769984135529fcffd0f6cb92be18dc12d460effc42f19f50d" INITSCRIPT_NAME = "hiawatha" INITSCRIPT_PARAMS = "defaults 70" -SYSTEMD_SERVICE_${PN} = "hiawatha.service" +SYSTEMD_SERVICE:${PN} = "hiawatha.service" inherit cmake update-rc.d systemd @@ -35,11 +35,11 @@ EXTRA_OECMAKE = " -DENABLE_IPV6=OFF \ -DCMAKE_INSTALL_LIBDIR=${libdir} \ -DCMAKE_INSTALL_FULL_LOCALSTATEDIR=${localstatedir}" -do_install_append() { +do_install:append() { # Copy over init script and sed in the correct sbin path - sed -i 's,sed_sbin_path,${sbindir},' ${WORKDIR}/hiawatha-init + sed -i 's,sed_sbin_path,${sbindir},' ${UNPACKDIR}/hiawatha-init mkdir -p ${D}${sysconfdir}/init.d - install -m 0755 ${WORKDIR}/hiawatha-init ${D}${sysconfdir}/init.d/hiawatha + install -m 0755 ${UNPACKDIR}/hiawatha-init ${D}${sysconfdir}/init.d/hiawatha # configure php-fcgi to have a working configuration # by default if php is installed @@ -47,13 +47,29 @@ do_install_append() { if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then install -d ${D}/${systemd_unitdir}/system - install -m 644 ${WORKDIR}/hiawatha.service ${D}/${systemd_unitdir}/system + install -m 644 ${UNPACKDIR}/hiawatha.service ${D}/${systemd_unitdir}/system + fi + + # /var/log/hiawatha and /var/lib/hiawatha needs to be created in runtime. + # Use rmdir to catch if upstream stops creating these dirs, or adds + # something else in /var/log. + rmdir ${D}${localstatedir}/log/${BPN} ${D}${localstatedir}/log + rmdir ${D}${localstatedir}/run + rmdir --ignore-fail-on-non-empty ${D}${localstatedir} + + # Create /var/log/hiawatha at runtime. + if [ "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}" ]; then + install -d ${D}${nonarch_libdir}/tmpfiles.d + echo "d ${localstatedir}/log/${BPN} - - - -" > ${D}${nonarch_libdir}/tmpfiles.d/${BPN}.conf + fi + if [ "${@bb.utils.filter('DISTRO_FEATURES', 'sysvinit', d)}" ]; then + install -d ${D}${sysconfdir}/default/volatiles + echo "d root root 0755 ${localstatedir}/log/${BPN} none" > ${D}${sysconfdir}/default/volatiles/99_${BPN} fi - rmdir --ignore-fail-on-non-empty "${D}${localstatedir}" "${D}${localstatedir}/run" } -CONFFILES_${PN} = " \ +CONFFILES:${PN} = " \ ${sysconfdir}/hiawatha/cgi-wrapper.conf \ ${sysconfdir}/hiawatha/hiawatha.conf \ ${sysconfdir}/hiawatha/index.xslt \ @@ -61,4 +77,5 @@ CONFFILES_${PN} = " \ ${sysconfdir}/hiawatha/php-fcgi.conf \ " -FILES_${PN}-dev = "${libdir}/hiawatha/*${SOLIBSDEV}" +FILES:${PN} += "${nonarch_libdir}/tmpfiles.d" +FILES:${PN}-dev = "${libdir}/hiawatha/*${SOLIBSDEV}" diff --git a/meta-webserver/recipes-httpd/monkey/files/0001-configure-Respect-LIBS-variable-from-env.patch b/meta-webserver/recipes-httpd/monkey/files/0001-configure-Respect-LIBS-variable-from-env.patch deleted file mode 100644 index 7a229513b6..0000000000 --- a/meta-webserver/recipes-httpd/monkey/files/0001-configure-Respect-LIBS-variable-from-env.patch +++ /dev/null @@ -1,29 +0,0 @@ -From b0526a9b5325bd4758dad8d14efd85c98ef2ebff Mon Sep 17 00:00:00 2001 -From: Khem Raj <raj.khem@gmail.com> -Date: Fri, 14 Jul 2017 18:25:23 -0700 -Subject: [PATCH] configure: Respect LIBS variable from env - -For musl we need to pass -lexecinfo from env -this change accomodates that - -Signed-off-by: Khem Raj <raj.khem@gmail.com> ---- - configure | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/configure b/configure -index 4286c34..f1c65db 100755 ---- a/configure -+++ b/configure -@@ -620,7 +620,7 @@ LIBDEFS = -DSHAREDLIB -fPIC \$(DEFS) - INCDIR = ./include - LDFLAGS = $LDFLAGS - DESTDIR = ../bin/monkey --LIBS = -ldl $libs -+LIBS = -ldl $libs ${LIBS} - OBJ = monkey.o mk_method.o mk_mimetype.o mk_vhost.o mk_request.o \\ - mk_header.o mk_config.o mk_signals.o \\ - mk_user.o mk_utils.o mk_epoll.o mk_scheduler.o \\ --- -2.13.3 - diff --git a/meta-webserver/recipes-httpd/monkey/files/0001-fastcgi-Use-value-instead-of-address-of-sin6_port.patch b/meta-webserver/recipes-httpd/monkey/files/0001-fastcgi-Use-value-instead-of-address-of-sin6_port.patch new file mode 100644 index 0000000000..f4bab49aa7 --- /dev/null +++ b/meta-webserver/recipes-httpd/monkey/files/0001-fastcgi-Use-value-instead-of-address-of-sin6_port.patch @@ -0,0 +1,30 @@ +From 7f724bbafbb1e170401dd5de201273ab8c8bc75f Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Sun, 28 Aug 2022 14:24:02 -0700 +Subject: [PATCH] fastcgi: Use value instead of address of sin6_port + +This seems to be wrongly assigned where ipv4 sin_port is +equated to address of sin6_port and not value of sin6_port + +Upstream-Status: Submitted [https://github.com/monkey/monkey/pull/375] +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + plugins/fastcgi/fcgi_handler.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/plugins/fastcgi/fcgi_handler.c b/plugins/fastcgi/fcgi_handler.c +index 9e095e3c..e8e1eec1 100644 +--- a/plugins/fastcgi/fcgi_handler.c ++++ b/plugins/fastcgi/fcgi_handler.c +@@ -245,7 +245,7 @@ static inline int fcgi_add_param_net(struct fcgi_handler *handler) + struct sockaddr_in *s4 = (struct sockaddr_in *)&addr4; + memset(&addr4, 0, sizeof(addr4)); + addr4.sin_family = AF_INET; +- addr4.sin_port = &s->sin6_port; ++ addr4.sin_port = s->sin6_port; + memcpy(&addr4.sin_addr.s_addr, + s->sin6_addr.s6_addr + 12, + sizeof(addr4.sin_addr.s_addr)); +-- +2.37.2 + diff --git a/meta-webserver/recipes-httpd/monkey/files/monkey.init b/meta-webserver/recipes-httpd/monkey/files/monkey.init index 40b21182e1..55446f0e82 100644 --- a/meta-webserver/recipes-httpd/monkey/files/monkey.init +++ b/meta-webserver/recipes-httpd/monkey/files/monkey.init @@ -1,7 +1,7 @@ #!/bin/sh PATH=/sbin:/bin:/usr/sbin:/usr/bin -DAEMON=/usr/bin/monkey +DAEMON=/usr/sbin/monkey NAME=monkey DESC="Monkey HTTP Server" OPTS="--daemon" diff --git a/meta-webserver/recipes-httpd/monkey/files/monkey.service b/meta-webserver/recipes-httpd/monkey/files/monkey.service index f9aa57f91e..4f3b7be4e9 100644 --- a/meta-webserver/recipes-httpd/monkey/files/monkey.service +++ b/meta-webserver/recipes-httpd/monkey/files/monkey.service @@ -4,7 +4,7 @@ After=network.target remote-fs.target [Service] Type=forking -ExecStart=/usr/bin/monkey --daemon +ExecStart=/usr/sbin/monkey --daemon PIDFile=/var/run/monkey.pid.2001 TimeoutSec=10 diff --git a/meta-webserver/recipes-httpd/monkey/monkey_1.5.6.bb b/meta-webserver/recipes-httpd/monkey/monkey_1.5.6.bb deleted file mode 100644 index 559d251bdf..0000000000 --- a/meta-webserver/recipes-httpd/monkey/monkey_1.5.6.bb +++ /dev/null @@ -1,77 +0,0 @@ -SUMMARY = "Fast and Lightweight HTTP Server for Linux" -HOMEPAGE = "http://monkey-project.com" -BUGTRACKER = "https://github.com/monkey/monkey/issues" - -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://LICENSE;md5=2ee41112a44fe7014dce33e26468ba93" - -SECTION = "net" - -DEPENDS_append_libc-musl = " libexecinfo" - -SRC_URI = "http://monkey-project.com/releases/1.5/monkey-${PV}.tar.gz \ - file://0001-configure-Respect-LIBS-variable-from-env.patch \ - file://monkey.service \ - file://monkey.init" - -SRC_URI[md5sum] = "9699e4c9ea6ce6b989907c252ae80254" -SRC_URI[sha256sum] = "7c3d845306aa74ee6effd7ab6169d16ac4e6450e564954d0d0baa2d1e9be1a22" - -UPSTREAM_CHECK_URI = "https://github.com/monkey/monkey/releases" -UPSTREAM_CHECK_REGEX = "v(?P<pver>\d+(\.\d+)+).tar.gz" - -EXTRA_OECONF = "--plugdir=${libdir}/monkey/ \ - --logdir=${localstatedir}/log/monkey/ \ - --pidfile=${localstatedir}/run/monkey.pid \ - --default-user=www-data \ - --datadir=${localstatedir}/www/monkey/ \ - --sysconfdir=${sysconfdir}/monkey/ \ - --enable-plugins=* \ - --disable-plugins=mbedtls \ - --debug \ - --malloc-libc" - -do_configure_prepend_libc-musl() { - export LIBS="-lexecinfo" -} - -DISABLE_STATIC = "" -CLEANBROKEN = "1" - -inherit autotools-brokensep pkgconfig update-rc.d systemd - -INITSCRIPT_NAME = "monkey" -INITSCRIPT_PARAMS = "defaults 70" - -SYSTEMD_SERVICE_${PN} = "monkey.service" - -FILES_${PN} += "${localstatedir}/www/monkey/" - -CONFFILES_${PN} = "${sysconfdir}/monkey/monkey.conf \ - ${sysconfdir}/monkey/sites/default \ - ${sysconfdir}/monkey/monkey.mime \ - ${sysconfdir}/monkey/plugins.load \ - ${sysconfdir}/monkey/plugins/proxy_reverse/proxy_reverse.conf \ - ${sysconfdir}/monkey/plugins/mandril/mandril.conf \ - ${sysconfdir}/monkey/plugins/fastcgi/fastcgi.conf \ - ${sysconfdir}/monkey/plugins/logger/logger.conf \ - ${sysconfdir}/monkey/plugins/cgi/cgi.conf \ - ${sysconfdir}/monkey/plugins/cheetah/cheetah.conf \ - ${sysconfdir}/monkey/plugins/dirlisting/dirhtml.conf \ - ${sysconfdir}/monkey/plugins/dirlisting/themes/guineo/header.theme \ - ${sysconfdir}/monkey/plugins/dirlisting/themes/guineo/footer.theme \ - ${sysconfdir}/monkey/plugins/dirlisting/themes/guineo/entry.theme \ - ${sysconfdir}/monkey/plugins/auth/README \ - ${sysconfdir}/monkey/plugins/auth/monkey.users \ - " - -do_install_append() { - - mkdir -p ${D}${sysconfdir}/init.d - install -m 0755 ${WORKDIR}/monkey.init ${D}${sysconfdir}/init.d/monkey - - if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then - install -d ${D}${systemd_unitdir}/system - install -m 644 ${WORKDIR}/monkey.service ${D}/${systemd_unitdir}/system - fi -} diff --git a/meta-webserver/recipes-httpd/monkey/monkey_1.6.9.bb b/meta-webserver/recipes-httpd/monkey/monkey_1.6.9.bb new file mode 100644 index 0000000000..5bf6373a81 --- /dev/null +++ b/meta-webserver/recipes-httpd/monkey/monkey_1.6.9.bb @@ -0,0 +1,92 @@ +SUMMARY = "Fast and Lightweight HTTP Server for Linux" +HOMEPAGE = "http://monkey-project.com" +BUGTRACKER = "https://github.com/monkey/monkey/issues" + +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=2ee41112a44fe7014dce33e26468ba93" + +SECTION = "net" + +SRC_URI = "git://github.com/monkey/monkey;branch=1.6;protocol=https \ + file://0001-fastcgi-Use-value-instead-of-address-of-sin6_port.patch \ + file://monkey.service \ + file://monkey.init" + +SRCREV = "7999b487fded645381d387ec0e057e92407b0d2c" +S = "${WORKDIR}/git" + +UPSTREAM_CHECK_URI = "https://github.com/monkey/monkey/releases" +UPSTREAM_CHECK_REGEX = "v(?P<pver>\d+(\.\d+)+).tar.gz" + +EXTRA_OECMAKE = "-DINSTALL_LOGDIR=${localstatedir}/log/monkey/ \ + -DPID_FILE=/run/monkey.pid \ + -DINSTALL_SYSCONFDIR=${sysconfdir}/monkey/ \ + -DWITH_PLUGINS=* \ + -DWITHOUT_PLUGINS=mbedtls \ + -DWITH_DEBUG=1 \ + -DDEFAULT_USER='www-data' \ + -DWITH_SYSTEM_MALLOC=1 \ + " + +EXTRA_OECMAKE:append:libc-musl = " -DWITH_MUSL=1 " + +# GCC-10+ defaults to -fno-common +CFLAGS += "-fcommon" + +DISABLE_STATIC = "" + +inherit cmake pkgconfig update-rc.d systemd + +OECMAKE_GENERATOR = "Unix Makefiles" + +do_configure:append() { + sed -i -e 's|${STAGING_BINDIR_TOOLCHAIN}/||g' ${S}/include/monkey/mk_env.h +} + +do_install:append() { + rmdir ${D}${localstatedir}/log/${BPN} ${D}${localstatedir}/run ${D}${localstatedir}/log + rmdir --ignore-fail-on-non-empty ${D}${localstatedir} + install -Dm 0755 ${UNPACKDIR}/monkey.init ${D}${sysconfdir}/init.d/monkey + # Create /var/log/monkey in runtime. + if [ "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}" ]; then + install -d ${D}${nonarch_libdir}/tmpfiles.d + echo "d ${localstatedir}/log/${BPN} 0755 ${BPN} ${BPN} -" > ${D}${nonarch_libdir}/tmpfiles.d/${BPN}.conf + fi + if [ "${@bb.utils.filter('DISTRO_FEATURES', 'sysvinit', d)}" ]; then + install -d ${D}${sysconfdir}/default/volatiles + echo "d ${BPN} ${BPN} 0755 ${localstatedir}/log/${BPN} none" > ${D}${sysconfdir}/default/volatiles/99_${BPN} + fi + if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then + install -Dm 644 ${UNPACKDIR}/monkey.service ${D}/${systemd_unitdir}/system/monkey.service + fi +} + +INITSCRIPT_NAME = "monkey" +INITSCRIPT_PARAMS = "defaults 70" + +SYSTEMD_SERVICE:${PN} = "monkey.service" + +PACKAGES += "${PN}-plugins" + +FILES:${PN}-plugins = "${libdir}/monkey-*.so" + +FILES:${PN} += "${nonarch_libdir}/tmpfiles.d" + +CONFFILES:${PN} = "${sysconfdir}/monkey/monkey.conf \ + ${sysconfdir}/monkey/sites/default \ + ${sysconfdir}/monkey/monkey.mime \ + ${sysconfdir}/monkey/plugins.load \ + ${sysconfdir}/monkey/plugins/proxy_reverse/proxy_reverse.conf \ + ${sysconfdir}/monkey/plugins/mandril/mandril.conf \ + ${sysconfdir}/monkey/plugins/fastcgi/fastcgi.conf \ + ${sysconfdir}/monkey/plugins/logger/logger.conf \ + ${sysconfdir}/monkey/plugins/cgi/cgi.conf \ + ${sysconfdir}/monkey/plugins/cheetah/cheetah.conf \ + ${sysconfdir}/monkey/plugins/dirlisting/dirhtml.conf \ + ${sysconfdir}/monkey/plugins/dirlisting/themes/guineo/header.theme \ + ${sysconfdir}/monkey/plugins/dirlisting/themes/guineo/footer.theme \ + ${sysconfdir}/monkey/plugins/dirlisting/themes/guineo/entry.theme \ + ${sysconfdir}/monkey/plugins/auth/README \ + ${sysconfdir}/monkey/plugins/auth/monkey.users \ + " + diff --git a/meta-webserver/recipes-httpd/nginx/files/0001-configure-libxslt-conf.patch b/meta-webserver/recipes-httpd/nginx/files/0001-configure-libxslt-conf.patch new file mode 100644 index 0000000000..7ba2a1fb85 --- /dev/null +++ b/meta-webserver/recipes-httpd/nginx/files/0001-configure-libxslt-conf.patch @@ -0,0 +1,39 @@ +From 0c3c669464a514cf8d0cac08282ecb2b486f440f Mon Sep 17 00:00:00 2001 +From: Joe Slater <joe.slater@windriver.com> +Date: Tue, 3 Oct 2023 19:21:17 +0000 +Subject: [PATCH] configure: libxslt conf + +Modify to find libxslt related include files under sysroot. + +Upstream-Status: Pending + +Signed-off-by: Joe Slater <joe.slater@windriver.com> +--- + auto/lib/libxslt/conf | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/auto/lib/libxslt/conf b/auto/lib/libxslt/conf +index 3063ac7..eb77886 100644 +--- a/auto/lib/libxslt/conf ++++ b/auto/lib/libxslt/conf +@@ -12,7 +12,7 @@ + #include <libxslt/xsltInternals.h> + #include <libxslt/transform.h> + #include <libxslt/xsltutils.h>" +- ngx_feature_path="/usr/include/libxml2" ++ ngx_feature_path="=/usr/include/libxml2" + ngx_feature_libs="-lxml2 -lxslt" + ngx_feature_test="xmlParserCtxtPtr ctxt = NULL; + xsltStylesheetPtr sheet = NULL; +@@ -100,7 +100,7 @@ fi + ngx_feature_name=NGX_HAVE_EXSLT + ngx_feature_run=no + ngx_feature_incs="#include <libexslt/exslt.h>" +- ngx_feature_path="/usr/include/libxml2" ++ ngx_feature_path="=/usr/include/libxml2" + ngx_feature_libs="-lexslt" + ngx_feature_test="exsltRegisterAll();" + . auto/feature +-- +2.35.5 + diff --git a/meta-webserver/recipes-httpd/nginx/files/nginx-fix-pidfile.patch b/meta-webserver/recipes-httpd/nginx/files/nginx-fix-pidfile.patch new file mode 100644 index 0000000000..90159a6677 --- /dev/null +++ b/meta-webserver/recipes-httpd/nginx/files/nginx-fix-pidfile.patch @@ -0,0 +1,99 @@ +Description: Fix NGINX pidfile handling +Author: Tj <ubuntu@iam.tj> +Bug-Ubuntu: https://bugs.launchpad.net/ubuntu/+source/nginx/+bug/1581864 +Last-Update: 2019-06-04 +--- +This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ + +Upstream-Status: Pending + +This patch is from ubuntu, https://github.com/aroth-arsoft/pkg-nginx/blob +/master/debian/patches/nginx-fix-pidfile.patch, for fix below +error info: +nginx.service: failed to parse pid from file /run/nginx/nginx.pid: +invalid argument + +Signed-off-by: Changqing Li <changqing.li@windriver.com> + +diff --git a/src/core/nginx.c b/src/core/nginx.c +index 9fcb0eb2..083eba1d 100644 +--- a/src/core/nginx.c ++++ b/src/core/nginx.c +@@ -338,14 +338,21 @@ main(int argc, char *const *argv) + ngx_process = NGX_PROCESS_MASTER; + } + ++ /* tell-tale to detect if this is parent or child process */ ++ ngx_int_t child_pid = NGX_BUSY; ++ + #if !(NGX_WIN32) + + if (ngx_init_signals(cycle->log) != NGX_OK) { + return 1; + } + ++ /* tell-tale that this code has been executed */ ++ child_pid--; ++ + if (!ngx_inherited && ccf->daemon) { +- if (ngx_daemon(cycle->log) != NGX_OK) { ++ child_pid = ngx_daemon(cycle->log); ++ if (child_pid == NGX_ERROR) { + return 1; + } + +@@ -358,8 +365,19 @@ main(int argc, char *const *argv) + + #endif + +- if (ngx_create_pidfile(&ccf->pid, cycle->log) != NGX_OK) { +- return 1; ++ /* If ngx_daemon() returned the child's PID in the parent process ++ * after the fork() set ngx_pid to the child_pid, which gets ++ * written to the PID file, then exit. ++ * For NGX_WIN32 always write the PID file ++ * For others, only write it from the parent process */ ++ if (child_pid < NGX_OK || child_pid > NGX_OK) { ++ ngx_pid = child_pid > NGX_OK ? child_pid : ngx_pid; ++ if (ngx_create_pidfile(&ccf->pid, cycle->log) != NGX_OK) { ++ return 1; ++ } ++ } ++ if (child_pid > NGX_OK) { ++ exit(0); + } + + if (ngx_log_redirect_stderr(cycle) != NGX_OK) { +diff --git a/src/os/unix/ngx_daemon.c b/src/os/unix/ngx_daemon.c +index 385c49b6..3719854c 100644 +--- a/src/os/unix/ngx_daemon.c ++++ b/src/os/unix/ngx_daemon.c +@@ -7,14 +7,17 @@ + + #include <ngx_config.h> + #include <ngx_core.h> ++#include <unistd.h> + + + ngx_int_t + ngx_daemon(ngx_log_t *log) + { + int fd; ++ /* retain the return value for passing back to caller */ ++ pid_t pid_child = fork(); + +- switch (fork()) { ++ switch (pid_child) { + case -1: + ngx_log_error(NGX_LOG_EMERG, log, ngx_errno, "fork() failed"); + return NGX_ERROR; +@@ -23,7 +26,8 @@ ngx_daemon(ngx_log_t *log) + break; + + default: +- exit(0); ++ /* let caller do the exit() */ ++ return pid_child; + } + + ngx_parent = ngx_pid; diff --git a/meta-webserver/recipes-httpd/nginx/nginx.inc b/meta-webserver/recipes-httpd/nginx/nginx.inc index e202e85637..2714c3d22f 100644 --- a/meta-webserver/recipes-httpd/nginx/nginx.inc +++ b/meta-webserver/recipes-httpd/nginx/nginx.inc @@ -21,14 +21,16 @@ SRC_URI = " \ file://nginx.init \ file://nginx-volatile.conf \ file://nginx.service \ + file://nginx-fix-pidfile.patch \ + file://0001-configure-libxslt-conf.patch \ " inherit siteinfo update-rc.d useradd systemd -SYSTEMD_SERVICE_${PN} = "nginx.service" +SYSTEMD_SERVICE:${PN} = "nginx.service" -CFLAGS_append = " -fPIE -pie" -CXXFLAGS_append = " -fPIE -pie" +CFLAGS:append = " -fPIE -pie" +CXXFLAGS:append = " -fPIE -pie" NGINX_WWWDIR ?= "${localstatedir}/www/localhost" NGINX_USER ?= "www" @@ -36,11 +38,18 @@ NGINX_USER ?= "www" EXTRA_OECONF = "" DISABLE_STATIC = "" -PACKAGECONFIG ??= "ssl" +PACKAGECONFIG ??= "ssl ${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)}" +PACKAGECONFIG[gunzip] = "--with-http_gunzip_module,," PACKAGECONFIG[http2] = "--with-http_v2_module,," PACKAGECONFIG[ssl] = "--with-http_ssl_module,,openssl" PACKAGECONFIG[http-auth-request] = "--with-http_auth_request_module,," +PACKAGECONFIG[ipv6] = "--with-ipv6,," +PACKAGECONFIG[webdav] = "--with-http_dav_module,," +PACKAGECONFIG[stream] = "--with-stream,," +PACKAGECONFIG[http-sub-module] = "--with-http_sub_module,," + +PACKAGECONFIG[xslt] = "--with-http_xslt_module,,libxslt" do_configure () { if [ "${SITEINFO_BITS}" = "64" ]; then @@ -64,7 +73,7 @@ do_configure () { --with-ptr-size=${PTRSIZE} \ --with-sig-atomic-t=${PTRSIZE} \ --with-size-t=${PTRSIZE} \ - --with-off-t=${PTRSIZE} \ + --with-off-t=8 \ --with-time-t=${PTRSIZE} \ --with-sys-nerr=132 \ --conf-path=${sysconfdir}/nginx/nginx.conf \ @@ -89,34 +98,34 @@ do_install () { install -d ${D}${sysconfdir}/tmpfiles.d echo "d /run/${BPN} - - - -" \ > ${D}${sysconfdir}/tmpfiles.d/${BPN}.conf - echo "d /${localstatedir}/log/${BPN} 0755 root root -" \ + echo "d ${localstatedir}/log/${BPN} 0755 root root -" \ >> ${D}${sysconfdir}/tmpfiles.d/${BPN}.conf fi install -d ${D}${sysconfdir}/${BPN} - ln -snf ${localstatedir}/run/${BPN} ${D}${sysconfdir}/${BPN}/run + ln -rs ${D}${localstatedir}/run/${BPN} ${D}${sysconfdir}/${BPN}/run install -d ${D}${NGINX_WWWDIR} - mv ${D}/usr/html ${D}${NGINX_WWWDIR}/ + mv ${D}${exec_prefix}/html ${D}${NGINX_WWWDIR}/ chown ${NGINX_USER}:www-data -R ${D}${NGINX_WWWDIR} install -d ${D}${sysconfdir}/init.d - install -m 0755 ${WORKDIR}/nginx.init ${D}${sysconfdir}/init.d/nginx + install -m 0755 ${UNPACKDIR}/nginx.init ${D}${sysconfdir}/init.d/nginx sed -i 's,/usr/sbin/,${sbindir}/,g' ${D}${sysconfdir}/init.d/nginx sed -i 's,/etc/,${sysconfdir}/,g' ${D}${sysconfdir}/init.d/nginx install -d ${D}${sysconfdir}/nginx - install -m 0644 ${WORKDIR}/nginx.conf ${D}${sysconfdir}/nginx/nginx.conf + install -m 0644 ${UNPACKDIR}/nginx.conf ${D}${sysconfdir}/nginx/nginx.conf sed -i 's,/etc/,${sysconfdir}/,g' ${D}${sysconfdir}/nginx/nginx.conf sed -i 's,/var/,${localstatedir}/,g' ${D}${sysconfdir}/nginx/nginx.conf sed -i 's/^user.*/user ${NGINX_USER};/g' ${D}${sysconfdir}/nginx/nginx.conf - install -Dm 0644 ${WORKDIR}/default_server.site ${D}${sysconfdir}/nginx/sites-available/default_server + install -Dm 0644 ${UNPACKDIR}/default_server.site ${D}${sysconfdir}/nginx/sites-available/default_server sed -i 's,/var/,${localstatedir}/,g' ${D}${sysconfdir}/nginx/sites-available/default_server install -d ${D}${sysconfdir}/nginx/sites-enabled ln -s ../sites-available/default_server ${D}${sysconfdir}/nginx/sites-enabled/ - install -m 0644 ${WORKDIR}/proxy_params ${D}${sysconfdir}/nginx/proxy_params + install -m 0644 ${UNPACKDIR}/proxy_params ${D}${sysconfdir}/nginx/proxy_params install -d ${D}${sysconfdir}/default/volatiles - install -m 0644 ${WORKDIR}/nginx-volatile.conf ${D}${sysconfdir}/default/volatiles/99_nginx + install -m 0644 ${UNPACKDIR}/nginx-volatile.conf ${D}${sysconfdir}/default/volatiles/99_nginx sed -i 's,/var/,${localstatedir}/,g' ${D}${sysconfdir}/default/volatiles/99_nginx sed -i 's,@NGINX_USER@,${NGINX_USER},g' ${D}${sysconfdir}/default/volatiles/99_nginx @@ -131,18 +140,20 @@ do_install () { if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)};then install -d ${D}${systemd_unitdir}/system - install -m 0644 ${WORKDIR}/nginx.service ${D}${systemd_unitdir}/system/ + install -m 0644 ${UNPACKDIR}/nginx.service ${D}${systemd_unitdir}/system/ sed -i -e 's,@SYSCONFDIR@,${sysconfdir},g' \ -e 's,@LOCALSTATEDIR@,${localstatedir},g' \ -e 's,@SBINDIR@,${sbindir},g' \ -e 's,@BASE_BINDIR@,${base_bindir},g' \ ${D}${systemd_unitdir}/system/nginx.service fi + + rm -rf ${D}${localstatedir}/log/ } -pkg_postinst_${PN} () { +pkg_postinst:${PN} () { if [ -z "$D" ]; then - if type systemd-tmpfiles >/dev/null; then + if type systemd-tmpfiles >/dev/null 2>&1; then systemd-tmpfiles --create elif [ -e ${sysconfdir}/init.d/populate-volatile.sh ]; then ${sysconfdir}/init.d/populate-volatile.sh update @@ -150,12 +161,12 @@ pkg_postinst_${PN} () { fi } -FILES_${PN} += " \ +FILES:${PN} += " \ ${localstatedir}/ \ ${systemd_unitdir}/system/nginx.service \ " -CONFFILES_${PN} = " \ +CONFFILES:${PN} = " \ ${sysconfdir}/nginx/nginx.conf \ ${sysconfdir}/nginx/fastcgi.conf \ ${sysconfdir}/nginx/fastcgi_params \ @@ -171,8 +182,9 @@ INITSCRIPT_NAME = "nginx" INITSCRIPT_PARAMS = "defaults 92 20" USERADD_PACKAGES = "${PN}" -USERADD_PARAM_${PN} = " \ +USERADD_PARAM:${PN} = " \ --system --no-create-home \ --home ${NGINX_WWWDIR} \ --groups www-data \ + --shell ${base_sbindir}/nologin \ --user-group ${NGINX_USER}" diff --git a/meta-webserver/recipes-httpd/nginx/nginx_1.16.0.bb b/meta-webserver/recipes-httpd/nginx/nginx_1.16.0.bb deleted file mode 100644 index cad0db6fc6..0000000000 --- a/meta-webserver/recipes-httpd/nginx/nginx_1.16.0.bb +++ /dev/null @@ -1,10 +0,0 @@ -require nginx.inc - -# 1.16.x branch is the current stable branch, the recommended default -# 1.17.x is the current mainline branches containing all new features -DEFAULT_PREFERENCE = "-1" - -LIC_FILES_CHKSUM = "file://LICENSE;md5=52e384aaac868b755b93ad5535e2d075" - -SRC_URI[md5sum] = "97207283f30cd90cdba638c3ea30323a" -SRC_URI[sha256sum] = "4fd376bad78797e7f18094a00f0f1088259326436b537eb5af69b01be2ca1345" diff --git a/meta-webserver/recipes-httpd/nginx/nginx_1.17.0.bb b/meta-webserver/recipes-httpd/nginx/nginx_1.17.0.bb deleted file mode 100644 index 8774a87fff..0000000000 --- a/meta-webserver/recipes-httpd/nginx/nginx_1.17.0.bb +++ /dev/null @@ -1,6 +0,0 @@ -require nginx.inc - -LIC_FILES_CHKSUM = "file://LICENSE;md5=52e384aaac868b755b93ad5535e2d075" - -SRC_URI[md5sum] = "56767fd62302508295b31adc48b99a59" -SRC_URI[sha256sum] = "e21b5d06cd53e86afb94f0b3678e0abb0c0f011433471fa3d895cefa65ae0fab" diff --git a/meta-webserver/recipes-httpd/nginx/nginx_1.25.3.bb b/meta-webserver/recipes-httpd/nginx/nginx_1.25.3.bb new file mode 100644 index 0000000000..d0371dd3cc --- /dev/null +++ b/meta-webserver/recipes-httpd/nginx/nginx_1.25.3.bb @@ -0,0 +1,10 @@ +require nginx.inc + +# 1.24.x branch is the current stable branch, the recommended default +# 1.25.x is the current mainline branches containing all new features +DEFAULT_PREFERENCE = "-1" + +LIC_FILES_CHKSUM = "file://LICENSE;md5=79ad2eb837299421c4435dedc8897b3d" + +SRC_URI[sha256sum] = "64c5b975ca287939e828303fa857d22f142b251f17808dfe41733512d9cded86" + diff --git a/meta-webserver/recipes-httpd/nginx/nginx_1.26.0.bb b/meta-webserver/recipes-httpd/nginx/nginx_1.26.0.bb new file mode 100644 index 0000000000..0ce940d429 --- /dev/null +++ b/meta-webserver/recipes-httpd/nginx/nginx_1.26.0.bb @@ -0,0 +1,6 @@ +require nginx.inc + +LIC_FILES_CHKSUM = "file://LICENSE;md5=a6547d7e5628787ee2a9c5a3480eb628" + +SRC_URI[sha256sum] = "d2e6c8439d6c6db5015d8eaab2470ab52aef85a7bf363182879977e084370497" + diff --git a/meta-webserver/recipes-httpd/nostromo/files/0001-GNUmakefile-add-possibility-to-override-variables.patch b/meta-webserver/recipes-httpd/nostromo/files/0001-GNUmakefile-add-possibility-to-override-variables.patch deleted file mode 100644 index 8cd4682355..0000000000 --- a/meta-webserver/recipes-httpd/nostromo/files/0001-GNUmakefile-add-possibility-to-override-variables.patch +++ /dev/null @@ -1,145 +0,0 @@ -From 7fa0d31ec5c0be9dca84a03851b2d44f61527ec8 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Eric=20B=C3=A9nard?= <eric@eukrea.com> -Date: Sun, 4 Dec 2011 16:01:04 +0100 -Subject: [PATCH] GNUmakefile: add possibility to override variables -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -this is useful for cross compilation - -Signed-off-by: Eric BĂ©nard <eric@eukrea.com> ---- -Upstream-Status: Inappropriate [embedded specific] - src/libbsd/GNUmakefile | 10 +++++----- - src/libmy/GNUmakefile | 26 +++++++++++++------------- - src/nhttpd/GNUmakefile | 12 ++++++------ - src/tools/GNUmakefile | 8 ++++---- - 4 files changed, 28 insertions(+), 28 deletions(-) - -diff --git a/src/libbsd/GNUmakefile b/src/libbsd/GNUmakefile -index e2d01a3..b034bc6 100644 ---- a/src/libbsd/GNUmakefile -+++ b/src/libbsd/GNUmakefile -@@ -1,12 +1,12 @@ --CCFLAGS = -O2 -pipe -Wall -Werror -Wstrict-prototypes -c -+CFLAGS := -O2 -pipe -Wall -Werror -Wstrict-prototypes -c - - libbsd.a: strlcpy.o strlcat.o -- ar -r libbsd.a strlcpy.o strlcat.o -- ranlib libbsd.a -+ $(AR) -r libbsd.a strlcpy.o strlcat.o -+ $(RANLIB) libbsd.a - - strlcpy.o: strlcpy.c -- cc ${CCFLAGS} strlcpy.c -+ $(CC) $(CFLAGS) strlcpy.c - strlcat.o: strlcat.c -- cc ${CCFLAGS} strlcat.c -+ $(CC) $(CFLAGS) strlcat.c - clean: - rm -f libbsd.a *.o -diff --git a/src/libmy/GNUmakefile b/src/libmy/GNUmakefile -index ce90dd9..891ffea 100644 ---- a/src/libmy/GNUmakefile -+++ b/src/libmy/GNUmakefile -@@ -1,30 +1,30 @@ --CCFLAGS = -O2 -Wall -Werror -Wstrict-prototypes -c -+CFLAGS := -O2 -Wall -Werror -Wstrict-prototypes -c - - libmy.a: strcutl.o strcutw.o strcuts.o strcuti.o strcutf.o flog.o flogd.o fparse.o strlower.o strb64d.o -- ar -r libmy.a strcutl.o strcutw.o strcuts.o strcuti.o strcutf.o flog.o flogd.o fparse.o strlower.o strb64d.o -- ranlib libmy.a -+ $(AR) -r libmy.a strcutl.o strcutw.o strcuts.o strcuti.o strcutf.o flog.o flogd.o fparse.o strlower.o strb64d.o -+ $(RANLIB) libmy.a - - strcutl.o: strcutl.c -- cc ${CCFLAGS} strcutl.c -+ $(CC) $(CFLAGS) strcutl.c - strcutw.o: strcutw.c -- cc ${CCFLAGS} strcutw.c -+ $(CC) $(CFLAGS) strcutw.c - strcuts.o: strcuts.c -- cc ${CCFLAGS} strcuts.c -+ $(CC) $(CFLAGS) strcuts.c - strcuti.o: strcuti.c -- cc ${CCFLAGS} strcuti.c -+ $(CC) $(CFLAGS) strcuti.c - strcutf.o: strcutf.c -- cc ${CCFLAGS} strcutf.c -+ $(CC) $(CFLAGS) strcutf.c - strlower.o: strlower.c -- cc ${CCFLAGS} strlower.c -+ $(CC) $(CFLAGS) strlower.c - strb64d.o: strb64d.c -- cc ${CCFLAGS} strb64d.c -+ $(CC) $(CFLAGS) strb64d.c - - flog.o: flog.c -- cc ${CCFLAGS} flog.c -+ $(CC) $(CFLAGS) flog.c - flogd.o: flogd.c -- cc ${CCFLAGS} flogd.c -+ $(CC) $(CFLAGS) flogd.c - fparse.o: fparse.c -- cc ${CCFLAGS} fparse.c -+ $(CC) $(CFLAGS) fparse.c - - clean: - rm -f libmy.a *.o -diff --git a/src/nhttpd/GNUmakefile b/src/nhttpd/GNUmakefile -index f6d12de..9524911 100644 ---- a/src/nhttpd/GNUmakefile -+++ b/src/nhttpd/GNUmakefile -@@ -1,20 +1,20 @@ - # $nostromo: GNUmakefile,v 1.6 2016/04/12 19:02:06 hacki Exp $ - --CCFLAGS = -O2 -pipe -Wall -Wstrict-prototypes -c -+CFLAGS := -O2 -pipe -Wall -Wstrict-prototypes -c - - nhttpd: main.o http.o sys.o -- cc -L../libmy -L../libbsd -o nhttpd main.o http.o sys.o -lmy -lbsd -lssl -lcrypt -- strip nhttpd -+ $(CC) -L../libmy -L../libbsd -o nhttpd main.o http.o sys.o -lmy -lbsd -lssl -lcrypt -+# $(STRIP) nhttpd - nroff -Tascii -c -mandoc nhttpd.8 > nhttpd.cat8 - - main.o: main.c -- cc ${CCFLAGS} main.c -+ $(CC) $(CFLAGS) main.c - - http.o: http.c -- cc ${CCFLAGS} http.c -+ $(CC) $(CFLAGS) http.c - - sys.o: sys.c -- cc ${CCFLAGS} sys.c -+ $(CC) $(CFLAGS) sys.c - - clean: - rm -f nhttpd nhttpd.cat8 *.o -diff --git a/src/tools/GNUmakefile b/src/tools/GNUmakefile -index 15bea61..663ddb5 100644 ---- a/src/tools/GNUmakefile -+++ b/src/tools/GNUmakefile -@@ -1,13 +1,13 @@ - # $nostromo: GNUmakefile,v 1.3 2016/04/12 19:02:58 hacki Exp $ - --CCFLAGS = -O2 -pipe -Wall -Werror -Wstrict-prototypes -c -+CFLAGS = -O2 -pipe -Wall -Werror -Wstrict-prototypes - - crypt: crypt.o -- cc -L../libbsd -o crypt crypt.o -lcrypt -lbsd -- strip crypt -+ $(CC) $(CFLAGS) -L../libbsd -o crypt crypt.o -lcrypt -lbsd -+# $(STRIP) crypt - - crypt.o: crypt.c -- cc ${CCFLAGS} crypt.c -+ $(CC) $(CFLAGS) -c crypt.c - - clean: - rm -f crypt *.o --- -1.7.6.4 - diff --git a/meta-webserver/recipes-httpd/nostromo/files/nhttpd.conf b/meta-webserver/recipes-httpd/nostromo/files/nhttpd.conf deleted file mode 100644 index 6674bb696c..0000000000 --- a/meta-webserver/recipes-httpd/nostromo/files/nhttpd.conf +++ /dev/null @@ -1,55 +0,0 @@ -# MAIN [MANDATORY] - -servername localhost -#servername www.nazgul.ch:8080 -serverlisten * -#serverlisten 81.221.21.250 127.0.0.1 ::1 -serveradmin webmaster@localhost -serverroot /var/nostromo -servermimes /var/nostromo/conf/mimes -docroot /var/nostromo/htdocs -docindex index.html - -# LOGS [OPTIONAL] - -logpid /var/run/nostromo/nhttpd.pid -#logaccess /var/log/nostromo/access_log - -# SETUID [RECOMMENDED] - -user www-data - -# BASIC AUTHENTICATION [OPTIONAL] - -#htaccess .htaccess -#htpasswd /var/nostromo/conf/.htpasswd -#htpasswd +bsdauth -#htpasswd +bsdauthnossl - -# SSL [OPTIONAL] - -#sslport 443 -#sslcert /etc/ssl/server.crt -#sslcertkey /etc/ssl/server.key - -# CUSTOM RESPONSES [OPTIONAL] -# -# The custom responses are searched in the corresponding document root. - -#custom_401 custom_401.html -#custom_403 custom_403.html -#custom_404 custom_404.html - -# ALIASES [OPTIONAL] - -/icons /var/nostromo/icons - -# VIRTUAL HOSTS [OPTIONAL] - -#www.rahel.ch /var/nostromo/htdocs/www.rahel.ch -#www.rahel.ch:8080 /var/nostromo/htdocs/www.rahel.ch - -# HOMEDIRS [OPTIONAL] - -#homedirs /home -#homedirs_public public_www diff --git a/meta-webserver/recipes-httpd/nostromo/files/nostromo b/meta-webserver/recipes-httpd/nostromo/files/nostromo deleted file mode 100644 index 8a28868829..0000000000 --- a/meta-webserver/recipes-httpd/nostromo/files/nostromo +++ /dev/null @@ -1,34 +0,0 @@ -#!/bin/sh - -PATH=/sbin:/bin:/usr/sbin:/usr/bin -DAEMON=nhttpd -NAME=nhttpd -DESC="Nostromo Web Server" -OPTS="-c /etc/nhttpd.conf" - -case "$1" in - start) - echo -n "Starting $DESC: " - start-stop-daemon --start -x "$DAEMON" -- $OPTS - echo "$NAME." - ;; - stop) - echo -n "Stopping $DESC: " - start-stop-daemon --stop -x "$DAEMON" - echo "$NAME." - ;; - restart|force-reload) - echo -n "Restarting $DESC: " - start-stop-daemon --stop -x "$DAEMON" - sleep 1 - start-stop-daemon --start -x "$DAEMON" -- $OPTS - echo "$NAME." - ;; - *) - N=/etc/init.d/$NAME - echo "Usage: $N {start|stop|restart|force-reload}" >&2 - exit 1 - ;; -esac - -exit 0 diff --git a/meta-webserver/recipes-httpd/nostromo/files/tmpfiles.conf b/meta-webserver/recipes-httpd/nostromo/files/tmpfiles.conf deleted file mode 100644 index b7a9f4886e..0000000000 --- a/meta-webserver/recipes-httpd/nostromo/files/tmpfiles.conf +++ /dev/null @@ -1 +0,0 @@ -d /run/nostromo - www-data www-data - diff --git a/meta-webserver/recipes-httpd/nostromo/files/volatiles b/meta-webserver/recipes-httpd/nostromo/files/volatiles deleted file mode 100644 index 40924960c6..0000000000 --- a/meta-webserver/recipes-httpd/nostromo/files/volatiles +++ /dev/null @@ -1,2 +0,0 @@ -d www-data www-data 0775 /var/run/nostromo none -d www-data www-data 0775 /var/log/nostromo none diff --git a/meta-webserver/recipes-httpd/nostromo/nostromo_1.9.6.bb b/meta-webserver/recipes-httpd/nostromo/nostromo_1.9.6.bb deleted file mode 100644 index a6b1ff0fc6..0000000000 --- a/meta-webserver/recipes-httpd/nostromo/nostromo_1.9.6.bb +++ /dev/null @@ -1,64 +0,0 @@ -SUMMARY = "A simple, fast and secure HTTP server" -HOMEPAGE = "http://www.nazgul.ch/dev_nostromo.html" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://src/nhttpd/main.c;beginline=2;endline=14;md5=0bb3711a867b9704d3bfabcf5529b64e" - -SRC_URI = "http://www.nazgul.ch/dev/${BPN}-${PV}.tar.gz \ - file://0001-GNUmakefile-add-possibility-to-override-variables.patch \ - file://nhttpd.conf \ - file://volatiles \ - file://tmpfiles.conf \ - file://nostromo \ -" - -SRC_URI[md5sum] = "27aa241d78ff78920354c3e03a5026ea" -SRC_URI[sha256sum] = "541494ecfeafec58c0876ccc90cc23b06e0144f6f42029af44c7cdb1f411e8eb" - -TARGET_CC_ARCH += "${LDFLAGS}" - -DEPENDS = "openssl groff-native base-passwd virtual/crypt" - -inherit update-rc.d - -INITSCRIPT_NAME = "nostromo" -INITSCRIPT_PARAMS = "defaults 70" - -do_compile() { - oe_runmake -} - -do_install() { - install -d ${D}/${sbindir} - install -m 0755 src/nhttpd/nhttpd ${D}/${sbindir}/nhttpd - install -m 0755 src/tools/crypt ${D}/${sbindir}/crypt - install -d ${D}/${mandir}/man8 - install -m 0444 src/nhttpd/nhttpd.8 ${D}/${mandir}/man8/nhttpd.8 - install -d ${D}${localstatedir}/nostromo/conf - install -d ${D}${localstatedir}/nostromo/htdocs/cgi-bin - install -d ${D}${localstatedir}/nostromo/icons - install -d ${D}${sysconfdir}/init.d - install -m 0644 conf/mimes ${D}${localstatedir}/nostromo/conf/mimes - install -m 0644 ${WORKDIR}/nhttpd.conf ${D}${sysconfdir} - install -m 0755 ${WORKDIR}/nostromo ${D}${sysconfdir}/init.d - install -D -m 0644 ${WORKDIR}/volatiles ${D}${sysconfdir}/default/volatiles/nostromo - if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then - install -D -m 0644 ${WORKDIR}/tmpfiles.conf ${D}${sysconfdir}/tmpfiles.d/nostromo.conf - fi - install -m 0644 htdocs/index.html ${D}${localstatedir}/nostromo/htdocs/index.html - install -m 0644 htdocs/nostromo.gif ${D}${localstatedir}/nostromo/htdocs/nostromo.gif - install -m 0644 icons/dir.gif ${D}${localstatedir}/nostromo/icons/dir.gif - install -m 0644 icons/file.gif ${D}${localstatedir}/nostromo/icons/file.gif - chown -R www-data:www-data ${D}/${localstatedir}/nostromo -} - -CONFFILES_${PN} += "/var/nostromo/conf/mimes ${sysconfdir}/nhttpd.conf" - -pkg_postinst_${PN} () { - if [ -z "$D" ]; then - if [ -e /sys/fs/cgroup/systemd ]; then - systemd-tmpfiles --create ${sysconfdir}/tmpfiles.d/nostromo.conf - elif [ -e ${sysconfdir}/init.d/populate-volatile.sh ]; then - ${sysconfdir}/init.d/populate-volatile.sh update - fi - fi -} diff --git a/meta-webserver/recipes-httpd/sthttpd/sthttpd/0001-Define-_GNU_SOURCE-if-HAVE_SIGSET-is-set.patch b/meta-webserver/recipes-httpd/sthttpd/sthttpd/0001-Define-_GNU_SOURCE-if-HAVE_SIGSET-is-set.patch new file mode 100644 index 0000000000..a1783a7adb --- /dev/null +++ b/meta-webserver/recipes-httpd/sthttpd/sthttpd/0001-Define-_GNU_SOURCE-if-HAVE_SIGSET-is-set.patch @@ -0,0 +1,51 @@ +From f3889e5870e9761ee6113fac7f38aa44cc43e46c Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Wed, 7 Sep 2022 00:30:52 -0700 +Subject: [PATCH] Define _GNU_SOURCE if HAVE_SIGSET is set + +This enforces using sigset() API which needs _GNU_SOURCE macro to be +defined + +Upstream-Status: Submitted [https://github.com/blueness/sthttpd/pull/16] +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + src/libhttpd.c | 5 ++++- + src/thttpd.c | 4 ++++ + 2 files changed, 8 insertions(+), 1 deletion(-) + +diff --git a/src/libhttpd.c b/src/libhttpd.c +index fa42c10..669be11 100644 +--- a/src/libhttpd.c ++++ b/src/libhttpd.c +@@ -25,9 +25,12 @@ + ** SUCH DAMAGE. + */ + +- + #include <config.h> + ++#ifdef HAVE_SIGSET ++#define _GNU_SOURCE ++#endif ++ + //system headers + #include <sys/types.h> + #include <sys/param.h> +diff --git a/src/thttpd.c b/src/thttpd.c +index ad97188..3c7a449 100644 +--- a/src/thttpd.c ++++ b/src/thttpd.c +@@ -28,6 +28,10 @@ + + #include <config.h> + ++#ifdef HAVE_SIGSET ++#define _GNU_SOURCE ++#endif ++ + //system headers + #include <sys/param.h> + #include <sys/types.h> +-- +2.37.3 + diff --git a/meta-webserver/recipes-httpd/sthttpd/sthttpd_2.27.1.bb b/meta-webserver/recipes-httpd/sthttpd/sthttpd_2.27.1.bb index 560dd9b6e4..ec188cc482 100644 --- a/meta-webserver/recipes-httpd/sthttpd/sthttpd_2.27.1.bb +++ b/meta-webserver/recipes-httpd/sthttpd/sthttpd_2.27.1.bb @@ -7,7 +7,8 @@ LIC_FILES_CHKSUM = "file://src/thttpd.c;beginline=1;endline=26;md5=0c5762c2c34dc DEPENDS += "base-passwd virtual/crypt" SRCREV = "2845bf5bff2b820d2336c8c8061cbfc5f271e720" -SRC_URI = "git://github.com/blueness/${BPN} \ +SRC_URI = "git://github.com/blueness/${BPN};branch=master;protocol=https \ + file://0001-Define-_GNU_SOURCE-if-HAVE_SIGSET-is-set.patch \ file://thttpd.service \ file://thttpd.conf \ file://init" @@ -20,7 +21,7 @@ S = "${WORKDIR}/git" inherit autotools update-rc.d systemd update-alternatives ALTERNATIVE_PRIORITY = "100" -ALTERNATIVE_${PN}-doc = "htpasswd.1" +ALTERNATIVE:${PN}-doc = "htpasswd.1" ALTERNATIVE_LINK_NAME[htpasswd.1] = "${mandir}/man1/htpasswd.1" SRV_DIR ?= "${servicedir}/www" @@ -29,21 +30,21 @@ SRV_DIR ?= "${servicedir}/www" # but ${SRV_DIR} is not installed chgrp'd to the group by default. WEBGROUP ?= "www-data" -do_configure_prepend () { +do_configure:prepend () { export WEBDIR=${SRV_DIR} export WEBGROUP=${WEBGROUP} } -do_install_append () { +do_install:append () { install -d ${D}${sysconfdir}/init.d - install -c -m 755 ${WORKDIR}/init ${D}${sysconfdir}/init.d/thttpd - install -c -m 755 ${WORKDIR}/thttpd.conf ${D}${sysconfdir} + install -c -m 755 ${UNPACKDIR}/init ${D}${sysconfdir}/init.d/thttpd + install -c -m 755 ${UNPACKDIR}/thttpd.conf ${D}${sysconfdir} sed -i -e 's,@@CONFFILE,${sysconfdir}/thttpd.conf,g' ${D}${sysconfdir}/init.d/thttpd sed -i -e 's,@@SRVDIR,${SRV_DIR},g' ${D}${sysconfdir}/thttpd.conf sed -i 's!/usr/sbin/!${sbindir}/!g' ${D}${sysconfdir}/init.d/thttpd install -d ${D}${systemd_unitdir}/system - install -m 0644 ${WORKDIR}/thttpd.service ${D}${systemd_unitdir}/system + install -m 0644 ${UNPACKDIR}/thttpd.service ${D}${systemd_unitdir}/system sed -i 's!/usr/sbin/!${sbindir}/!g' ${D}${systemd_unitdir}/system/thttpd.service sed -i 's!/var/!${localstatedir}/!g' ${D}${systemd_unitdir}/system/thttpd.service sed -i -e 's,@@CONFFILE,${sysconfdir}/thttpd.conf,g' ${D}${systemd_unitdir}/system/thttpd.service @@ -52,7 +53,9 @@ do_install_append () { INITSCRIPT_NAME = "thttpd" INITSCRIPT_PARAMS = "defaults" -SYSTEMD_SERVICE_${PN} = "thttpd.service" +SYSTEMD_SERVICE:${PN} = "thttpd.service" -FILES_${PN} += "${SRV_DIR}" -FILES_${PN}-dbg += "${SRV_DIR}/cgi-bin/.debug" +FILES:${PN} += "${SRV_DIR}" +FILES:${PN}-dbg += "${SRV_DIR}/cgi-bin/.debug" + +CVE_STATUS[CVE-2017-10671] = "fixed-version: No action required. The current version (2.27.1) is not affected by the CVE." |