aboutsummaryrefslogtreecommitdiffstats
path: root/meta-webserver
diff options
context:
space:
mode:
Diffstat (limited to 'meta-webserver')
-rw-r--r--meta-webserver/README.md (renamed from meta-webserver/README)14
-rwxr-xr-xmeta-webserver/conf/include/non-repro-meta-webserver.inc7
-rw-r--r--meta-webserver/conf/layer.conf5
-rw-r--r--meta-webserver/files/static-group-meta-webserver1
-rw-r--r--meta-webserver/files/static-passwd-meta-webserver2
-rw-r--r--meta-webserver/recipes-core/images/meta-webserver-image-all.bb3
-rw-r--r--meta-webserver/recipes-core/packagesgroups/packagegroup-meta-webserver.bb49
-rw-r--r--meta-webserver/recipes-httpd/apache-mod/apache-websocket_git.bb21
-rw-r--r--meta-webserver/recipes-httpd/apache-mod/mod-dnssd_0.6.bb20
-rw-r--r--meta-webserver/recipes-httpd/apache2/apache2-native_2.4.29.bb45
-rw-r--r--meta-webserver/recipes-httpd/apache2/apache2/0001-configure-use-pkg-config-for-PCRE-detection.patch52
-rw-r--r--meta-webserver/recipes-httpd/apache2/apache2/0001-make_exports.awk-not-expose-the-path.patch32
-rw-r--r--meta-webserver/recipes-httpd/apache2/apache2/0002-apache2-bump-up-the-core-size-limit-if-CoreDumpDirec.patch (renamed from meta-webserver/recipes-httpd/apache2/apache2/httpd-2.4.1-corelimit.patch)21
-rw-r--r--meta-webserver/recipes-httpd/apache2/apache2/0003-apache2-do-not-export-apr-apr-util-symbols-when-usin.patch33
-rw-r--r--meta-webserver/recipes-httpd/apache2/apache2/0004-apache2-log-the-SELinux-context-at-startup.patch (renamed from meta-webserver/recipes-httpd/apache2/apache2/httpd-2.4.1-selinux.patch)46
-rw-r--r--meta-webserver/recipes-httpd/apache2/apache2/0005-replace-lynx-to-curl-in-apachectl-script.patch (renamed from meta-webserver/recipes-httpd/apache2/apache2/replace-lynx-to-curl-in-apachectl-script.patch)17
-rw-r--r--meta-webserver/recipes-httpd/apache2/apache2/0006-apache2-fix-the-race-issue-of-parallel-installation.patch (renamed from meta-webserver/recipes-httpd/apache2/files/httpd-2.4.3-fix-race-issue-of-dir-install.patch)22
-rw-r--r--meta-webserver/recipes-httpd/apache2/apache2/0007-apache2-allow-to-disable-selinux-support.patch (renamed from meta-webserver/recipes-httpd/apache2/files/configure-allow-to-disable-selinux-support.patch)14
-rw-r--r--meta-webserver/recipes-httpd/apache2/apache2/0008-Fix-perl-install-directory-to-usr-bin.patch36
-rw-r--r--meta-webserver/recipes-httpd/apache2/apache2/0009-support-apxs.in-force-destdir-to-be-empty-string.patch49
-rw-r--r--meta-webserver/recipes-httpd/apache2/apache2/0010-apache2-do-not-use-relative-path-for-gen_test_char.patch26
-rw-r--r--meta-webserver/recipes-httpd/apache2/apache2/apache-configure_perlbin.patch22
-rw-r--r--meta-webserver/recipes-httpd/apache2/apache2/apache-ssl-ltmain-rpath.patch81
-rw-r--r--meta-webserver/recipes-httpd/apache2/apache2/httpd-2.4.4-export.patch22
-rw-r--r--meta-webserver/recipes-httpd/apache2/apache2/server-makefile.patch11
-rw-r--r--meta-webserver/recipes-httpd/apache2/apache2_2.4.29.bb194
-rw-r--r--meta-webserver/recipes-httpd/apache2/apache2_2.4.59.bb247
-rw-r--r--meta-webserver/recipes-httpd/apache2/files/0001-configure-use-pkg-config-for-PCRE-detection.patch52
-rw-r--r--meta-webserver/recipes-httpd/apache2/files/apache2-volatile.conf2
-rw-r--r--[-rwxr-xr-x]meta-webserver/recipes-httpd/apache2/files/init0
-rw-r--r--meta-webserver/recipes-httpd/cherokee/cherokee/0001-common-internal.h-Define-LLONG_MAX-if-undefined.patch47
-rw-r--r--meta-webserver/recipes-httpd/cherokee/cherokee/0001-configure.ac-Add-foreign-to-AM_INIT_AUTOMAKE.patch1
-rw-r--r--meta-webserver/recipes-httpd/cherokee/cherokee/0001-make-Do-not-build-po-files.patch1
-rw-r--r--meta-webserver/recipes-httpd/cherokee/cherokee_git.bb46
-rw-r--r--meta-webserver/recipes-httpd/hiawatha/hiawatha_10.12.bb (renamed from meta-webserver/recipes-httpd/hiawatha/hiawatha_10.7.bb)45
-rw-r--r--meta-webserver/recipes-httpd/monkey/files/0001-configure-Respect-LIBS-variable-from-env.patch29
-rw-r--r--meta-webserver/recipes-httpd/monkey/files/0001-fastcgi-Use-value-instead-of-address-of-sin6_port.patch30
-rw-r--r--meta-webserver/recipes-httpd/monkey/files/monkey.init2
-rw-r--r--meta-webserver/recipes-httpd/monkey/files/monkey.service2
-rw-r--r--meta-webserver/recipes-httpd/monkey/monkey_1.5.6.bb77
-rw-r--r--meta-webserver/recipes-httpd/monkey/monkey_1.6.9.bb92
-rw-r--r--meta-webserver/recipes-httpd/nginx/files/0001-configure-libxslt-conf.patch39
-rw-r--r--meta-webserver/recipes-httpd/nginx/files/default_server.site14
-rw-r--r--meta-webserver/recipes-httpd/nginx/files/nginx-fix-pidfile.patch99
-rw-r--r--meta-webserver/recipes-httpd/nginx/files/nginx.conf139
-rw-r--r--meta-webserver/recipes-httpd/nginx/files/nginx.service10
-rw-r--r--meta-webserver/recipes-httpd/nginx/files/proxy_params4
-rw-r--r--meta-webserver/recipes-httpd/nginx/nginx.inc70
-rw-r--r--meta-webserver/recipes-httpd/nginx/nginx_1.12.2.bb6
-rw-r--r--meta-webserver/recipes-httpd/nginx/nginx_1.13.9.bb10
-rw-r--r--meta-webserver/recipes-httpd/nginx/nginx_1.25.3.bb10
-rw-r--r--meta-webserver/recipes-httpd/nginx/nginx_1.26.0.bb6
-rw-r--r--meta-webserver/recipes-httpd/nostromo/files/0001-GNUmakefile-add-possibility-to-override-variables.patch145
-rw-r--r--meta-webserver/recipes-httpd/nostromo/files/nhttpd.conf55
-rw-r--r--meta-webserver/recipes-httpd/nostromo/files/nostromo34
-rw-r--r--meta-webserver/recipes-httpd/nostromo/files/tmpfiles.conf1
-rw-r--r--meta-webserver/recipes-httpd/nostromo/files/volatiles2
-rw-r--r--meta-webserver/recipes-httpd/nostromo/nostromo_1.9.6.bb64
-rw-r--r--meta-webserver/recipes-httpd/sthttpd/sthttpd/0001-Define-_GNU_SOURCE-if-HAVE_SIGSET-is-set.patch51
-rw-r--r--meta-webserver/recipes-httpd/sthttpd/sthttpd_2.27.1.bb35
-rw-r--r--meta-webserver/recipes-php/phpmyadmin/phpmyadmin_5.2.1.bb (renamed from meta-webserver/recipes-php/phpmyadmin/phpmyadmin_4.7.9.bb)15
-rw-r--r--meta-webserver/recipes-php/xdebug/xdebug_3.2.2.bb (renamed from meta-webserver/recipes-php/xdebug/xdebug_2.6.0.bb)13
-rw-r--r--meta-webserver/recipes-support/fcgi/fcgi/Fix_EOF_not_declared_issue.patch17
-rw-r--r--meta-webserver/recipes-support/fcgi/fcgi/add_foreign_to_AM_INIT_AUTOMAKE.patch18
-rw-r--r--meta-webserver/recipes-support/fcgi/fcgi_2.4.0.bb15
-rw-r--r--meta-webserver/recipes-support/fcgi/fcgi_git.bb16
-rw-r--r--meta-webserver/recipes-support/fcgiwrap/fcgiwrap/0001-Fix-implicit-fallthrough-warning.patch313
-rw-r--r--meta-webserver/recipes-support/fcgiwrap/fcgiwrap_git.bb24
-rw-r--r--meta-webserver/recipes-support/spawn-fcgi/spawn-fcgi-1.6.4/fix_configure_ipv6_test.patch35
-rw-r--r--meta-webserver/recipes-support/spawn-fcgi/spawn-fcgi_1.6.5.bb (renamed from meta-webserver/recipes-support/spawn-fcgi/spawn-fcgi_1.6.4.bb)10
-rw-r--r--meta-webserver/recipes-webadmin/cockpit/cockpit_304.bb207
-rw-r--r--meta-webserver/recipes-webadmin/cockpit/files/0001-Warn-not-error-if-xsltproc-is-not-found.patch25
-rw-r--r--meta-webserver/recipes-webadmin/cockpit/files/cockpit.pam8
-rw-r--r--meta-webserver/recipes-webadmin/netdata/netdata/0001-Correct-Timeout-issue.patch21
-rw-r--r--meta-webserver/recipes-webadmin/netdata/netdata/0001-makefile-Do-not-build-contrib-dir.patch27
-rw-r--r--meta-webserver/recipes-webadmin/netdata/netdata/netdata.service12
-rw-r--r--meta-webserver/recipes-webadmin/netdata/netdata_1.44.3.bb81
-rw-r--r--meta-webserver/recipes-webadmin/netdata/netdata_git.bb59
-rw-r--r--meta-webserver/recipes-webadmin/webmin/files/disable-version-check.patch2
-rw-r--r--meta-webserver/recipes-webadmin/webmin/files/init-exclude.patch16
-rw-r--r--meta-webserver/recipes-webadmin/webmin/files/media-tomb.patch4
-rw-r--r--meta-webserver/recipes-webadmin/webmin/files/mount-excludefs.patch2
-rw-r--r--meta-webserver/recipes-webadmin/webmin/files/mysql-config-fix.patch2
-rw-r--r--meta-webserver/recipes-webadmin/webmin/files/net-generic.patch10
-rw-r--r--meta-webserver/recipes-webadmin/webmin/files/proftpd-config-fix.patch2
-rw-r--r--meta-webserver/recipes-webadmin/webmin/files/remove-startup-option.patch12
-rw-r--r--meta-webserver/recipes-webadmin/webmin/files/samba-config-fix.patch2
-rw-r--r--meta-webserver/recipes-webadmin/webmin/webmin_1.850.bb36
88 files changed, 1971 insertions, 1345 deletions
diff --git a/meta-webserver/README b/meta-webserver/README.md
index 7b60630700..d1b743887c 100644
--- a/meta-webserver/README
+++ b/meta-webserver/README.md
@@ -11,27 +11,25 @@ Dependencies
This layer depends on:
-URI: git://github.com/openembedded/oe-core.git
+URI: git://git.openembedded.org/openembedded-core
subdirectory: meta
branch: master
-revision: HEAD
For some recipes, the meta-oe layer is required:
-URI: git://github.com/openembedded/meta-oe.git
+URI: git://git.openembedded.org/meta-openembedded
subdirectory: meta-oe
branch: master
-revision: HEAD
Layout
------
-recipes-httpd/ Web servers
-recipes-php/ PHP applications
-recipes-support/ Miscellaneous support recipes
-recipes-webadmin/ Standalone web administration interfaces
+* recipes-httpd/ Web servers
+* recipes-php/ PHP applications
+* recipes-support/ Miscellaneous support recipes
+* recipes-webadmin/ Standalone web administration interfaces
Notes
diff --git a/meta-webserver/conf/include/non-repro-meta-webserver.inc b/meta-webserver/conf/include/non-repro-meta-webserver.inc
new file mode 100755
index 0000000000..ee998ea961
--- /dev/null
+++ b/meta-webserver/conf/include/non-repro-meta-webserver.inc
@@ -0,0 +1,7 @@
+# List of known non-reproducible package of the meta-webserver layer
+# Please keep this list sorted
+KNOWN_NON_REPRO_META_WEBSERVER = " \
+ netdata \
+ netdata-dbg \
+ php-phar \
+"
diff --git a/meta-webserver/conf/layer.conf b/meta-webserver/conf/layer.conf
index f205ef23b1..08e9df505b 100644
--- a/meta-webserver/conf/layer.conf
+++ b/meta-webserver/conf/layer.conf
@@ -9,7 +9,7 @@ BBFILES += "${LAYERDIR}/recipes-*/*/*.bb ${LAYERDIR}/recipes-*/*/*.bbappend"
BBFILE_COLLECTIONS += "webserver"
BBFILE_PATTERN_webserver := "^${LAYERDIR}/"
-BBFILE_PRIORITY_webserver = "6"
+BBFILE_PRIORITY_webserver = "5"
# This should only be incremented on significant changes that will
# cause compatibility issues with other layers
@@ -17,10 +17,11 @@ LAYERVERSION_webserver = "1"
LAYERDEPENDS_webserver = "core openembedded-layer"
-LAYERSERIES_COMPAT_webserver = "sumo"
+LAYERSERIES_COMPAT_webserver = "styhead"
LICENSE_PATH += "${LAYERDIR}/licenses"
SIGGEN_EXCLUDE_SAFE_RECIPE_DEPS += " \
phpmyadmin->bash \
+ phpmyadmin->php \
"
diff --git a/meta-webserver/files/static-group-meta-webserver b/meta-webserver/files/static-group-meta-webserver
new file mode 100644
index 0000000000..811980c05d
--- /dev/null
+++ b/meta-webserver/files/static-group-meta-webserver
@@ -0,0 +1 @@
+netdata:x:691
diff --git a/meta-webserver/files/static-passwd-meta-webserver b/meta-webserver/files/static-passwd-meta-webserver
new file mode 100644
index 0000000000..231d458ab5
--- /dev/null
+++ b/meta-webserver/files/static-passwd-meta-webserver
@@ -0,0 +1,2 @@
+www:x:690:nogroup::/:/bin/nologin
+netdata:x:691:691::/:/bin/nologin
diff --git a/meta-webserver/recipes-core/images/meta-webserver-image-all.bb b/meta-webserver/recipes-core/images/meta-webserver-image-all.bb
new file mode 100644
index 0000000000..9d2badc236
--- /dev/null
+++ b/meta-webserver/recipes-core/images/meta-webserver-image-all.bb
@@ -0,0 +1,3 @@
+require recipes-core/images/core-image-base.bb
+
+IMAGE_INSTALL += "packagegroup-meta-webserver"
diff --git a/meta-webserver/recipes-core/packagesgroups/packagegroup-meta-webserver.bb b/meta-webserver/recipes-core/packagesgroups/packagegroup-meta-webserver.bb
new file mode 100644
index 0000000000..e775cdb50e
--- /dev/null
+++ b/meta-webserver/recipes-core/packagesgroups/packagegroup-meta-webserver.bb
@@ -0,0 +1,49 @@
+SUMMARY = "Meta-webserver packagegroups"
+
+inherit packagegroup
+
+PROVIDES = "${PACKAGES}"
+PACKAGES = ' \
+ packagegroup-meta-webserver \
+ packagegroup-meta-webserver-http \
+ packagegroup-meta-webserver-php \
+ packagegroup-meta-webserver-support \
+ packagegroup-meta-webserver-webadmin \
+'
+
+RDEPENDS:packagegroup-meta-webserver = "\
+ packagegroup-meta-webserver-http \
+ packagegroup-meta-webserver-php \
+ packagegroup-meta-webserver-support \
+ packagegroup-meta-webserver-webadmin \
+"
+
+RDEPENDS:packagegroup-meta-webserver-http = "\
+ apache-websocket \
+ apache2 \
+ ${@bb.utils.contains("BBFILE_COLLECTIONS", "meta-python2", "cherokee", "", d)} \
+ hiawatha \
+ monkey \
+ nginx \
+ nginx \
+ sthttpd \
+"
+
+RDEPENDS:packagegroup-meta-webserver-php = "\
+ phpmyadmin \
+ xdebug \
+"
+
+RDEPENDS:packagegroup-meta-webserver-support = "\
+ spawn-fcgi \
+ fcgi \
+ fcgiwrap \
+"
+
+RDEPENDS:packagegroup-meta-webserver-webadmin = "\
+ cockpit \
+ webmin \
+ netdata \
+"
+
+EXCLUDE_FROM_WORLD = "1"
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 0beb3ed04a..4dbf595c19 100644
--- a/meta-webserver/recipes-httpd/apache-mod/apache-websocket_git.bb
+++ b/meta-webserver/recipes-httpd/apache-mod/apache-websocket_git.bb
@@ -1,33 +1,32 @@
SUMMARY = "Websocket module for Apache web server"
DESCRIPTION = "Process requests using the WebSocket protocol (RFC 6455)"
-HOMEPAGE = "https://github.com/jchampio/${PN}/"
+HOMEPAGE = "https://github.com/jchampio/apache-websocket/"
SECTION = "net"
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 = "f5230d8c520dccf8631da94bf90c23f3c1100dcc"
+SRCREV = "0ee34c77fc78ff08fd548706300b80a7bc7874e4"
-PV = "0.1.1"
+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}${libdir}/apache2/modules/
- install ${B}/.libs/mod_websocket.so ${D}${libdir}/apache2/modules/
+ install -d ${D}${libexecdir}/apache2/modules
+ install -m 755 ${B}/.libs/mod_websocket.so ${D}${libexecdir}/apache2/modules
}
-FILES_${PN} += " ${libdir}/apache2/modules/* "
-FILES_${PN}-dbg += " ${libdir}/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-native_2.4.29.bb b/meta-webserver/recipes-httpd/apache2/apache2-native_2.4.29.bb
deleted file mode 100644
index 36f073c85b..0000000000
--- a/meta-webserver/recipes-httpd/apache2/apache2-native_2.4.29.bb
+++ /dev/null
@@ -1,45 +0,0 @@
-DESCRIPTION = "The Apache HTTP Server is a powerful, efficient, and \
-extensible web server."
-SUMMARY = "Apache HTTP Server"
-HOMEPAGE = "http://httpd.apache.org/"
-DEPENDS = "expat-native pcre-native apr-native apr-util-native"
-SECTION = "net"
-LICENSE = "Apache-2.0"
-
-inherit autotools pkgconfig native
-
-SRC_URI = "${APACHE_MIRROR}/httpd/httpd-${PV}.tar.bz2 \
- file://0001-configure-use-pkg-config-for-PCRE-detection.patch \
- "
-
-S = "${WORKDIR}/httpd-${PV}"
-
-LIC_FILES_CHKSUM = "file://LICENSE;md5=a62b0c7623826ff99766ff13fb9007f8"
-SRC_URI[md5sum] = "0c599404ef6b69eee95bcd9fcd094407"
-SRC_URI[sha256sum] = "777753a5a25568a2a27428b2214980564bc1c38c1abf9ccc7630b639991f7f00"
-
-EXTRA_OECONF = "--with-apr=${STAGING_BINDIR_CROSS}/apr-1-config \
- --with-apr-util=${STAGING_BINDIR_CROSS}/apu-1-config \
- --prefix=${prefix} --datadir=${datadir}/apache2 \
- "
-
-do_install () {
- install -d ${D}${bindir} ${D}${libdir}
- cp server/gen_test_char ${D}${bindir}
- install -m 755 support/apxs ${D}${bindir}/
- install -m 755 httpd ${D}${bindir}/
- install -d ${D}${datadir}/apache2/build
- cp ${S}/build/*.mk ${D}${datadir}/apache2/build
- cp build/*.mk ${D}${datadir}/apache2/build
- cp ${S}/build/instdso.sh ${D}${datadir}/apache2/build
-
- install -d ${D}${includedir}/apache2
- cp ${S}/include/* ${D}${includedir}/apache2
- cp include/* ${D}${includedir}/apache2
- cp ${S}/os/unix/os.h ${D}${includedir}/apache2
- cp ${S}/os/unix/unixd.h ${D}${includedir}/apache2
-
- cp support/envvars-std ${D}${bindir}/envvars
- chmod 755 ${D}${bindir}/envvars
-}
-
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
new file mode 100644
index 0000000000..50775be533
--- /dev/null
+++ b/meta-webserver/recipes-httpd/apache2/apache2/0001-configure-use-pkg-config-for-PCRE-detection.patch
@@ -0,0 +1,52 @@
+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: Inappropriate [embedded specific]
+
+Signed-off-by: Koen Kooi <koen.kooi@linaro.org>
+---
+ configure.in | 26 +++++---------------------
+ 1 file changed, 5 insertions(+), 21 deletions(-)
+
+diff --git a/configure.in b/configure.in
+index 38c1d0a..c799aec 100644
+--- a/configure.in
++++ b/configure.in
+@@ -221,27 +221,11 @@ else if which $with_pcre 2>/dev/null; then :; else
+ fi
+ fi
+
+-AC_CHECK_TARGET_TOOLS(PCRE_CONFIG, [pcre2-config pcre-config],
+- [`which $with_pcre 2>/dev/null`], $with_pcre)
+-
+-if test "x$PCRE_CONFIG" != "x"; then
+- if $PCRE_CONFIG --version >/dev/null 2>&1; then :; else
+- 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 --libs8 2>/dev/null || $PCRE_CONFIG --libs`])
+-else
+- 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])
++], [
++ AC_MSG_ERROR([$PCRE_PKG_ERRORS])
++])
+ APACHE_SUBST(PCRE_LIBS)
+
+ AC_MSG_NOTICE([])
+--
+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/httpd-2.4.1-corelimit.patch b/meta-webserver/recipes-httpd/apache2/apache2/0002-apache2-bump-up-the-core-size-limit-if-CoreDumpDirec.patch
index 18e4107ec7..bbe8b325b5 100644
--- a/meta-webserver/recipes-httpd/apache2/apache2/httpd-2.4.1-corelimit.patch
+++ b/meta-webserver/recipes-httpd/apache2/apache2/0002-apache2-bump-up-the-core-size-limit-if-CoreDumpDirec.patch
@@ -1,15 +1,25 @@
+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
Bump up the core size limit if CoreDumpDirectory is
configured.
-Upstream-Status: Pending
+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(+)
---- httpd-2.4.1/server/core.c.corelimit
-+++ httpd-2.4.1/server/core.c
-@@ -4433,6 +4433,25 @@ static int core_post_config(apr_pool_t *
+diff --git a/server/core.c b/server/core.c
+index 090e397..3020090 100644
+--- a/server/core.c
++++ b/server/core.c
+@@ -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);
@@ -35,3 +45,6 @@ Note: upstreaming was discussed but there are competing desires;
return OK;
}
+--
+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
new file mode 100644
index 0000000000..adb728ba31
--- /dev/null
+++ b/meta-webserver/recipes-httpd/apache2/apache2/0003-apache2-do-not-export-apr-apr-util-symbols-when-usin.patch
@@ -0,0 +1,33 @@
+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
+
+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.
+
+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 8111877..8c0c396 100644
+--- a/server/Makefile.in
++++ b/server/Makefile.in
+@@ -60,9 +60,6 @@ export_files:
+ ls $$dir/*.h ; \
+ done; \
+ echo "$(top_srcdir)/server/mpm_fdqueue.h"; \
+- for dir in $(EXPORT_DIRS_APR); do \
+- ls $$dir/ap[ru].h $$dir/ap[ru]_*.h 2>/dev/null; \
+- done; \
+ ) | sed -e s,//,/,g | sort -u > $@
+
+ exports.c: export_files
+--
+2.25.1
+
diff --git a/meta-webserver/recipes-httpd/apache2/apache2/httpd-2.4.1-selinux.patch b/meta-webserver/recipes-httpd/apache2/apache2/0004-apache2-log-the-SELinux-context-at-startup.patch
index 873328d9b5..1abbe0c41f 100644
--- a/meta-webserver/recipes-httpd/apache2/apache2/httpd-2.4.1-selinux.patch
+++ b/meta-webserver/recipes-httpd/apache2/apache2/0004-apache2-log-the-SELinux-context-at-startup.patch
@@ -1,13 +1,23 @@
+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.
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(+)
---- httpd-2.4.1/configure.in.selinux
-+++ httpd-2.4.1/configure.in
-@@ -458,6 +458,11 @@ fopen64
+diff --git a/configure.in b/configure.in
+index 352711a..f58620f 100644
+--- a/configure.in
++++ b/configure.in
+@@ -514,6 +514,11 @@ gettid
dnl confirm that a void pointer is large enough to store a long integer
APACHE_CHECK_VOID_PTR_LEN
@@ -16,12 +26,14 @@ Note: unlikely to be any interest in this upstream
+ APR_ADDTO(AP_LIBS, [-lselinux])
+])
+
- AC_CACHE_CHECK([for gettid()], ac_cv_gettid,
- [AC_TRY_RUN(#define _GNU_SOURCE
- #include <unistd.h>
---- httpd-2.4.1/server/core.c.selinux
-+++ httpd-2.4.1/server/core.c
-@@ -58,6 +58,10 @@
+ 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 30b317e..81f145f 100644
+--- a/server/core.c
++++ b/server/core.c
+@@ -65,6 +65,10 @@
#include <unistd.h>
#endif
@@ -31,8 +43,8 @@ Note: unlikely to be any interest in this upstream
+
/* LimitRequestBody handling */
#define AP_LIMIT_REQ_BODY_UNSET ((apr_off_t) -1)
- #define AP_DEFAULT_LIMIT_REQ_BODY ((apr_off_t) 0)
-@@ -4452,6 +4456,28 @@ static int core_post_config(apr_pool_t *
+ #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
@@ -40,18 +52,18 @@ Note: unlikely to be any interest in this upstream
+ {
+ static int already_warned = 0;
+ int is_enabled = is_selinux_enabled() > 0;
-+
++
+ if (is_enabled && !already_warned) {
+ security_context_t con;
-+
++
+ if (getcon(&con) == 0) {
-+
++
+ ap_log_error(APLOG_MARK, APLOG_NOTICE, 0, NULL,
+ "SELinux policy enabled; "
+ "httpd running as context %s", con);
-+
++
+ already_warned = 1;
-+
++
+ freecon(con);
+ }
+ }
@@ -61,3 +73,5 @@ Note: unlikely to be any interest in this upstream
return OK;
}
+--
+2.40.0
diff --git a/meta-webserver/recipes-httpd/apache2/apache2/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 e4e01b2af6..7b4a1b932b 100644
--- a/meta-webserver/recipes-httpd/apache2/apache2/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 760ccbb2fb046621a2aeaecabb2b1ef9aa280cf1 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
@@ -7,13 +7,13 @@ Upstream-Status: Inappropriate [configuration]
Signed-off-by: Yulong Pei <Yulong.pei@windriver.com>
---
- support/apachectl.in | 14 ++++++++++----
- 1 files changed, 10 insertions(+), 4 deletions(-)
+ support/apachectl.in | 14 ++++++++++----
+ 1 file changed, 10 insertions(+), 4 deletions(-)
-Index: httpd-2.4.29/support/apachectl.in
-===================================================================
---- httpd-2.4.29.orig/support/apachectl.in
-+++ httpd-2.4.29/support/apachectl.in
+diff --git a/support/apachectl.in b/support/apachectl.in
+index 3281c2e..6ab4ba5 100644
+--- a/support/apachectl.in
++++ b/support/apachectl.in
@@ -52,11 +52,11 @@ fi
# a command that outputs a formatted text version of the HTML at the
# url given on the command line. Designed for lynx, however other
@@ -47,3 +47,6 @@ Index: httpd-2.4.29/support/apachectl.in
;;
*)
$HTTPD "$@"
+--
+2.25.1
+
diff --git a/meta-webserver/recipes-httpd/apache2/files/httpd-2.4.3-fix-race-issue-of-dir-install.patch b/meta-webserver/recipes-httpd/apache2/apache2/0006-apache2-fix-the-race-issue-of-parallel-installation.patch
index b948753b48..dbaf01d2c5 100644
--- a/meta-webserver/recipes-httpd/apache2/files/httpd-2.4.3-fix-race-issue-of-dir-install.patch
+++ b/meta-webserver/recipes-httpd/apache2/apache2/0006-apache2-fix-the-race-issue-of-parallel-installation.patch
@@ -1,3 +1,8 @@
+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
+
Upstream-Status: Pending
fix following race issue when do parallel install
@@ -7,10 +12,16 @@ fix following race issue when do parallel install
| make[1]: *** [install-man] Error 1
| make[1]: *** Waiting for unfinished jobs....
--Signed-off-by: Zhenhua Luo <zhenhua.luo@freescale.com>
---- httpd-2.4.3/build/mkdir.sh.orig 2013-01-25 03:47:21.565255420 -0600
-+++ httpd-2.4.3/build/mkdir.sh 2013-01-25 03:46:17.833051230 -0600
-@@ -39,7 +39,7 @@
+Signed-off-by: Zhenhua Luo <zhenhua.luo@freescale.com>
+---
+ build/mkdir.sh | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/build/mkdir.sh b/build/mkdir.sh
+index e2d5bb6..dde5ae0 100755
+--- a/build/mkdir.sh
++++ b/build/mkdir.sh
+@@ -39,7 +39,7 @@ for file in ${1+"$@"} ; do
esac
if test ! -d "$pathcomp"; then
echo "mkdir $pathcomp" 1>&2
@@ -19,3 +30,6 @@ fix following race issue when do parallel install
fi
pathcomp="$pathcomp/"
done
+--
+2.25.1
+
diff --git a/meta-webserver/recipes-httpd/apache2/files/configure-allow-to-disable-selinux-support.patch b/meta-webserver/recipes-httpd/apache2/apache2/0007-apache2-allow-to-disable-selinux-support.patch
index 5b5c297077..7163dc2b80 100644
--- a/meta-webserver/recipes-httpd/apache2/files/configure-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 d23dd33e373340f6fddf11904839d1a118824401 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
@@ -7,14 +7,14 @@ Upstream-Status: Pending
Signed-off-by: Wenzong Fan <wenzong.fan@windriver.com>
---
- configure.in | 14 ++++++++++----
+ configure.in | 14 ++++++++++----
1 file changed, 10 insertions(+), 4 deletions(-)
diff --git a/configure.in b/configure.in
-index df94ee5..8c3ab21 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 df94ee5..8c3ab21 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()
--
-1.7.9.5
+2.40.0
diff --git a/meta-webserver/recipes-httpd/apache2/apache2/0008-Fix-perl-install-directory-to-usr-bin.patch b/meta-webserver/recipes-httpd/apache2/apache2/0008-Fix-perl-install-directory-to-usr-bin.patch
new file mode 100644
index 0000000000..dc5b5c88f2
--- /dev/null
+++ b/meta-webserver/recipes-httpd/apache2/apache2/0008-Fix-perl-install-directory-to-usr-bin.patch
@@ -0,0 +1,36 @@
+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
+
+Upstream-Status: Inappropriate [configuration]
+
+Add back this patch. Without this patch, apxs's shebang will use
+perl under hosttools, which can be too long for shebang, and cause
+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 4df3ff3..4eeb609 100644
+--- a/configure.in
++++ b/configure.in
+@@ -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])
+
+-perlbin=`$ac_aux_dir/PrintPath perl`
+-if test "x$perlbin" = "x"; then
+- perlbin="/replace/with/path/to/perl/interpreter"
+-fi
++perlbin='/usr/bin/perl'
+ 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/0010-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
new file mode 100644
index 0000000000..ced8469f3a
--- /dev/null
+++ b/meta-webserver/recipes-httpd/apache2/apache2/0010-apache2-do-not-use-relative-path-for-gen_test_char.patch
@@ -0,0 +1,26 @@
+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 8c0c396..3544f55 100644
+--- a/server/Makefile.in
++++ b/server/Makefile.in
+@@ -29,7 +29,7 @@ gen_test_char: $(gen_test_char_OBJECTS)
+ $(LINK) $(EXTRA_LDFLAGS) $(gen_test_char_OBJECTS) $(EXTRA_LIBS)
+
+ test_char.h: gen_test_char
+- ./gen_test_char > test_char.h
++ gen_test_char > test_char.h
+
+ util.lo: test_char.h
+
+--
+2.25.1
+
diff --git a/meta-webserver/recipes-httpd/apache2/apache2/apache-configure_perlbin.patch b/meta-webserver/recipes-httpd/apache2/apache2/apache-configure_perlbin.patch
deleted file mode 100644
index 92c53f31d7..0000000000
--- a/meta-webserver/recipes-httpd/apache2/apache2/apache-configure_perlbin.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-# Author: echo <fei.geng@windriver.com>
-# Date: April 28 2009
-# Summary:Fix perl install directory to /usr/bin
-#
-# Upstream-Status: Inappropriate [configuration]
-
-Index: httpd-2.4.29/configure.in
-===================================================================
---- httpd-2.4.29.orig/configure.in
-+++ httpd-2.4.29/configure.in
-@@ -855,10 +855,7 @@ AC_DEFINE_UNQUOTED(SERVER_CONFIG_FILE, "
- AC_DEFINE_UNQUOTED(AP_TYPES_CONFIG_FILE, "${rel_sysconfdir}/mime.types",
- [Location of the MIME types config file, relative to the Apache root directory])
-
--perlbin=`$ac_aux_dir/PrintPath perl`
--if test "x$perlbin" = "x"; then
-- perlbin="/replace/with/path/to/perl/interpreter"
--fi
-+perlbin='/usr/bin/perl'
- AC_SUBST(perlbin)
-
- dnl If we are running on BSD/OS, we need to use the BSD .include syntax.
diff --git a/meta-webserver/recipes-httpd/apache2/apache2/apache-ssl-ltmain-rpath.patch b/meta-webserver/recipes-httpd/apache2/apache2/apache-ssl-ltmain-rpath.patch
deleted file mode 100644
index f13da91f39..0000000000
--- a/meta-webserver/recipes-httpd/apache2/apache2/apache-ssl-ltmain-rpath.patch
+++ /dev/null
@@ -1,81 +0,0 @@
- build/ltmain.sh | 32 +++++++++++++++++++++++++++-----
- 1 file changed, 27 insertions(+), 5 deletions(-)
-
-Index: httpd-2.4.29/build/ltmain.sh
-===================================================================
---- httpd-2.4.29.orig/build/ltmain.sh
-+++ httpd-2.4.29/build/ltmain.sh
-@@ -6969,7 +6969,7 @@ func_mode_link ()
- dir=$func_resolve_sysroot_result
- # We need an absolute path.
- case $dir in
-- [\\/]* | [A-Za-z]:[\\/]*) ;;
-+ =* | [\\/]* | [A-Za-z]:[\\/]*) ;;
- *)
- absdir=`cd "$dir" && pwd`
- test -z "$absdir" && \
-@@ -8167,7 +8167,7 @@ func_mode_link ()
- $ECHO "*** $linklib is not portable!"
- fi
- if test lib = "$linkmode" &&
-- test yes = "$hardcode_into_libs"; then
-+ test "x$wrs_use_rpaths" = "xyes" && test "$hardcode_into_libs" = yes; then
- # Hardcode the library path.
- # Skip directories that are in the system default run-time
- # search path.
-@@ -8434,7 +8434,7 @@ func_mode_link ()
-
- if test lib = "$linkmode"; then
- if test -n "$dependency_libs" &&
-- { test yes != "$hardcode_into_libs" ||
-+ { test yes != "$hardcode_into_libs" || test "x$wrs_use_rpaths" != "xyes" ||
- test yes = "$build_old_libs" ||
- test yes = "$link_static"; }; then
- # Extract -R from dependency_libs
-@@ -9086,7 +9086,8 @@ func_mode_link ()
- *) func_append finalize_rpath " $libdir" ;;
- esac
- done
-- if test yes != "$hardcode_into_libs" || test yes = "$build_old_libs"; then
-+ if test yes != "$hardcode_into_libs" || test "x$wrs_use_rpaths" != "xyes" ||
-+ test yes = "$build_old_libs"; then
- dependency_libs="$temp_xrpath $dependency_libs"
- fi
- fi
-@@ -9534,7 +9535,7 @@ EOF
- case $archive_cmds in
- *\$LD\ *) wl= ;;
- esac
-- if test yes = "$hardcode_into_libs"; then
-+ if test yes = "$hardcode_into_libs" && test "x$wrs_use_rpaths" = "xyes"; then
- # Hardcode the library paths
- hardcode_libdirs=
- dep_rpath=
-@@ -10272,6 +10273,27 @@ EOF
- # Now hardcode the library paths
- rpath=
- hardcode_libdirs=
-+
-+ # short circuit putting rpaths in executables
-+ #
-+ if test "x$wrs_use_rpaths" != "xyes" ; then
-+ flag=
-+ for libdir in $compile_rpath; do
-+ case $(echo $libdir | ${SED} 's,/[/]*,/,g') in
-+ /usr/lib/* | /usr/lib32/* | /usr/lib64/* ) flag="$flag $libdir" ;;
-+ esac
-+ done
-+ compile_rpath="$flag"
-+
-+ flag=
-+ for libdir in $finalize_rpath; do
-+ case $(echo $libdir | ${SED} 's,/[/]*,/,g') in
-+ /usr/lib/* | /usr/lib32/* | /usr/lib64/* ) flag="$flag $libdir" ;;
-+ esac
-+ done
-+ finalize_rpath="$flag"
-+ fi
-+
- for libdir in $compile_rpath $finalize_rpath; do
- if test -n "$hardcode_libdir_flag_spec"; then
- if test -n "$hardcode_libdir_separator"; then
diff --git a/meta-webserver/recipes-httpd/apache2/apache2/httpd-2.4.4-export.patch b/meta-webserver/recipes-httpd/apache2/apache2/httpd-2.4.4-export.patch
deleted file mode 100644
index afbed8e550..0000000000
--- a/meta-webserver/recipes-httpd/apache2/apache2/httpd-2.4.4-export.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-
-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.
-
-Upstream-HEAD: needed
-Upstream-2.0: omit
-Upstream-Status: Pending
-
-Note: EXPORT_DIRS change is conditional on using shared apr
-
---- httpd-2.4.4/server/Makefile.in.export
-+++ httpd-2.4.4/server/Makefile.in
-@@ -57,9 +57,6 @@ export_files:
- ( for dir in $(EXPORT_DIRS); do \
- ls $$dir/*.h ; \
- done; \
-- for dir in $(EXPORT_DIRS_APR); do \
-- ls $$dir/ap[ru].h $$dir/ap[ru]_*.h 2>/dev/null; \
-- done; \
- ) | sed -e s,//,/,g | sort -u > $@
-
- exports.c: export_files
diff --git a/meta-webserver/recipes-httpd/apache2/apache2/server-makefile.patch b/meta-webserver/recipes-httpd/apache2/apache2/server-makefile.patch
deleted file mode 100644
index f1349cb6a4..0000000000
--- a/meta-webserver/recipes-httpd/apache2/apache2/server-makefile.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- http-2.0.54/server/Makefile.in-old 2005-12-20 13:26:56.000000000 -0500
-+++ http-2.0.54/server/Makefile.in 2005-12-20 13:27:22.000000000 -0500
-@@ -27,7 +27,7 @@
- $(LINK) $(EXTRA_LDFLAGS) $(gen_test_char_OBJECTS) $(EXTRA_LIBS)
-
- test_char.h: gen_test_char
-- ./gen_test_char > test_char.h
-+ gen_test_char > test_char.h
-
- util.lo: test_char.h
-
diff --git a/meta-webserver/recipes-httpd/apache2/apache2_2.4.29.bb b/meta-webserver/recipes-httpd/apache2/apache2_2.4.29.bb
deleted file mode 100644
index f0298b91ab..0000000000
--- a/meta-webserver/recipes-httpd/apache2/apache2_2.4.29.bb
+++ /dev/null
@@ -1,194 +0,0 @@
-DESCRIPTION = "The Apache HTTP Server is a powerful, efficient, and \
-extensible web server."
-SUMMARY = "Apache HTTP Server"
-HOMEPAGE = "http://httpd.apache.org/"
-DEPENDS = "libtool-native apache2-native openssl expat pcre apr apr-util"
-SECTION = "net"
-LICENSE = "Apache-2.0"
-
-SRC_URI = "${APACHE_MIRROR}/httpd/httpd-${PV}.tar.bz2 \
- file://server-makefile.patch \
- file://httpd-2.4.1-corelimit.patch \
- file://httpd-2.4.4-export.patch \
- file://httpd-2.4.1-selinux.patch \
- file://apache-configure_perlbin.patch \
- file://replace-lynx-to-curl-in-apachectl-script.patch \
- file://apache-ssl-ltmain-rpath.patch \
- file://httpd-2.4.3-fix-race-issue-of-dir-install.patch \
- file://0001-configure-use-pkg-config-for-PCRE-detection.patch \
- file://configure-allow-to-disable-selinux-support.patch \
- file://init \
- file://apache2-volatile.conf \
- file://apache2.service \
- file://volatiles.04_apache2 \
- "
-
-LIC_FILES_CHKSUM = "file://LICENSE;md5=a62b0c7623826ff99766ff13fb9007f8"
-SRC_URI[md5sum] = "0c599404ef6b69eee95bcd9fcd094407"
-SRC_URI[sha256sum] = "777753a5a25568a2a27428b2214980564bc1c38c1abf9ccc7630b639991f7f00"
-
-S = "${WORKDIR}/httpd-${PV}"
-
-inherit autotools update-rc.d pkgconfig systemd
-
-SYSTEMD_SERVICE_${PN} = "apache2.service"
-SYSTEMD_AUTO_ENABLE_${PN} = "disable"
-
-SSTATE_SCAN_FILES += "apxs config_vars.mk config.nice"
-
-CFLAGS_append = " -DPATH_MAX=4096"
-CFLAGS_prepend = "-I${STAGING_INCDIR}/openssl "
-EXTRA_OECONF = "--enable-ssl \
- --with-ssl=${STAGING_LIBDIR}/.. \
- --with-expat=${STAGING_LIBDIR}/.. \
- --with-apr=${STAGING_BINDIR_CROSS}/apr-1-config \
- --with-apr-util=${STAGING_BINDIR_CROSS}/apu-1-config \
- --enable-info \
- --enable-rewrite \
- --with-dbm=sdbm \
- --with-berkeley-db=no \
- --localstatedir=/var/${BPN} \
- --with-gdbm=no \
- --with-ndbm=no \
- --includedir=${includedir}/${BPN} \
- --datadir=${datadir}/${BPN} \
- --sysconfdir=${sysconfdir}/${BPN} \
- --libexecdir=${libdir}/${BPN}/modules \
- ap_cv_void_ptr_lt_long=no \
- --enable-mpms-shared \
- ac_cv_have_threadsafe_pollset=no"
-
-PACKAGECONFIG ?= "${@bb.utils.filter('DISTRO_FEATURES', 'selinux', d)}"
-PACKAGECONFIG[selinux] = "--enable-selinux --enable-layout=Debian --prefix=${base_prefix}/,--disable-selinux,libselinux,libselinux"
-PACKAGECONFIG[openldap] = "--enable-ldap --enable-authnz-ldap,--disable-ldap --disable-authnz-ldap,openldap"
-
-do_configure_prepend() {
- sed -i -e 's:$''{prefix}/usr/lib/cgi-bin:$''{libdir}/cgi-bin:g' ${S}/config.layout
-}
-
-do_install_append() {
- install -d ${D}/${sysconfdir}/init.d
- cat ${WORKDIR}/init | \
- sed -e 's,/usr/sbin/,${sbindir}/,g' \
- -e 's,/usr/bin/,${bindir}/,g' \
- -e 's,/usr/lib,${libdir}/,g' \
- -e 's,/etc/,${sysconfdir}/,g' \
- -e 's,/usr/,${prefix}/,g' > ${D}/${sysconfdir}/init.d/${BPN}
- chmod 755 ${D}/${sysconfdir}/init.d/${BPN}
- # remove the goofy original files...
- rm -rf ${D}/${sysconfdir}/${BPN}/original
- # Expat should be found in the staging area via DEPENDS...
- rm -f ${D}/${libdir}/libexpat.*
-
- install -d ${D}${sysconfdir}/${BPN}/conf.d
- install -d ${D}${sysconfdir}/${BPN}/modules.d
-
- # Ensure configuration file pulls in conf.d and modules.d
- printf "\nIncludeOptional ${sysconfdir}/${BPN}/conf.d/*.conf" >> ${D}/${sysconfdir}/${BPN}/httpd.conf
- printf "\nIncludeOptional ${sysconfdir}/${BPN}/modules.d/*.load" >> ${D}/${sysconfdir}/${BPN}/httpd.conf
- printf "\nIncludeOptional ${sysconfdir}/${BPN}/modules.d/*.conf\n\n" >> ${D}/${sysconfdir}/${BPN}/httpd.conf
- # match with that is in init script
- printf "\nPidFile /run/httpd.pid" >> ${D}/${sysconfdir}/${BPN}/httpd.conf
- # Set 'ServerName' to fix error messages when restart apache service
- sed -i 's/^#ServerName www.example.com/ServerName localhost/' ${D}/${sysconfdir}/${BPN}/httpd.conf
-
- 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/
- 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
- fi
-
- install -d ${D}${systemd_unitdir}/system
- install -m 0644 ${WORKDIR}/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
-
- chown -R root:root ${D}
-}
-
-do_install_append_class-target() {
- sed -i -e 's,${STAGING_DIR_HOST},,g' \
- -e 's,APU_INCLUDEDIR = .*,APU_INCLUDEDIR = ,g' \
- -e 's,APU_CONFIG = .*,APU_CONFIG = ,g' ${D}${datadir}/apache2/build/config_vars.mk
-
- sed -i -e 's,${STAGING_DIR_HOST},,g' \
- -e 's,".*/configure","configure",g' ${D}${datadir}/apache2/build/config.nice
- rm -rf ${D}${localstatedir}/run
-}
-
-SYSROOT_PREPROCESS_FUNCS += "apache_sysroot_preprocess"
-
-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
-}
-
-#
-# implications - used by update-rc.d scripts
-#
-INITSCRIPT_NAME = "apache2"
-INITSCRIPT_PARAMS = "defaults 91 20"
-LEAD_SONAME = "libapr-1.so.0"
-
-PACKAGES = "${PN}-scripts ${PN}-doc ${PN}-dev ${PN}-dbg ${PN}"
-
-CONFFILES_${PN} = "${sysconfdir}/${BPN}/httpd.conf \
- ${sysconfdir}/${BPN}/magic \
- ${sysconfdir}/${BPN}/mime.types \
- ${sysconfdir}/init.d/${BPN} "
-
-# 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 \
- ${datadir}/${BPN}/icons \
- ${datadir}/${BPN}/error \
- ${bindir}/apr-config ${bindir}/apu-config \
- ${libdir}/apr*.exp \
- ${includedir}/${BPN} \
- ${libdir}/*.la \
- ${libdir}/*.a \
- ${bindir}/apxs \
- "
-
-
-# manual to manual
-FILES_${PN}-doc += " ${datadir}/${BPN}/manual"
-
-FILES_${PN}-scripts += "${bindir}/dbmmanage"
-
-#
-# override this too - here is the default, less datadir
-#
-FILES_${PN} = "${bindir} ${sbindir} ${libexecdir} ${libdir}/lib*.so.* ${sysconfdir} \
- ${sharedstatedir} ${localstatedir} /bin /sbin /lib/*.so* \
- ${libdir}/${BPN}"
-
-# we want htdocs and cgi-bin to go with the binary
-FILES_${PN} += "${datadir}/${BPN}/htdocs ${datadir}/${BPN}/cgi-bin"
-
-#make sure the lone .so links also get wrapped in the base package
-FILES_${PN} += "${libdir}/lib*.so ${libdir}/pkgconfig/*"
-
-FILES_${PN}-dbg += "${libdir}/${BPN}/modules/.debug"
-
-RDEPENDS_${PN} += "openssl libgcc"
-RDEPENDS_${PN}-scripts += "perl ${PN}"
-RDEPENDS_${PN}-dev = "perl"
-
-FILES_${PN} += "${libdir}/cgi-bin"
-FILES_${PN} += "${datadir}/${BPN}/"
diff --git a/meta-webserver/recipes-httpd/apache2/apache2_2.4.59.bb b/meta-webserver/recipes-httpd/apache2/apache2_2.4.59.bb
new file mode 100644
index 0000000000..1632c6ccb1
--- /dev/null
+++ b/meta-webserver/recipes-httpd/apache2/apache2_2.4.59.bb
@@ -0,0 +1,247 @@
+DESCRIPTION = "The Apache HTTP Server is a powerful, efficient, and \
+extensible web server."
+SUMMARY = "Apache HTTP Server"
+HOMEPAGE = "http://httpd.apache.org/"
+SECTION = "net"
+LICENSE = "Apache-2.0"
+
+SRC_URI = "${APACHE_MIRROR}/httpd/httpd-${PV}.tar.bz2 \
+ file://0001-configure-use-pkg-config-for-PCRE-detection.patch \
+ file://0002-apache2-bump-up-the-core-size-limit-if-CoreDumpDirec.patch \
+ file://0003-apache2-do-not-export-apr-apr-util-symbols-when-usin.patch \
+ file://0004-apache2-log-the-SELinux-context-at-startup.patch \
+ 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://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://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=bddeddfac80b2c9a882241d008bb41c3"
+SRC_URI[sha256sum] = "ec51501ec480284ff52f637258135d333230a7d229c3afa6f6c2f9040e321323"
+
+S = "${WORKDIR}/httpd-${PV}"
+
+inherit autotools update-rc.d pkgconfig systemd multilib_script multilib_header
+
+DEPENDS = "openssl expat pcre apr apr-util apache2-native "
+
+CVE_PRODUCT = "apache:http_server"
+
+SSTATE_SCAN_FILES += "apxs config_vars.mk config.nice"
+
+PACKAGECONFIG ?= "${@bb.utils.filter('DISTRO_FEATURES', 'selinux', d)}"
+PACKAGECONFIG[selinux] = "--enable-selinux,--disable-selinux,libselinux,libselinux"
+PACKAGECONFIG[openldap] = "--enable-ldap --enable-authnz-ldap,--disable-ldap --disable-authnz-ldap,openldap"
+PACKAGECONFIG[zlib] = "--enable-deflate,,zlib,zlib"
+
+CFLAGS:append = " -DPATH_MAX=4096"
+
+EXTRA_OECONF:class-target = "\
+ --enable-layout=Debian \
+ --prefix=${base_prefix} \
+ --exec_prefix=${exec_prefix} \
+ --includedir=${includedir}/${BPN} \
+ --sysconfdir=${sysconfdir}/${BPN} \
+ --datadir=${datadir}/${BPN} \
+ --libdir=${libdir} \
+ --libexecdir=${libexecdir}/${BPN}/modules \
+ --localstatedir=${localstatedir} \
+ --enable-ssl \
+ --with-dbm=sdbm \
+ --with-gdbm=no \
+ --with-ndbm=no \
+ --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 = "\
+ --prefix=${prefix} \
+ --includedir=${includedir}/${BPN} \
+ --sysconfdir=${sysconfdir}/${BPN} \
+ --datadir=${datadir}/${BPN} \
+ --libdir=${libdir} \
+ --libexecdir=${libdir}/${BPN}/modules \
+ --localstatedir=${localstatedir} \
+ "
+
+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() {
+ install -d ${D}/${sysconfdir}/init.d
+
+ cat ${UNPACKDIR}/init | \
+ sed -e 's,/usr/sbin/,${sbindir}/,g' \
+ -e 's,/usr/bin/,${bindir}/,g' \
+ -e 's,/usr/lib/,${libdir}/,g' \
+ -e 's,/etc/,${sysconfdir}/,g' \
+ -e 's,/usr/,${prefix}/,g' > ${D}/${sysconfdir}/init.d/${BPN}
+
+ chmod 755 ${D}/${sysconfdir}/init.d/${BPN}
+
+ # Remove the goofy original files...
+ rm -rf ${D}/${sysconfdir}/${BPN}/original
+
+ install -d ${D}${sysconfdir}/${BPN}/conf.d
+ install -d ${D}${sysconfdir}/${BPN}/modules.d
+
+ # Ensure configuration file pulls in conf.d and modules.d
+ printf "\nIncludeOptional ${sysconfdir}/${BPN}/conf.d/*.conf" >> ${D}/${sysconfdir}/${BPN}/httpd.conf
+ printf "\nIncludeOptional ${sysconfdir}/${BPN}/modules.d/*.load" >> ${D}/${sysconfdir}/${BPN}/httpd.conf
+ printf "\nIncludeOptional ${sysconfdir}/${BPN}/modules.d/*.conf\n\n" >> ${D}/${sysconfdir}/${BPN}/httpd.conf
+
+ # Match with that is in init script
+ printf "\nPidFile /run/httpd.pid" >> ${D}/${sysconfdir}/${BPN}/httpd.conf
+
+ # Set 'ServerName' to fix error messages when restart apache service
+ sed -i 's/^#ServerName www.example.com/ServerName localhost/' ${D}/${sysconfdir}/${BPN}/httpd.conf
+
+ sed -i 's/^ServerRoot/#ServerRoot/' ${D}/${sysconfdir}/${BPN}/httpd.conf
+
+ 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; 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}${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; s,-fmacro-prefix-map[^ ]*,,g' \
+ -e 's,APU_INCLUDEDIR = .*,APU_INCLUDEDIR = ,g' \
+ -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 ${UNPACKDIR}/apache2-volatile.conf ${D}${sysconfdir}/tmpfiles.d/
+
+ install -d ${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 ${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() {
+ 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_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 = \)"\(.*\)"!\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"
+
+ALTERNATIVE:${PN}-doc = "htpasswd.1"
+ALTERNATIVE_LINK_NAME[htpasswd.1] = "${mandir}/man1/htpasswd.1"
+
+MULTILIB_SCRIPTS = "${PN}-dev:${bindir}/apxs"
+
+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 = "${libexecdir}/${PN}/build \
+ ${datadir}/${BPN}/icons \
+ ${datadir}/${BPN}/error \
+ ${includedir}/${BPN} \
+ ${bindir}/apxs \
+ "
+
+# Add the manual to -doc
+FILES:${PN}-doc += " ${datadir}/${BPN}/manual"
+
+FILES:${PN}-scripts += "${bindir}/dbmmanage"
+
+# Override this too - here is the default, less datadir
+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}-dbg += "${libdir}/${BPN}/modules/.debug"
+
+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/0001-configure-use-pkg-config-for-PCRE-detection.patch b/meta-webserver/recipes-httpd/apache2/files/0001-configure-use-pkg-config-for-PCRE-detection.patch
deleted file mode 100644
index 63096db0a3..0000000000
--- a/meta-webserver/recipes-httpd/apache2/files/0001-configure-use-pkg-config-for-PCRE-detection.patch
+++ /dev/null
@@ -1,52 +0,0 @@
-From d8837756f2a48adcfe5d645c39cf163d96eac76c 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
-
-Signed-off-by: Koen Kooi <koen.kooi@linaro.org>
-Upstream-Status: pending
----
- configure.in | 27 +++++----------------------
- 1 file changed, 5 insertions(+), 22 deletions(-)
-
-diff --git a/configure.in b/configure.in
-index 864d7c7..da4138e 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))
-
--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
--
--if test "$PCRE_CONFIG" != "false"; then
-- if $PCRE_CONFIG --version >/dev/null 2>&1; then :; else
-- AC_MSG_ERROR([Did not find pcre-config script at $PCRE_CONFIG])
-- fi
-- case `$PCRE_CONFIG --version` in
-- [[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`])
--else
-- AC_MSG_ERROR([pcre-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])
-+], [
-+ AC_MSG_ERROR([$PCRE_PKG_ERRORS])
-+])
- APACHE_SUBST(PCRE_LIBS)
-
- AC_MSG_NOTICE([])
---
-1.9.3
-
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/apache2/files/init b/meta-webserver/recipes-httpd/apache2/files/init
index 758d133b9e..758d133b9e 100755..100644
--- a/meta-webserver/recipes-httpd/apache2/files/init
+++ b/meta-webserver/recipes-httpd/apache2/files/init
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 4c3ca556bd..1111ef6f56 100644
--- a/meta-webserver/recipes-httpd/hiawatha/hiawatha_10.7.bb
+++ b/meta-webserver/recipes-httpd/hiawatha/hiawatha_10.12.bb
@@ -1,29 +1,29 @@
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"
+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
EXTRA_OECMAKE = " -DENABLE_IPV6=OFF \
-DENABLE_CACHE=OFF \
-DENABLE_DEBUG=OFF \
- -DENABLE_SSL=OFF \
+ -DENABLE_TLS=OFF \
-DENABLE_TOOLKIT=OFF \
-DENABLE_CHROOT=OFF \
-DENABLE_XSLT=ON \
@@ -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/default_server.site b/meta-webserver/recipes-httpd/nginx/files/default_server.site
new file mode 100644
index 0000000000..7a8a215cfa
--- /dev/null
+++ b/meta-webserver/recipes-httpd/nginx/files/default_server.site
@@ -0,0 +1,14 @@
+# Default server configuration
+server {
+ listen 80 default_server;
+ listen [::]:80 default_server;
+
+ root /var/www/localhost/html;
+
+ index index.html index.htm;
+
+ server_name _;
+
+ # redirect server error pages to the static page /50x.html
+ error_page 500 502 503 504 /50x.html;
+}
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/files/nginx.conf b/meta-webserver/recipes-httpd/nginx/files/nginx.conf
index 69d3a2adc9..6d219422b3 100644
--- a/meta-webserver/recipes-httpd/nginx/files/nginx.conf
+++ b/meta-webserver/recipes-httpd/nginx/files/nginx.conf
@@ -1,118 +1,47 @@
-
user www;
-worker_processes 1;
-
-error_log /var/log/nginx/error.log;
-#error_log logs/error.log notice;
-#error_log logs/error.log info;
-
-pid /run/nginx/nginx.pid;
-
+worker_processes 1;
+pid /run/nginx/nginx.pid;
+include /etc/nginx/modules-enabled/*.conf;
events {
- worker_connections 1024;
+ worker_connections 768;
+ # multi_accept on;
}
-
http {
- include mime.types;
+ # Basic Settings
+ sendfile on;
+ tcp_nopush on;
+ tcp_nodelay on;
+ keepalive_timeout 65;
+ types_hash_max_size 2048;
+ # server_tokens off;
+
+ # server_names_hash_bucket_size 64;
+ # server_name_in_redirect off;
+
+ include /etc/nginx/mime.types;
default_type application/octet-stream;
- log_format main '$remote_addr - $remote_user [$time_local] "$request" '
- '$status $body_bytes_sent "$http_referer" '
- '"$http_user_agent" "$http_x_forwarded_for"';
-
- access_log /var/log/nginx/access.log main;
-
- sendfile on;
- #tcp_nopush on;
-
- #keepalive_timeout 0;
- keepalive_timeout 65;
-
- #gzip on;
-
- server {
- listen 80;
- server_name localhost;
-
- #charset koi8-r;
-
- #access_log logs/host.access.log main;
-
- location / {
- root /var/www/localhost/html;
- index index.html index.htm;
- }
-
- #error_page 404 /404.html;
-
- # redirect server error pages to the static page /50x.html
- #
- error_page 500 502 503 504 /50x.html;
- location = /50x.html {
- root /var/www/localhost/html;
- }
-
- # proxy the PHP scripts to Apache listening on 127.0.0.1:80
- #
- #location ~ \.php$ {
- # proxy_pass http://127.0.0.1;
- #}
-
- # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
- #
- #location ~ \.php$ {
- # root html;
- # fastcgi_pass 127.0.0.1:9000;
- # fastcgi_index index.php;
- # fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
- # include fastcgi_params;
- #}
-
- # deny access to .htaccess files, if Apache's document root
- # concurs with nginx's one
- #
- #location ~ /\.ht {
- # deny all;
- #}
- }
-
-
- # another virtual host using mix of IP-, name-, and port-based configuration
- #
- #server {
- # listen 8000;
- # listen somename:8080;
- # server_name somename alias another.alias;
-
- # location / {
- # root html;
- # index index.html index.htm;
- # }
- #}
-
-
- # HTTPS server
- #
- #server {
- # listen 443;
- # server_name localhost;
-
- # ssl on;
- # ssl_certificate cert.pem;
- # ssl_certificate_key cert.key;
+ # SSL Settings
+ ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3; # Dropping SSLv3, ref: POODLE
+ ssl_prefer_server_ciphers on;
- # ssl_session_timeout 5m;
+ ## Logging
+ access_log /var/log/nginx/access.log;
+ error_log /var/log/nginx/error.log;
- # ssl_protocols SSLv2 SSLv3 TLSv1;
- # ssl_ciphers HIGH:!aNULL:!MD5;
- # ssl_prefer_server_ciphers on;
+ ## Gzip settings
+ gzip on;
- # location / {
- # root html;
- # index index.html index.htm;
- # }
- #}
+ gzip_vary on;
+ gzip_proxied any;
+ gzip_comp_level 6;
+ gzip_buffers 16 8k;
+ gzip_http_version 1.1;
+ gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;
+ ## Virtual Host Configs
+ include /etc/nginx/conf.d/*.conf;
+ include /etc/nginx/sites-enabled/*;
}
diff --git a/meta-webserver/recipes-httpd/nginx/files/nginx.service b/meta-webserver/recipes-httpd/nginx/files/nginx.service
index ce99061717..9a6ca96517 100644
--- a/meta-webserver/recipes-httpd/nginx/files/nginx.service
+++ b/meta-webserver/recipes-httpd/nginx/files/nginx.service
@@ -1,11 +1,15 @@
[Unit]
-Description=Nginx Server
-After=network.target
+Description=The NGINX HTTP and reverse proxy server
+After=syslog.target network.target remote-fs.target nss-lookup.target
+
[Service]
Type=forking
PIDFile=/run/nginx/nginx.pid
+ExecStartPre=@SBINDIR@/nginx -t
ExecStart=@SBINDIR@/nginx
-ExecStop=@SBINDIR@/nginx -s stop
ExecReload=@SBINDIR@/nginx -s reload
+ExecStop=@BASE_BINDIR@/kill -s QUIT $MAINPID
+PrivateTmp=true
+
[Install]
WantedBy=multi-user.target
diff --git a/meta-webserver/recipes-httpd/nginx/files/proxy_params b/meta-webserver/recipes-httpd/nginx/files/proxy_params
new file mode 100644
index 0000000000..df75bc5d74
--- /dev/null
+++ b/meta-webserver/recipes-httpd/nginx/files/proxy_params
@@ -0,0 +1,4 @@
+proxy_set_header Host $http_host;
+proxy_set_header X-Real-IP $remote_addr;
+proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
+proxy_set_header X-Forwarded-Proto $scheme;
diff --git a/meta-webserver/recipes-httpd/nginx/nginx.inc b/meta-webserver/recipes-httpd/nginx/nginx.inc
index e6ae52a09f..2714c3d22f 100644
--- a/meta-webserver/recipes-httpd/nginx/nginx.inc
+++ b/meta-webserver/recipes-httpd/nginx/nginx.inc
@@ -9,24 +9,28 @@ LICENSE = "BSD-2-Clause"
SECTION = "net"
-DEPENDS = "libpcre zlib openssl"
+DEPENDS = "libpcre zlib"
SRC_URI = " \
http://nginx.org/download/nginx-${PV}.tar.gz \
file://nginx-cross.patch \
file://0001-Allow-the-overriding-of-the-endianness-via-the-confi.patch \
file://nginx.conf \
+ file://default_server.site \
+ file://proxy_params \
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"
@@ -34,7 +38,18 @@ NGINX_USER ?= "www"
EXTRA_OECONF = ""
DISABLE_STATIC = ""
+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
@@ -58,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 \
@@ -71,7 +86,7 @@ do_configure () {
--http-scgi-temp-path=/run/nginx/scgi_temp \
--pid-path=/run/nginx/nginx.pid \
--prefix=${prefix} \
- --with-http_ssl_module \
+ --with-threads \
--with-http_gzip_static_module \
${EXTRA_OECONF} ${PACKAGECONFIG_CONFARGS}
}
@@ -83,44 +98,62 @@ 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 ${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 ${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
+ # cleanup configuration folder
+ rm ${D}${sysconfdir}/nginx/*.default
+
+ # add additional configuration folders
+ install -d ${D}${sysconfdir}/nginx/modules-available
+ install -d ${D}${sysconfdir}/nginx/modules-enabled
+ install -d ${D}${sysconfdir}/nginx/server-conf.d
+ install -d ${D}${sysconfdir}/nginx/conf.d
+
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
@@ -128,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 \
@@ -149,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.12.2.bb b/meta-webserver/recipes-httpd/nginx/nginx_1.12.2.bb
deleted file mode 100644
index 85ad29b081..0000000000
--- a/meta-webserver/recipes-httpd/nginx/nginx_1.12.2.bb
+++ /dev/null
@@ -1,6 +0,0 @@
-require nginx.inc
-
-LIC_FILES_CHKSUM = "file://LICENSE;md5=903753de5f86a1ee0341fd2f9491b282"
-
-SRC_URI[md5sum] = "4d2fc76211435f029271f1cf6d7eeae3"
-SRC_URI[sha256sum] = "305f379da1d5fb5aefa79e45c829852ca6983c7cd2a79328f8e084a324cf0416"
diff --git a/meta-webserver/recipes-httpd/nginx/nginx_1.13.9.bb b/meta-webserver/recipes-httpd/nginx/nginx_1.13.9.bb
deleted file mode 100644
index 9234794472..0000000000
--- a/meta-webserver/recipes-httpd/nginx/nginx_1.13.9.bb
+++ /dev/null
@@ -1,10 +0,0 @@
-require nginx.inc
-
-# 1.12.x branch is the current stable branch, the recommended default
-# 1.13.x is the current mainline branches containing all new features
-DEFAULT_PREFERENCE = "-1"
-
-LIC_FILES_CHKSUM = "file://LICENSE;md5=3691402cc54ce09f800ca348634a2dfe"
-
-SRC_URI[md5sum] = "dcd482dd98d2022659212f183e8fe81b"
-SRC_URI[sha256sum] = "5faea18857516fe68d30be39c3032bd22ed9cf85e1a6fdf32e3721d96ff7fa42"
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 16f45ce666..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"
-
-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 37bd7537dd..ec188cc482 100644
--- a/meta-webserver/recipes-httpd/sthttpd/sthttpd_2.27.1.bb
+++ b/meta-webserver/recipes-httpd/sthttpd/sthttpd_2.27.1.bb
@@ -4,22 +4,25 @@ HOMEPAGE = "http://opensource.dyc.edu/sthttpd"
LICENSE = "BSD-2-Clause"
LIC_FILES_CHKSUM = "file://src/thttpd.c;beginline=1;endline=26;md5=0c5762c2c34dcbe9eb18815516502872"
-DEPENDS += "base-passwd"
+DEPENDS += "base-passwd virtual/crypt"
-SRC_URI = "https://github.com/blueness/${BPN}/archive/v${PV}.tar.gz;downloadfilename=${BP}.tar.gz \
+SRCREV = "2845bf5bff2b820d2336c8c8061cbfc5f271e720"
+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"
-SRC_URI[md5sum] = "3cda1b6c8c8542b1510eadb8e540d8b6"
-SRC_URI[sha256sum] = "a1ee2806432eaf5b5dd267a0523701f9f1fa00fefd499d5bec42165a41e05846"
-
UPSTREAM_CHECK_URI = "https://github.com/blueness/sthttpd/releases/"
UPSTREAM_CHECK_REGEX = "v(?P<pver>\d+(\.\d+)+).tar.gz"
-S = "${WORKDIR}/sthttpd-${PV}"
+S = "${WORKDIR}/git"
+
+inherit autotools update-rc.d systemd update-alternatives
-inherit autotools update-rc.d systemd
+ALTERNATIVE_PRIORITY = "100"
+ALTERNATIVE:${PN}-doc = "htpasswd.1"
+ALTERNATIVE_LINK_NAME[htpasswd.1] = "${mandir}/man1/htpasswd.1"
SRV_DIR ?= "${servicedir}/www"
@@ -27,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
@@ -50,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."
diff --git a/meta-webserver/recipes-php/phpmyadmin/phpmyadmin_4.7.9.bb b/meta-webserver/recipes-php/phpmyadmin/phpmyadmin_5.2.1.bb
index 071572d69c..7c3810154f 100644
--- a/meta-webserver/recipes-php/phpmyadmin/phpmyadmin_4.7.9.bb
+++ b/meta-webserver/recipes-php/phpmyadmin/phpmyadmin_5.2.1.bb
@@ -1,18 +1,17 @@
SUMMARY = "Web-based MySQL administration interface"
HOMEPAGE = "http://www.phpmyadmin.net"
# Main code is GPLv2, vendor/tecnickcom/tcpdf is under LGPLv3, js/jquery is under MIT
-LICENSE = "GPLv2 & LGPLv3 & MIT"
+LICENSE = "GPL-2.0-only & LGPL-3.0-only & MIT"
LIC_FILES_CHKSUM = "file://LICENSE;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
- file://vendor/tecnickcom/tcpdf/LICENSE.TXT;md5=5c87b66a5358ebcc495b03e0afcd342c \
- file://js/jquery/MIT-LICENSE.txt;md5=e43aa437a6a1ba421653bd5034333bf9 \
+ file://vendor/tecnickcom/tcpdf/LICENSE.TXT;md5=d0ff7e060074497f34481cf574e8a581 \
+ file://js/vendor/jquery/MIT-LICENSE.txt;md5=de877aa6d744cc160ff41c26a8e4811f \
"
SRC_URI = "https://files.phpmyadmin.net/phpMyAdmin/${PV}/phpMyAdmin-${PV}-all-languages.tar.xz \
file://apache.conf \
"
-SRC_URI[md5sum] = "0a862e3fa52c8b9078e0441ee82be831"
-SRC_URI[sha256sum] = "f19b503f0afb0dd3389d4bb11dab3f438d36e85eef11a5c400c592fd5f539398"
+SRC_URI[sha256sum] = "373f9599dfbd96d6fe75316d5dad189e68c305f297edf42377db9dd6b41b2557"
UPSTREAM_CHECK_URI = "https://www.phpmyadmin.net/downloads/"
UPSTREAM_CHECK_REGEX = "phpMyAdmin-(?P<pver>\d+(\.\d+)+)-all-languages.tar.xz"
@@ -29,13 +28,13 @@ do_install() {
rm -rf ${D}${datadir}/${BPN}/patches
install -d ${D}${sysconfdir}/apache2/conf.d
- install -m 0644 ${WORKDIR}/apache.conf ${D}${sysconfdir}/apache2/conf.d/phpmyadmin.conf
+ install -m 0644 ${UNPACKDIR}/apache.conf ${D}${sysconfdir}/apache2/conf.d/phpmyadmin.conf
# Remove a few scripts that explicitly require bash (!)
rm -f ${D}${datadir}/phpmyadmin/libraries/transformations/*.sh
}
-FILES_${PN} = "${datadir}/${BPN} \
+FILES:${PN} = "${datadir}/${BPN} \
${sysconfdir}/apache2/conf.d"
-RDEPENDS_${PN} += "bash"
+RDEPENDS:${PN} += "bash php-cli"
diff --git a/meta-webserver/recipes-php/xdebug/xdebug_2.6.0.bb b/meta-webserver/recipes-php/xdebug/xdebug_3.2.2.bb
index 2b8943d225..8ad588d291 100644
--- a/meta-webserver/recipes-php/xdebug/xdebug_2.6.0.bb
+++ b/meta-webserver/recipes-php/xdebug/xdebug_3.2.2.bb
@@ -1,13 +1,14 @@
SUMMARY = "Debugging and profiling extension for PHP"
LICENSE = "Xdebug"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=34df3a274aa12b795417c65634c07f16"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=92d94a330d34ee6edc2638450736f119"
-DEPENDS = "php"
+DEPENDS = "php re2c-native"
SRC_URI = "http://xdebug.org/files/xdebug-${PV}.tgz"
-SRC_URI[md5sum] = "ed3545852e6f4a00fb8730362d0431ee"
-SRC_URI[sha256sum] = "b5264cc03bf68fcbb04b97229f96dca505d7b87ec2fb3bd4249896783d29cbdc"
+SRC_URI[sha256sum] = "f48777371f90cbb315ea4ea082a1ede6765bcfb35d7d6356ab8f71fd6dfcc157"
+
+UPSTREAM_CHECK_REGEX = "xdebug-(?P<pver>\d+(\.\d+)+)\.tgz"
inherit autotools
@@ -29,5 +30,5 @@ do_install() {
oe_runmake install INSTALL_ROOT=${D}
}
-FILES_${PN} += "${libdir}/php*/extensions/*/*.so"
-FILES_${PN}-dbg += "${libdir}/php*/extensions/*/.debug"
+FILES:${PN} += "${libdir}/php*/extensions/*/*.so"
+FILES:${PN}-dbg += "${libdir}/php*/extensions/*/.debug"
diff --git a/meta-webserver/recipes-support/fcgi/fcgi/Fix_EOF_not_declared_issue.patch b/meta-webserver/recipes-support/fcgi/fcgi/Fix_EOF_not_declared_issue.patch
deleted file mode 100644
index 51ddeaac22..0000000000
--- a/meta-webserver/recipes-support/fcgi/fcgi/Fix_EOF_not_declared_issue.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-Upstream-Status: Pending
-
-Fix EOF not declared issue, following is the error log.
-fcgio.cpp:70:72: error: 'EOF' was not declared in this scope
- if (FCGX_PutStr(pbase(), plen, this->fcgx) != plen) return EOF;
-
-Signed-off-by: Yang Haibo <b40869@freescale.com>
---- fcgi-ori/libfcgi/fcgio.cpp 2014-07-28 18:01:00.000000000 +0800
-+++ fcgi-2.4.0/libfcgi/fcgio.cpp 2014-07-28 18:01:22.000000000 +0800
-@@ -22,6 +22,7 @@
- #define DLLAPI __declspec(dllexport)
- #endif
-
-+#include <stdio.h>
- #include <limits.h>
- #include "fcgio.h"
-
diff --git a/meta-webserver/recipes-support/fcgi/fcgi/add_foreign_to_AM_INIT_AUTOMAKE.patch b/meta-webserver/recipes-support/fcgi/fcgi/add_foreign_to_AM_INIT_AUTOMAKE.patch
deleted file mode 100644
index eca694adc9..0000000000
--- a/meta-webserver/recipes-support/fcgi/fcgi/add_foreign_to_AM_INIT_AUTOMAKE.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-Upstream-Status: Pending
-
-use automake options "foreign" to set the strictness as appropriate
-
-Signed-off-by: Yang Haibo <b40869@freescale.com>
---- fcgi-ori/configure.in 2014-08-05 14:58:35.000000000 +0800
-+++ fcgi-2.4.0/configure.in 2014-08-05 14:59:08.000000000 +0800
-@@ -4,8 +4,8 @@
- dnl generate the file "configure", which is run during the build
- dnl to configure the system for the local environment.
-
--AC_INIT
--AM_INIT_AUTOMAKE(fcgi, 2.4.0)
-+AC_INIT([fcgi], [2.4.0])
-+AM_INIT_AUTOMAKE([foreign])
-
- AM_CONFIG_HEADER(fcgi_config.h)
-
diff --git a/meta-webserver/recipes-support/fcgi/fcgi_2.4.0.bb b/meta-webserver/recipes-support/fcgi/fcgi_2.4.0.bb
deleted file mode 100644
index 48c594483a..0000000000
--- a/meta-webserver/recipes-support/fcgi/fcgi_2.4.0.bb
+++ /dev/null
@@ -1,15 +0,0 @@
-DESCRIPTION = "FastCGI is a protocol for interfacing interactive programs with a web server."
-HOMEPAGE = "http://www.fastcgi.com"
-LICENSE = "OML"
-LIC_FILES_CHKSUM = "file://LICENSE.TERMS;md5=e3aacac3a647af6e7e31f181cda0a06a"
-
-SRC_URI = "http://fossies.org/linux/www/old/${BP}.tar.gz \
- file://Fix_EOF_not_declared_issue.patch \
- file://add_foreign_to_AM_INIT_AUTOMAKE.patch \
-"
-SRC_URI[md5sum] = "d15060a813b91383a9f3c66faf84867e"
-SRC_URI[sha256sum] = "66fc45c6b36a21bf2fbbb68e90f780cc21a9da1fffbae75e76d2b4402d3f05b9"
-
-inherit autotools
-
-PARALLEL_MAKE = ""
diff --git a/meta-webserver/recipes-support/fcgi/fcgi_git.bb b/meta-webserver/recipes-support/fcgi/fcgi_git.bb
new file mode 100644
index 0000000000..61ef6073e0
--- /dev/null
+++ b/meta-webserver/recipes-support/fcgi/fcgi_git.bb
@@ -0,0 +1,16 @@
+DESCRIPTION = "FastCGI is a protocol for interfacing interactive programs with a web server."
+HOMEPAGE = "http://www.fastcgi.com"
+LICENSE = "OML"
+LIC_FILES_CHKSUM = "file://LICENSE.TERMS;md5=e3aacac3a647af6e7e31f181cda0a06a"
+
+SRCREV = "382aa2b0d53a87c27f2f647dfaf670375ba0b85f"
+PV = "2.4.2"
+
+SRC_URI = "git://github.com/FastCGI-Archives/fcgi2.git;protocol=https;branch=master \
+ "
+
+S = "${WORKDIR}/git"
+
+inherit autotools
+
+PARALLEL_MAKE = ""
diff --git a/meta-webserver/recipes-support/fcgiwrap/fcgiwrap/0001-Fix-implicit-fallthrough-warning.patch b/meta-webserver/recipes-support/fcgiwrap/fcgiwrap/0001-Fix-implicit-fallthrough-warning.patch
new file mode 100644
index 0000000000..e160b8644a
--- /dev/null
+++ b/meta-webserver/recipes-support/fcgiwrap/fcgiwrap/0001-Fix-implicit-fallthrough-warning.patch
@@ -0,0 +1,313 @@
+From 962e532099d10ee6ce5b4ce68537bc46595230c0 Mon Sep 17 00:00:00 2001
+From: Joshua Watt <Joshua.Watt@garmin.com>
+Date: Tue, 24 Nov 2020 08:30:13 -0600
+Subject: [PATCH] Fix implicit fallthrough warning
+
+Fixes a warning about an implicit fall through in a case statement
+(-Werror=implicit-fallthrough) with newer versions of GCC
+
+Upstream-Status: Submitted [https://github.com/gnosek/fcgiwrap/pull/54]
+Signed-off-by: Joshua Watt <Joshua.Watt@garmin.com>
+---
+ configure.ac | 3 +
+ fcgiwrap.c | 7 ++
+ m4/ax_gcc_func_attribute.m4 | 242 ++++++++++++++++++++++++++++++++++++
+ 3 files changed, 252 insertions(+)
+ create mode 100644 m4/ax_gcc_func_attribute.m4
+
+diff --git a/configure.ac b/configure.ac
+index bb3674e..9ef517a 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -3,6 +3,7 @@
+
+ AC_PREREQ(2.61)
+ AC_INIT([fcgiwrap], [1.1.0], [root@localdomain.pl])
++AC_CONFIG_MACRO_DIRS([m4])
+ AM_CFLAGS="-std=gnu99 -Wall -Wextra -Werror -pedantic"
+ if test x"$CFLAGS" = x""; then
+ AM_CFLAGS="$AM_CFLAGS -O2 -g3"
+@@ -62,5 +63,7 @@ AC_FUNC_MALLOC
+ AC_CHECK_FUNCS([strchr strdup strrchr])
+ AC_CHECK_FUNCS([dup2 putenv select setenv strerror],, [AC_MSG_ERROR([seems as if your libraries don't provide an expected function])])
+
++AX_GCC_FUNC_ATTRIBUTE([fallthrough])
++
+ AC_CONFIG_FILES([Makefile])
+ AC_OUTPUT
+diff --git a/fcgiwrap.c b/fcgiwrap.c
+index b44d8aa..a83726b 100644
+--- a/fcgiwrap.c
++++ b/fcgiwrap.c
+@@ -56,6 +56,12 @@
+ #define UNIX_PATH_MAX 108
+ #endif
+
++#ifdef HAVE_FUNC_ATTRIBUTE_FALLTHROUGH
++#define FALLTHROUGH __attribute__ ((fallthrough))
++#else
++#define FALLTHROUGH (void)
++#endif
++
+ extern char **environ;
+ static char * const * inherited_environ;
+ static const char **allowed_programs;
+@@ -580,6 +586,7 @@ static void handle_fcgi_request(void)
+ execl(filename, filename, (void *)NULL);
+ cgi_error("502 Bad Gateway", "Cannot execute script", filename);
+
++ FALLTHROUGH;
+ default: /* parent */
+ close(pipe_in[0]);
+ close(pipe_out[1]);
+diff --git a/m4/ax_gcc_func_attribute.m4 b/m4/ax_gcc_func_attribute.m4
+new file mode 100644
+index 0000000..da2b1ac
+--- /dev/null
++++ b/m4/ax_gcc_func_attribute.m4
+@@ -0,0 +1,242 @@
++# ===========================================================================
++# https://www.gnu.org/software/autoconf-archive/ax_gcc_func_attribute.html
++# ===========================================================================
++#
++# SYNOPSIS
++#
++# AX_GCC_FUNC_ATTRIBUTE(ATTRIBUTE)
++#
++# DESCRIPTION
++#
++# This macro checks if the compiler supports one of GCC's function
++# attributes; many other compilers also provide function attributes with
++# the same syntax. Compiler warnings are used to detect supported
++# attributes as unsupported ones are ignored by default so quieting
++# warnings when using this macro will yield false positives.
++#
++# The ATTRIBUTE parameter holds the name of the attribute to be checked.
++#
++# If ATTRIBUTE is supported define HAVE_FUNC_ATTRIBUTE_<ATTRIBUTE>.
++#
++# The macro caches its result in the ax_cv_have_func_attribute_<attribute>
++# variable.
++#
++# The macro currently supports the following function attributes:
++#
++# alias
++# aligned
++# alloc_size
++# always_inline
++# artificial
++# cold
++# const
++# constructor
++# constructor_priority for constructor attribute with priority
++# deprecated
++# destructor
++# dllexport
++# dllimport
++# error
++# externally_visible
++# fallthrough
++# flatten
++# format
++# format_arg
++# gnu_format
++# gnu_inline
++# hot
++# ifunc
++# leaf
++# malloc
++# noclone
++# noinline
++# nonnull
++# noreturn
++# nothrow
++# optimize
++# pure
++# sentinel
++# sentinel_position
++# unused
++# used
++# visibility
++# warning
++# warn_unused_result
++# weak
++# weakref
++#
++# Unsupported function attributes will be tested with a prototype
++# returning an int and not accepting any arguments and the result of the
++# check might be wrong or meaningless so use with care.
++#
++# LICENSE
++#
++# Copyright (c) 2013 Gabriele Svelto <gabriele.svelto@gmail.com>
++#
++# Copying and distribution of this file, with or without modification, are
++# permitted in any medium without royalty provided the copyright notice
++# and this notice are preserved. This file is offered as-is, without any
++# warranty.
++
++#serial 12
++
++AC_DEFUN([AX_GCC_FUNC_ATTRIBUTE], [
++ AS_VAR_PUSHDEF([ac_var], [ax_cv_have_func_attribute_$1])
++
++ AC_CACHE_CHECK([for __attribute__(($1))], [ac_var], [
++ AC_LINK_IFELSE([AC_LANG_PROGRAM([
++ m4_case([$1],
++ [alias], [
++ int foo( void ) { return 0; }
++ int bar( void ) __attribute__(($1("foo")));
++ ],
++ [aligned], [
++ int foo( void ) __attribute__(($1(32)));
++ ],
++ [alloc_size], [
++ void *foo(int a) __attribute__(($1(1)));
++ ],
++ [always_inline], [
++ inline __attribute__(($1)) int foo( void ) { return 0; }
++ ],
++ [artificial], [
++ inline __attribute__(($1)) int foo( void ) { return 0; }
++ ],
++ [cold], [
++ int foo( void ) __attribute__(($1));
++ ],
++ [const], [
++ int foo( void ) __attribute__(($1));
++ ],
++ [constructor_priority], [
++ int foo( void ) __attribute__((__constructor__(65535/2)));
++ ],
++ [constructor], [
++ int foo( void ) __attribute__(($1));
++ ],
++ [deprecated], [
++ int foo( void ) __attribute__(($1("")));
++ ],
++ [destructor], [
++ int foo( void ) __attribute__(($1));
++ ],
++ [dllexport], [
++ __attribute__(($1)) int foo( void ) { return 0; }
++ ],
++ [dllimport], [
++ int foo( void ) __attribute__(($1));
++ ],
++ [error], [
++ int foo( void ) __attribute__(($1("")));
++ ],
++ [externally_visible], [
++ int foo( void ) __attribute__(($1));
++ ],
++ [fallthrough], [
++ int foo( void ) {switch (0) { case 1: __attribute__(($1)); case 2: break ; }};
++ ],
++ [flatten], [
++ int foo( void ) __attribute__(($1));
++ ],
++ [format], [
++ int foo(const char *p, ...) __attribute__(($1(printf, 1, 2)));
++ ],
++ [gnu_format], [
++ int foo(const char *p, ...) __attribute__((format(gnu_printf, 1, 2)));
++ ],
++ [format_arg], [
++ char *foo(const char *p) __attribute__(($1(1)));
++ ],
++ [gnu_inline], [
++ inline __attribute__(($1)) int foo( void ) { return 0; }
++ ],
++ [hot], [
++ int foo( void ) __attribute__(($1));
++ ],
++ [ifunc], [
++ int my_foo( void ) { return 0; }
++ static int (*resolve_foo(void))(void) { return my_foo; }
++ int foo( void ) __attribute__(($1("resolve_foo")));
++ ],
++ [leaf], [
++ __attribute__(($1)) int foo( void ) { return 0; }
++ ],
++ [malloc], [
++ void *foo( void ) __attribute__(($1));
++ ],
++ [noclone], [
++ int foo( void ) __attribute__(($1));
++ ],
++ [noinline], [
++ __attribute__(($1)) int foo( void ) { return 0; }
++ ],
++ [nonnull], [
++ int foo(char *p) __attribute__(($1(1)));
++ ],
++ [noreturn], [
++ void foo( void ) __attribute__(($1));
++ ],
++ [nothrow], [
++ int foo( void ) __attribute__(($1));
++ ],
++ [optimize], [
++ __attribute__(($1(3))) int foo( void ) { return 0; }
++ ],
++ [pure], [
++ int foo( void ) __attribute__(($1));
++ ],
++ [sentinel], [
++ int foo(void *p, ...) __attribute__(($1));
++ ],
++ [sentinel_position], [
++ int foo(void *p, ...) __attribute__(($1(1)));
++ ],
++ [returns_nonnull], [
++ void *foo( void ) __attribute__(($1));
++ ],
++ [unused], [
++ int foo( void ) __attribute__(($1));
++ ],
++ [used], [
++ int foo( void ) __attribute__(($1));
++ ],
++ [visibility], [
++ int foo_def( void ) __attribute__(($1("default")));
++ int foo_hid( void ) __attribute__(($1("hidden")));
++ int foo_int( void ) __attribute__(($1("internal")));
++ int foo_pro( void ) __attribute__(($1("protected")));
++ ],
++ [warning], [
++ int foo( void ) __attribute__(($1("")));
++ ],
++ [warn_unused_result], [
++ int foo( void ) __attribute__(($1));
++ ],
++ [weak], [
++ int foo( void ) __attribute__(($1));
++ ],
++ [weakref], [
++ static int foo( void ) { return 0; }
++ static int bar( void ) __attribute__(($1("foo")));
++ ],
++ [
++ m4_warn([syntax], [Unsupported attribute $1, the test may fail])
++ int foo( void ) __attribute__(($1));
++ ]
++ )], [])
++ ],
++ dnl GCC doesn't exit with an error if an unknown attribute is
++ dnl provided but only outputs a warning, so accept the attribute
++ dnl only if no warning were issued.
++ [AS_IF([grep -- -Wattributes conftest.err],
++ [AS_VAR_SET([ac_var], [no])],
++ [AS_VAR_SET([ac_var], [yes])])],
++ [AS_VAR_SET([ac_var], [no])])
++ ])
++
++ AS_IF([test yes = AS_VAR_GET([ac_var])],
++ [AC_DEFINE_UNQUOTED(AS_TR_CPP(HAVE_FUNC_ATTRIBUTE_$1), 1,
++ [Define to 1 if the system has the `$1' function attribute])], [])
++
++ AS_VAR_POPDEF([ac_var])
++])
+--
+2.29.2
+
diff --git a/meta-webserver/recipes-support/fcgiwrap/fcgiwrap_git.bb b/meta-webserver/recipes-support/fcgiwrap/fcgiwrap_git.bb
new file mode 100644
index 0000000000..a9a8ce0541
--- /dev/null
+++ b/meta-webserver/recipes-support/fcgiwrap/fcgiwrap_git.bb
@@ -0,0 +1,24 @@
+SUMMARY = "FastCGI wrapper for CGI scripts"
+DESCRIPTION = "FcgiWrap is a simple server for running CGI applications over FastCGI. Fcgiwrap can be used together with Nginx to serve CGI or Perl scripts"
+HOMEPAGE = "https://github.com/gnosek/fcgiwrap"
+
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=a95d02d614a3a0232d4e6e51b7963c5b"
+
+DEPENDS = "fcgi"
+
+SRC_URI = "git://github.com/gnosek/fcgiwrap.git;protocol=https;branch=${BRANCH} \
+ file://0001-Fix-implicit-fallthrough-warning.patch \
+ "
+BRANCH = "master"
+SRCREV = "99c942c90063c73734e56bacaa65f947772d9186"
+
+S = "${WORKDIR}/git"
+CFLAGS =+ "-I${B}"
+EXTRA_OEMAKE = "VPATH=${S}"
+
+inherit autotools pkgconfig
+
+do_install() {
+ install -Dm 755 ${B}/fcgiwrap ${D}${sbindir}/fcgiwrap
+}
diff --git a/meta-webserver/recipes-support/spawn-fcgi/spawn-fcgi-1.6.4/fix_configure_ipv6_test.patch b/meta-webserver/recipes-support/spawn-fcgi/spawn-fcgi-1.6.4/fix_configure_ipv6_test.patch
deleted file mode 100644
index 9409dd2b15..0000000000
--- a/meta-webserver/recipes-support/spawn-fcgi/spawn-fcgi-1.6.4/fix_configure_ipv6_test.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-Testing for IPv6 support got broken by configure.ac changes in 1.6.4
-As a temp workaround, revert back to the 1.6.3 version.
-
-Upstream-Status: Pending
-
---- spawn-fcgi-1.6.4/configure.ac
-+++ spawn-fcgi-1.6.3/configure.ac
-@@ -66,8 +47,8 @@
- # Check for IPv6 support
-
- AC_ARG_ENABLE(ipv6,
-- AC_HELP_STRING([--disable-ipv6],[disable IPv6 support]),
-- [case "${enableval}" in
-+ AC_HELP_STRING([--disable-ipv6],[disable IPv6 support]),
-+ [case "${enableval}" in
- yes) ipv6=true ;;
- no) ipv6=false ;;
- *) AC_MSG_ERROR(bad value ${enableval} for --enable-ipv6) ;;
-@@ -75,13 +56,10 @@
-
- if test x$ipv6 = xtrue; then
- AC_CACHE_CHECK([for IPv6 support], ac_cv_ipv6_support,
-- [AC_TRY_LINK([[
--#include <sys/types.h>
-+ [AC_TRY_LINK([ #include <sys/types.h>
- #include <sys/socket.h>
--#include <netinet/in.h>
-- ]], [[
--struct sockaddr_in6 s; struct in6_addr t=in6addr_any; int i=AF_INET6; s; t.s6_addr[0] = 0;
-- ]], [ac_cv_ipv6_support=yes], [ac_cv_ipv6_support=no])])
-+#include <netinet/in.h>], [struct sockaddr_in6 s; struct in6_addr t=in6addr_any; int i=AF_INET6; s; t.s6_addr[0] = 0; ],
-+ [ac_cv_ipv6_support=yes], [ac_cv_ipv6_support=no])])
-
- if test "$ac_cv_ipv6_support" = yes; then
- AC_DEFINE(HAVE_IPV6,1,[Whether to enable IPv6 support])
diff --git a/meta-webserver/recipes-support/spawn-fcgi/spawn-fcgi_1.6.4.bb b/meta-webserver/recipes-support/spawn-fcgi/spawn-fcgi_1.6.5.bb
index 8b2ff44c0c..307919f775 100644
--- a/meta-webserver/recipes-support/spawn-fcgi/spawn-fcgi_1.6.4.bb
+++ b/meta-webserver/recipes-support/spawn-fcgi/spawn-fcgi_1.6.5.bb
@@ -1,14 +1,12 @@
-SUMMARRY = "spawn-fcgi is used to spawn FastCGI applications"
+SUMMARY = "spawn-fcgi is used to spawn FastCGI applications"
HOMEPAGE = "http://redmine.lighttpd.net/projects/spawn-fcgi"
-LICENSE = "BSD"
+LICENSE = "BSD-3-Clause"
LIC_FILES_CHKSUM = "file://COPYING;md5=e4dac5c6ab169aa212feb5028853a579"
-SRC_URI = "http://download.lighttpd.net/spawn-fcgi/releases-1.6.x/spawn-fcgi-${PV}.tar.gz \
- file://fix_configure_ipv6_test.patch"
+SRC_URI = "http://download.lighttpd.net/spawn-fcgi/releases-1.6.x/spawn-fcgi-${PV}.tar.gz"
-SRC_URI[md5sum] = "e970de4efe8045c01dd76280f39901aa"
-SRC_URI[sha256sum] = "ab327462cb99894a3699f874425a421d934f957cb24221f00bb888108d9dd09e"
+SRC_URI[sha256sum] = "a72d7bf7fb6d1a0acda89c93d4f060bf77a2dba97ddcfecd00f11e708f592c40"
inherit autotools
diff --git a/meta-webserver/recipes-webadmin/cockpit/cockpit_304.bb b/meta-webserver/recipes-webadmin/cockpit/cockpit_304.bb
new file mode 100644
index 0000000000..6a5eb4e66e
--- /dev/null
+++ b/meta-webserver/recipes-webadmin/cockpit/cockpit_304.bb
@@ -0,0 +1,207 @@
+SUMMARY = "Admin interface for Linux machines"
+DESCRIPTION = "Cockpit makes it easy to administer your GNU/Linux servers via a web browser"
+
+LICENSE = "LGPL-2.1-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
+
+SRC_URI += " \
+ https://github.com/cockpit-project/cockpit/releases/download/${PV}/cockpit-${PV}.tar.xz \
+ file://0001-Warn-not-error-if-xsltproc-is-not-found.patch \
+ file://cockpit.pam \
+ "
+SRC_URI[sha256sum] = "a87d090c930e2058bb3e970ca7f2bafe678687966b5c0b8b42a802977e391ce9"
+
+inherit gettext pkgconfig autotools systemd features_check
+inherit ${@bb.utils.contains('PACKAGECONFIG', 'old-bridge', '', 'python3targetconfig', d)}
+
+DEPENDS += "glib-2.0-native intltool-native gnutls virtual/gettext json-glib krb5 libpam systemd python3-setuptools-native"
+DEPENDS += "${@bb.utils.contains('PACKAGECONFIG', 'old-bridge', '', 'python3-pip-native', d)}"
+
+COMPATIBLE_HOST:libc-musl = "null"
+
+RDEPENDS:${PN} += "glib-networking"
+
+REQUIRED_DISTRO_FEATURES = "systemd pam"
+
+COCKPIT_USER_GROUP ?= "root"
+COCKPIT_WS_USER_GROUP ?= "${COCKPIT_USER_GROUP}"
+
+EXTRA_AUTORECONF = "-I tools"
+EXTRA_OECONF = " \
+ --with-cockpit-user=${COCKPIT_USER_GROUP} \
+ --with-cockpit-group=${COCKPIT_USER_GROUP} \
+ --with-admin-group=${COCKPIT_USER_GROUP} \
+ --with-cockpit-ws-instance-user=${COCKPIT_WS_USER_GROUP} \
+ --with-cockpit-ws-instance-group=${COCKPIT_WS_USER_GROUP} \
+ --disable-doc \
+ --with-systemdunitdir=${systemd_system_unitdir} \
+"
+
+PACKAGECONFIG ??= " \
+ ${@bb.utils.filter('DISTRO_FEATURES', 'polkit', d)} \
+ old-bridge \
+"
+
+PACKAGECONFIG[pcp] = "--enable-pcp,--disable-pcp,pcp"
+PACKAGECONFIG[dashboard] = "--enable-ssh,--disable-ssh,libssh"
+PACKAGECONFIG[storaged] = ",,,udisks2"
+PACKAGECONFIG[polkit] = "--enable-polkit,--disable-polkit,polkit"
+PACKAGECONFIG[old-bridge] = "--enable-old-bridge"
+
+PACKAGES =+ " \
+ ${PN}-pcp \
+ ${PN}-realmd \
+ ${PN}-tuned \
+ ${PN}-shell \
+ ${PN}-systemd \
+ ${PN}-users \
+ ${PN}-kdump \
+ ${PN}-sosreport \
+ ${PN}-storaged \
+ ${PN}-networkmanager \
+ ${PN}-machines \
+ ${PN}-selinux \
+ ${PN}-playground \
+ ${PN}-docker \
+ ${PN}-dashboard \
+ ${PN}-packagekit \
+ ${PN}-apps \
+ ${PN}-bridge \
+ ${PN}-ws \
+ ${PN}-desktop \
+"
+SYSTEMD_PACKAGES = "${PN}-ws"
+
+FILES:${PN}-pcp = " \
+ ${libexecdir}/cockpit-pcp \
+ ${datadir}/cockpit/pcp \
+ ${localstatedir}/lib/pcp/config/pmlogconf/tools/cockpit \
+"
+FILES:${PN}-realmd = "${datadir}/cockpit/realmd"
+FILES:${PN}-tuned = "${datadir}/cockpit/tuned"
+FILES:${PN}-shell = "${datadir}/cockpit/shell"
+FILES:${PN}-systemd = "${datadir}/cockpit/systemd"
+FILES:${PN}-users = "${datadir}/cockpit/users"
+FILES:${PN}-kdump = " \
+ ${datadir}/cockpit/kdump \
+ ${datadir}/metainfo/org.cockpit-project.cockpit-kdump.metainfo.xml \
+"
+FILES:${PN}-sosreport = " \
+ ${datadir}/cockpit/sosreport \
+ ${datadir}/metainfo/org.cockpit-project.cockpit-sosreport.metainfo.xml \
+ ${datadir}/pixmaps/cockpit-sosreport.png \
+"
+FILES:${PN}-storaged = " \
+ ${datadir}/cockpit/storaged \
+ ${datadir}/metainfo/org.cockpit-project.cockpit-storaged.metainfo.xml \
+"
+
+FILES:${PN}-networkmanager = " \
+ ${datadir}/cockpit/networkmanager \
+ ${datadir}/metainfo/org.cockpit-project.cockpit-networkmanager.metainfo.xml \
+"
+RDEPENDS:${PN}-networkmanager = "networkmanager"
+
+FILES:${PN}-machines = " \
+ ${datadir}/cockpit/machines \
+ ${datadir}/metainfo/org.cockpit-project.cockpit-machines.metainfo.xml \
+"
+FILES:${PN}-selinux = " \
+ ${datadir}/cockpit/selinux \
+ ${datadir}/metainfo/org.cockpit-project.cockpit-selinux.metainfo.xml \
+"
+FILES:${PN}-playground = "${datadir}/cockpit/playground"
+FILES:${PN}-docker = " \
+ ${datadir}/cockpit/docker \
+ ${datadir}/metainfo/org.cockpit-project.cockpit-docker.metainfo.xml \
+"
+FILES:${PN}-dashboard = "${datadir}/cockpit/dashboard"
+ALLOW_EMPTY:${PN}-dashboard = "1"
+
+FILES:${PN}-packagekit = "${datadir}/cockpit/packagekit"
+FILES:${PN}-apps = "${datadir}/cockpit/apps"
+
+FILES:${PN}-bridge = " \
+ ${bindir}/cockpit-bridge \
+ ${libexecdir}/cockpit-askpass \
+ ${PYTHON_SITEPACKAGES_DIR} \
+"
+RDEPENDS:${PN}-bridge = "${@bb.utils.contains('PACKAGECONFIG', 'old-bridge', '', 'python3', d)}"
+
+FILES:${PN}-desktop = "${libexecdir}/cockpit-desktop"
+RDEPENDS:${PN}-desktop += "bash"
+
+FILES:${PN}-ws = " \
+ ${sysconfdir}/cockpit/ws-certs.d \
+ ${sysconfdir}/pam.d/cockpit \
+ ${sysconfdir}/issue.d/cockpit.issue \
+ ${sysconfdir}/motd.d/cockpit \
+ ${datadir}/cockpit/motd/update-motd \
+ ${datadir}/cockpit/motd/inactive.motd \
+ ${systemd_system_unitdir}/cockpit.service \
+ ${systemd_system_unitdir}/cockpit-motd.service \
+ ${systemd_system_unitdir}/cockpit.socket \
+ ${systemd_system_unitdir}/cockpit-session.socket \
+ ${systemd_system_unitdir}/cockpit-session@.service \
+ ${systemd_system_unitdir}/cockpit-wsinstance-http.socket \
+ ${systemd_system_unitdir}/cockpit-wsinstance-http.service \
+ ${systemd_system_unitdir}/cockpit-wsinstance-http-redirect.socket \
+ ${systemd_system_unitdir}/cockpit-wsinstance-http-redirect.service \
+ ${systemd_system_unitdir}/cockpit-wsinstance-https-factory.socket \
+ ${systemd_system_unitdir}/cockpit-wsinstance-https-factory@.service \
+ ${systemd_system_unitdir}/cockpit-wsinstance-https@.socket \
+ ${systemd_system_unitdir}/cockpit-wsinstance-https@.service \
+ ${systemd_system_unitdir}/system-cockpithttps.slice \
+ ${libdir}/tmpfiles.d/cockpit-tempfiles.conf \
+ ${sbindir}/remotectl \
+ ${libdir}/security/pam_ssh_add.so \
+ ${libdir}/security/pam_cockpit_cert.so \
+ ${libexecdir}/cockpit-ws \
+ ${libexecdir}/cockpit-wsinstance-factory \
+ ${libexecdir}/cockpit-tls \
+ ${libexecdir}/cockpit-session \
+ ${localstatedir}/lib/cockpit \
+ ${datadir}/cockpit/static \
+ ${datadir}/cockpit/branding \
+"
+CONFFILES:${PN}-ws += " \
+ ${sysconfdir}/issue.d/cockpit.issue \
+ ${sysconfdir}/motd.d/cockpit \
+"
+RDEPENDS:${PN}-ws += "openssl-bin"
+SYSTEMD_SERVICE:${PN}-ws = "cockpit.socket"
+
+FILES:${PN} += " \
+ ${datadir}/cockpit/base1 \
+ ${sysconfdir}/cockpit/machines.d \
+ ${datadir}/polkit-1/actions/org.cockpit-project.cockpit-bridge.policy \
+ ${datadir}/cockpit/ssh \
+ ${libexecdir}/cockpit-ssh \
+ ${datadir}/cockpit \
+ ${datadir}/metainfo/cockpit.appdata.xml \
+ ${datadir}/pixmaps/cockpit.png \
+ ${nonarch_libdir}/tmpfiles.d \
+ ${nonarch_libdir}/firewalld \
+"
+RDEPENDS:${PN} += "${PN}-bridge"
+# Needs bash for /usr/libexec/cockpit-certificate-helper
+RDEPENDS:${PN} += "bash"
+
+do_install:append() {
+ pkgdatadir=${datadir}/cockpit
+
+ chmod 4750 ${D}${libexecdir}/cockpit-session
+
+ install -d "${D}${sysconfdir}/pam.d"
+ install -p -m 0644 ${UNPACKDIR}/cockpit.pam ${D}${sysconfdir}/pam.d/cockpit
+
+ # provided by firewalld
+ rm -rf ${D}${libdir}/firewalld
+
+ if ! ${@bb.utils.contains('PACKAGECONFIG', 'storaged', 'true', 'false', d)}; then
+ for filename in ${FILES:${PN}-storaged}
+ do
+ rm -rf ${D}$filename
+ done
+ fi
+}
diff --git a/meta-webserver/recipes-webadmin/cockpit/files/0001-Warn-not-error-if-xsltproc-is-not-found.patch b/meta-webserver/recipes-webadmin/cockpit/files/0001-Warn-not-error-if-xsltproc-is-not-found.patch
new file mode 100644
index 0000000000..db583cfd29
--- /dev/null
+++ b/meta-webserver/recipes-webadmin/cockpit/files/0001-Warn-not-error-if-xsltproc-is-not-found.patch
@@ -0,0 +1,25 @@
+From 7c1f95995ce9180221bac03b7b1e1696b8a79de7 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 7 Sep 2022 11:12:28 -0700
+Subject: [PATCH] Warn not error if xsltproc is not found
+
+Upstream-Status: Inappropriate [oe-core specific]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+---
+ configure.ac | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/configure.ac b/configure.ac
+index 6896c19..2a1fb52 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -182,7 +182,7 @@ AC_SUBST([systemdunitdir], [$systemdunitdir])
+ # package as xgettext, and we find them by PATH, so just check for the one.
+ AC_PATH_PROG([XGETTEXT], [xgettext], [no])
+ if test "$XGETTEXT" = "no"; then
+- AC_MSG_ERROR([Please install gettext tools])
++ AC_MSG_WARN([Please install gettext tools])
+ fi
+
+ # ssh-add
diff --git a/meta-webserver/recipes-webadmin/cockpit/files/cockpit.pam b/meta-webserver/recipes-webadmin/cockpit/files/cockpit.pam
new file mode 100644
index 0000000000..dd09e29ee0
--- /dev/null
+++ b/meta-webserver/recipes-webadmin/cockpit/files/cockpit.pam
@@ -0,0 +1,8 @@
+#%PAM-1.0
+auth required pam_unix.so nullok
+
+account required pam_unix.so
+
+-session optional pam_systemd.so
+session required pam_unix.so
+session optional pam_keyinit.so force revoke
diff --git a/meta-webserver/recipes-webadmin/netdata/netdata/0001-Correct-Timeout-issue.patch b/meta-webserver/recipes-webadmin/netdata/netdata/0001-Correct-Timeout-issue.patch
deleted file mode 100644
index abea0d66bd..0000000000
--- a/meta-webserver/recipes-webadmin/netdata/netdata/0001-Correct-Timeout-issue.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-Index: git/plugins.d/charts.d.plugin
-===================================================================
---- git.orig/plugins.d/charts.d.plugin
-+++ git/plugins.d/charts.d.plugin
-@@ -246,16 +246,6 @@ else
- info "configuration file '$myconfig' not found. Using defaults."
- fi
-
--# we check for the timeout command, after we load our
--# configuration, so that the user may overwrite the
--# timeout command we use, providing a function that
--# can emulate the timeout command we need:
--# > timeout SECONDS command ...
--if [ $check_for_timeout -eq 1 ]
-- then
-- require_cmd timeout || exit 1
--fi
--
- # -----------------------------------------------------------------------------
- # internal checks
-
diff --git a/meta-webserver/recipes-webadmin/netdata/netdata/0001-makefile-Do-not-build-contrib-dir.patch b/meta-webserver/recipes-webadmin/netdata/netdata/0001-makefile-Do-not-build-contrib-dir.patch
deleted file mode 100644
index 6a0d75e37b..0000000000
--- a/meta-webserver/recipes-webadmin/netdata/netdata/0001-makefile-Do-not-build-contrib-dir.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From 87f868918a9ae1dcf93e01f3e177d185c19a149a Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Thu, 13 Jul 2017 14:32:09 -0700
-Subject: [PATCH] makefile: Do not build contrib dir
-
-It contains debian build iteams anyway
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- Makefile.am | 1 -
- 1 file changed, 1 deletion(-)
-
-diff --git a/Makefile.am b/Makefile.am
-index 2ea9e40..acb1bd8 100644
---- a/Makefile.am
-+++ b/Makefile.am
-@@ -56,7 +56,6 @@ SUBDIRS = \
- src \
- system \
- web \
-- contrib \
- tests \
- $(NULL)
-
---
-2.13.2
-
diff --git a/meta-webserver/recipes-webadmin/netdata/netdata/netdata.service b/meta-webserver/recipes-webadmin/netdata/netdata/netdata.service
index b244d18665..f4911f3b6e 100644
--- a/meta-webserver/recipes-webadmin/netdata/netdata/netdata.service
+++ b/meta-webserver/recipes-webadmin/netdata/netdata/netdata.service
@@ -1,13 +1,15 @@
+# SPDX-License-Identifier: GPL-3.0-or-later
[Unit]
-Description=Netdata, Real-time performance monitoring
+Description=Real time performance monitoring
RequiresMountsFor=/var
+After=network.target
[Service]
-User=root
+Type=simple
ExecStartPre=/bin/mkdir -p /var/log/netdata
-ExecStartPre=/bin/chown -R nobody.netdata @@datadir/netdata/web
-ExecStartPre=/bin/chown -R nobody.netdata /var/cache/netdata
-ExecStart=/usr/sbin/netdata -nd
+ExecStartPre=/bin/chown -R netdata:netdata /var/log/netdata
+ExecStart=/usr/sbin/netdata -D -u netdata
+
[Install]
WantedBy=multi-user.target
diff --git a/meta-webserver/recipes-webadmin/netdata/netdata_1.44.3.bb b/meta-webserver/recipes-webadmin/netdata/netdata_1.44.3.bb
new file mode 100644
index 0000000000..b06a5df314
--- /dev/null
+++ b/meta-webserver/recipes-webadmin/netdata/netdata_1.44.3.bb
@@ -0,0 +1,81 @@
+SUMMARY = "Real-time performance monitoring"
+DESCRIPTION = "Netdata is high-fidelity infrastructure monitoring and troubleshooting. \
+ Open-source, free, preconfigured, opinionated, and always real-time."
+HOMEPAGE = "https://github.com/netdata/netdata/"
+LICENSE = "GPL-3.0-only"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=fc9b848046ef54b5eaee6071947abd24"
+
+DEPENDS += "json-c libuv libyaml util-linux zlib "
+
+SRC_URI = "\
+ https://github.com/${BPN}/${BPN}/releases/download/v${PV}/${BPN}-v${PV}.tar.gz \
+ file://netdata.conf \
+ file://netdata.service \
+"
+
+SRC_URI[sha256sum] = "50df30a9aaf60d550eb8e607230d982827e04194f7df3eba0e83ff7919270ad2"
+
+UPSTREAM_CHECK_URI = "https://github.com/${BPN}/${BPN}/tags"
+UPSTREAM_CHECK_REGEX = "${BPN}/releases/tag/v(?P<pver>\d+(?:\.\d+)*)"
+
+S = "${WORKDIR}/${BPN}-v${PV}"
+
+# Stop sending anonymous statistics to Google Analytics
+NETDATA_ANONYMOUS ??= "enabled"
+
+inherit pkgconfig autotools-brokensep useradd systemd
+
+LIBS:toolchain-clang:x86 = "-latomic"
+LIBS:riscv64 = "-latomic"
+LIBS:riscv32 = "-latomic"
+LIBS:mips = "-latomic"
+export LIBS
+
+#systemd
+SYSTEMD_PACKAGES = "${PN}"
+SYSTEMD_SERVICE:${PN} = "netdata.service"
+SYSTEMD_AUTO_ENABLE:${PN} = "enable"
+
+#User specific
+USERADD_PACKAGES = "${PN}"
+USERADD_PARAM:${PN} = "--system --no-create-home --home-dir ${localstatedir}/run/netdata --user-group netdata"
+
+PACKAGECONFIG ??= "openssl"
+PACKAGECONFIG[cloud] = "--enable-cloud, --disable-cloud,"
+PACKAGECONFIG[lz4] = "--enable-lz4, --disable-lz4, lz4"
+PACKAGECONFIG[openssl] = "--enable-openssl, --disable-openssl, openssl"
+
+# ebpf doesn't compile (or detect) the cross compilation well
+EXTRA_OECONF += "--disable-ebpf"
+
+do_install:append() {
+ #set S UID for plugins
+ chmod 4755 ${D}${libexecdir}/netdata/plugins.d/apps.plugin
+
+ if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then
+ # Install systemd unit files
+ install -d ${D}${systemd_unitdir}/system
+ install -m 0644 ${UNPACKDIR}/netdata.service ${D}${systemd_unitdir}/system
+ sed -i -e 's,@@datadir,${datadir_native},g' ${D}${systemd_unitdir}/system/netdata.service
+ fi
+
+ # Install default netdata.conf
+ install -d ${D}${sysconfdir}/netdata
+ install -m 0644 ${UNPACKDIR}/netdata.conf ${D}${sysconfdir}/netdata/
+ sed -i -e 's,@@sysconfdir,${sysconfdir},g' ${D}${sysconfdir}/netdata/netdata.conf
+ sed -i -e 's,@@libdir,${libexecdir},g' ${D}${sysconfdir}/netdata/netdata.conf
+ sed -i -e 's,@@datadir,${datadir},g' ${D}${sysconfdir}/netdata/netdata.conf
+
+ if [ "${NETDATA_ANONYMOUS}" = "enabled" ]; then
+ touch ${D}${sysconfdir}/netdata/.opt-out-from-anonymous-statistics
+ fi
+
+ install --group netdata --owner netdata --directory ${D}${localstatedir}/cache/netdata
+ install --group netdata --owner netdata --directory ${D}${localstatedir}/lib/netdata
+
+ chown -R netdata:netdata ${D}${datadir}/netdata/web
+}
+
+FILES:${PN} += "${localstatedir}/cache/netdata/ ${localstatedir}/lib/netdata/"
+
+RDEPENDS:${PN} = "bash python3-core zlib"
diff --git a/meta-webserver/recipes-webadmin/netdata/netdata_git.bb b/meta-webserver/recipes-webadmin/netdata/netdata_git.bb
deleted file mode 100644
index b0f1602528..0000000000
--- a/meta-webserver/recipes-webadmin/netdata/netdata_git.bb
+++ /dev/null
@@ -1,59 +0,0 @@
-HOMEPAGE = "https://github.com/firehol/netdata/"
-SUMMARY = "Real-time performance monitoring"
-LICENSE = "GPLv3"
-LIC_FILES_CHKSUM = "file://LICENSE.md;md5=95b49e9ea979a337578f13c2a3ab9535 \
- file://COPYING;md5=d32239bcb673463ab874e80d47fae504 \
- "
-
-SRC_URI = "git://github.com/firehol/netdata.git;protocol=https \
- file://0001-makefile-Do-not-build-contrib-dir.patch \
-"
-SRCREV = "89ed309252981ddd50f697fde4fe93019cb3e652"
-PV = "1.8.0+git${SRCPV}"
-
-# patch to disable timeout because timeout are not available with actual version
-# of core-utils
-SRC_URI += "file://0001-Correct-Timeout-issue.patch"
-
-# default netdata.conf for netdata configuration
-SRC_URI += "file://netdata.conf"
-
-# file for providing systemd service support
-SRC_URI += "file://netdata.service"
-
-S = "${WORKDIR}/git"
-
-DEPENDS += "zlib util-linux"
-
-inherit pkgconfig autotools useradd systemd
-
-#systemd
-SYSTEMD_PACKAGES = "${PN}"
-SYSTEMD_SERVICE_${PN} = "netdata.service"
-SYSTEMD_AUTO_ENABLE_${PN} = "enable"
-
-#User specific
-USERADD_PACKAGES = "${PN}"
-GROUPADD_PARAM_${PN} = "--system netdata"
-
-do_install_append() {
- #set S UID for plugins
- chmod 4755 ${D}${libexecdir}/netdata/plugins.d/apps.plugin
-
- if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then
- # Install systemd unit files
- install -d ${D}${systemd_unitdir}/system
- install -m 0644 ${WORKDIR}/netdata.service ${D}${systemd_unitdir}/system
- sed -i -e 's,@@datadir,${datadir_native},g' ${D}${systemd_unitdir}/system/netdata.service
- fi
-
- # Install default netdata.conf
- install -d ${D}${sysconfdir}/netdata
- install -m 0644 ${WORKDIR}/netdata.conf ${D}${sysconfdir}/netdata/
- sed -i -e 's,@@sysconfdir,${sysconfdir},g' ${D}${sysconfdir}/netdata/netdata.conf
- sed -i -e 's,@@libdir,${libexecdir},g' ${D}${sysconfdir}/netdata/netdata.conf
- sed -i -e 's,@@datadir,${datadir},g' ${D}${sysconfdir}/netdata/netdata.conf
-}
-
-FILES_${PN}-dbg += "${libexecdir}/netdata/plugins.d/.debug"
-RDEPENDS_${PN} = "bash zlib"
diff --git a/meta-webserver/recipes-webadmin/webmin/files/disable-version-check.patch b/meta-webserver/recipes-webadmin/webmin/files/disable-version-check.patch
index 9aad894e0c..1ca26ca0dd 100644
--- a/meta-webserver/recipes-webadmin/webmin/files/disable-version-check.patch
+++ b/meta-webserver/recipes-webadmin/webmin/files/disable-version-check.patch
@@ -3,7 +3,7 @@ Disable OS version check in status screen
The code is not able to accurately detect the correct distro/version at
the moment.
-Upstream-status: Inappropriate
+Upstream-Status: Inappropriate
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
diff --git a/meta-webserver/recipes-webadmin/webmin/files/init-exclude.patch b/meta-webserver/recipes-webadmin/webmin/files/init-exclude.patch
index 4212917f6e..489318b4bd 100644
--- a/meta-webserver/recipes-webadmin/webmin/files/init-exclude.patch
+++ b/meta-webserver/recipes-webadmin/webmin/files/init-exclude.patch
@@ -1,11 +1,11 @@
-# Hack in support for an "exclude" config option for the init module, so
-# we can hide certain system services that shouldn't really be configurable
-# via the web interface
-#
-# Upstream-status: Pending
-#
-# Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
-# Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
+Hack in support for an "exclude" config option for the init module, so
+we can hide certain system services that shouldn't really be configurable
+via the web interface
+
+Upstream-Status: Pending
+
+Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
+Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
---
init/index.cgi | 27 ++++++++++++++-------------
init/init-lib.pl | 5 +++--
diff --git a/meta-webserver/recipes-webadmin/webmin/files/media-tomb.patch b/meta-webserver/recipes-webadmin/webmin/files/media-tomb.patch
index 46f3109796..dfc962bfb7 100644
--- a/meta-webserver/recipes-webadmin/webmin/files/media-tomb.patch
+++ b/meta-webserver/recipes-webadmin/webmin/files/media-tomb.patch
@@ -1,3 +1,7 @@
+add mediatomb support
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
diff -Nru webmin-1.570.bak/mediatomb/index.cgi webmin-1.570/mediatomb/index.cgi
--- webmin-1.570.bak/mediatomb/index.cgi 1969-12-31 16:00:00.000000000 -0800
+++ webmin-1.570/mediatomb/index.cgi 2011-10-26 10:00:05.992522036 -0700
diff --git a/meta-webserver/recipes-webadmin/webmin/files/mount-excludefs.patch b/meta-webserver/recipes-webadmin/webmin/files/mount-excludefs.patch
index 8cb74c4b13..787bd8c69b 100644
--- a/meta-webserver/recipes-webadmin/webmin/files/mount-excludefs.patch
+++ b/meta-webserver/recipes-webadmin/webmin/files/mount-excludefs.patch
@@ -6,7 +6,7 @@ since these shouldn't be modified from the web interface.
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
-Upstream-status: Pending
+Upstream-Status: Pending
--- webmin-1.570.orig/mount/index.cgi
+++ webmin-1.570/mount/index.cgi
diff --git a/meta-webserver/recipes-webadmin/webmin/files/mysql-config-fix.patch b/meta-webserver/recipes-webadmin/webmin/files/mysql-config-fix.patch
index 2cbc627076..c6c1f0df79 100644
--- a/meta-webserver/recipes-webadmin/webmin/files/mysql-config-fix.patch
+++ b/meta-webserver/recipes-webadmin/webmin/files/mysql-config-fix.patch
@@ -3,7 +3,7 @@ From: Diego Rondini <diego.ml@zoho.com>
Date: Thu, 18 Feb 2016 15:44:06 +0100
Subject: [PATCH] Adjust Mysql config defaults
-Upstream-status: Inappropriate [configuration]
+Upstream-Status: Inappropriate [configuration]
Signed-off-by: Diego Rondini <diego.ml@zoho.com>
---
diff --git a/meta-webserver/recipes-webadmin/webmin/files/net-generic.patch b/meta-webserver/recipes-webadmin/webmin/files/net-generic.patch
index 5549392851..6ae3dced72 100644
--- a/meta-webserver/recipes-webadmin/webmin/files/net-generic.patch
+++ b/meta-webserver/recipes-webadmin/webmin/files/net-generic.patch
@@ -1,8 +1,8 @@
-# Add support for configuring network interfaces on a generic linux system
-#
-# Upstream-status: Not appropriate [config]
-#
-# Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
+Add support for configuring network interfaces on a generic linux system
+
+Upstream-Status: Inappropriate [config]
+
+Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Index: webmin-1.850/net/module.info
===================================================================
--- webmin-1.850.orig/net/module.info
diff --git a/meta-webserver/recipes-webadmin/webmin/files/proftpd-config-fix.patch b/meta-webserver/recipes-webadmin/webmin/files/proftpd-config-fix.patch
index 492a652d48..4e78ff4c22 100644
--- a/meta-webserver/recipes-webadmin/webmin/files/proftpd-config-fix.patch
+++ b/meta-webserver/recipes-webadmin/webmin/files/proftpd-config-fix.patch
@@ -1,4 +1,4 @@
-Upstream-status: Inappropriate [configuration]
+Upstream-Status: Inappropriate [configuration]
Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
diff --git a/meta-webserver/recipes-webadmin/webmin/files/remove-startup-option.patch b/meta-webserver/recipes-webadmin/webmin/files/remove-startup-option.patch
index d957f4a3bc..358e53ab8c 100644
--- a/meta-webserver/recipes-webadmin/webmin/files/remove-startup-option.patch
+++ b/meta-webserver/recipes-webadmin/webmin/files/remove-startup-option.patch
@@ -1,9 +1,9 @@
-# Remove "start on boot" option from webmin configuration, as
-# end-users should not need to configure this from the web interface
-#
-# Upstream-status: Inappropriate
-#
-# Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
+Remove "start on boot" option from webmin configuration, as
+end-users should not need to configure this from the web interface
+
+Upstream-Status: Inappropriate [OE-specific]
+
+Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
--- webmin-1.570.orig/webmin/index.cgi
+++ webmin-1.570/webmin/index.cgi
@@ -79,20 +79,6 @@ print &ui_buttons_start();
diff --git a/meta-webserver/recipes-webadmin/webmin/files/samba-config-fix.patch b/meta-webserver/recipes-webadmin/webmin/files/samba-config-fix.patch
index 46645ac30e..d9ea2d145e 100644
--- a/meta-webserver/recipes-webadmin/webmin/files/samba-config-fix.patch
+++ b/meta-webserver/recipes-webadmin/webmin/files/samba-config-fix.patch
@@ -1,4 +1,4 @@
-Upstream-status: Inappropriate [configuration]
+Upstream-Status: Inappropriate [configuration]
Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
diff --git a/meta-webserver/recipes-webadmin/webmin/webmin_1.850.bb b/meta-webserver/recipes-webadmin/webmin/webmin_1.850.bb
index ce9bc92805..bbc59443c7 100644
--- a/meta-webserver/recipes-webadmin/webmin/webmin_1.850.bb
+++ b/meta-webserver/recipes-webadmin/webmin/webmin_1.850.bb
@@ -1,6 +1,6 @@
SUMMARY = "Web-based administration interface"
HOMEPAGE = "http://www.webmin.com"
-LICENSE = "BSD"
+LICENSE = "BSD-3-Clause"
LIC_FILES_CHKSUM = "file://LICENCE;md5=0373ac9f611e542ddebe1ec6394afc3c"
SRC_URI = "${SOURCEFORGE_MIRROR}/webadmin/webmin-${PV}.tar.gz \
@@ -82,7 +82,7 @@ do_install() {
install -m 0755 webmin-init ${D}${sysconfdir}/init.d/webmin
install -d ${D}${systemd_unitdir}/system
- install -m 0644 ${WORKDIR}/webmin.service ${D}${systemd_unitdir}/system
+ install -m 0644 ${UNPACKDIR}/webmin.service ${D}${systemd_unitdir}/system
sed -i -e 's,@SYSCONFDIR@,${sysconfdir},g' \
${D}${systemd_unitdir}/system/webmin.service
@@ -117,7 +117,7 @@ do_install() {
export atboot=1
export no_pam=1
mkdir -p $tempdir
- ${S}/../setup.sh
+ ${UNPACKDIR}/setup.sh
# Ensure correct PERLLIB path
sed -i -e 's#${D}##g' ${D}${sysconfdir}/webmin/start
@@ -126,26 +126,26 @@ do_install() {
INITSCRIPT_NAME = "webmin"
INITSCRIPT_PARAMS = "start 99 5 3 2 . stop 10 0 1 6 ."
-SYSTEMD_SERVICE_${PN} = "webmin.service"
-SYSTEMD_AUTO_ENABLE_${PN} = "disable"
+SYSTEMD_SERVICE:${PN} = "webmin.service"
+SYSTEMD_AUTO_ENABLE:${PN} = "disable"
# FIXME: some of this should be figured out automatically
-RDEPENDS_${PN} += "perl perl-module-socket perl-module-exporter perl-module-exporter-heavy perl-module-carp perl-module-strict"
-RDEPENDS_${PN} += "perl-module-warnings perl-module-xsloader perl-module-posix perl-module-autoloader"
-RDEPENDS_${PN} += "perl-module-fcntl perl-module-tie-hash perl-module-vars perl-module-time-local perl-module-config perl-module-constant"
-RDEPENDS_${PN} += "perl-module-file-glob perl-module-file-copy perl-module-sdbm-file perl-module-feature"
+RDEPENDS:${PN} += "perl perl-module-socket perl-module-exporter perl-module-exporter-heavy perl-module-carp perl-module-strict"
+RDEPENDS:${PN} += "perl-module-warnings perl-module-xsloader perl-module-posix perl-module-autoloader"
+RDEPENDS:${PN} += "perl-module-fcntl perl-module-tie-hash perl-module-vars perl-module-time-local perl-module-config perl-module-constant"
+RDEPENDS:${PN} += "perl-module-file-glob perl-module-file-copy perl-module-sdbm-file perl-module-feature"
PACKAGES_DYNAMIC += "webmin-module-* webmin-theme-*"
-RRECOMMENDS_${PN} += "webmin-module-system-status"
+RRECOMMENDS:${PN} += "webmin-module-system-status"
PACKAGES += "${PN}-module-proc ${PN}-module-raid ${PN}-module-exports ${PN}-module-fdisk ${PN}-module-lvm"
-RDEPENDS_${PN}-module-proc = "procps"
-RDEPENDS_${PN}-module-raid = "mdadm"
-RDEPENDS_${PN}-module-exports = "perl-module-file-basename perl-module-file-path perl-module-cwd perl-module-file-spec perl-module-file-spec-unix"
-RRECOMMENDS_${PN}-module-fdisk = "parted"
-RRECOMMENDS_${PN}-module-lvm = "lvm2"
+RDEPENDS:${PN}-module-proc = "procps"
+RDEPENDS:${PN}-module-raid = "mdadm"
+RDEPENDS:${PN}-module-exports = "perl-module-file-basename perl-module-file-path perl-module-cwd perl-module-file-spec perl-module-file-spec-unix"
+RRECOMMENDS:${PN}-module-fdisk = "parted"
+RRECOMMENDS:${PN}-module-lvm = "lvm2"
-python populate_packages_prepend() {
+python populate_packages:prepend() {
import os, os.path
wadir = bb.data.expand('${libexecdir}/webmin', d)
@@ -160,8 +160,8 @@ python populate_packages_prepend() {
elif os.path.exists(themeinfo):
themes.append(mod)
- do_split_packages(d, wadir, '^(%s)$' % "|".join(modules), 'webmin-module-%s', 'Webmin module for %s', allow_dirs=True, prepend=True)
- do_split_packages(d, wadir, '^(%s)$' % "|".join(themes), 'webmin-theme-%s', 'Webmin theme for %s', allow_dirs=True, prepend=True)
+ do_split_packages(d, wadir, '^(%s)$' % "|".join(modules), 'webmin-module-%s', 'Webmin module for %s', extra_depends='perl', allow_dirs=True, prepend=True)
+ do_split_packages(d, wadir, '^(%s)$' % "|".join(themes), 'webmin-theme-%s', 'Webmin theme for %s', extra_depends='perl', allow_dirs=True, prepend=True)
}
# Time-savers