From 1a3bd510dd4dc4f85bbde399d983e94745869473 Mon Sep 17 00:00:00 2001 From: Britney Fransen Date: Wed, 16 Apr 2014 00:11:20 +0000 Subject: apache: update to 2.4.9. refs #961 --- abs/core/apache/PKGBUILD | 230 ++++++++++++++-------------------- abs/core/apache/apache.conf.d | 15 --- abs/core/apache/apache.install | 15 ++- abs/core/apache/apachectl-confd.patch | 15 --- abs/core/apache/arch.layout | 4 +- abs/core/apache/httpd | 65 ---------- abs/core/apache/httpd.logrotate | 6 + abs/core/apache/httpd.service | 15 +++ abs/core/apache/pcre_info.patch | 22 ---- 9 files changed, 133 insertions(+), 254 deletions(-) delete mode 100644 abs/core/apache/apache.conf.d delete mode 100644 abs/core/apache/apachectl-confd.patch delete mode 100755 abs/core/apache/httpd create mode 100644 abs/core/apache/httpd.logrotate create mode 100644 abs/core/apache/httpd.service delete mode 100644 abs/core/apache/pcre_info.patch diff --git a/abs/core/apache/PKGBUILD b/abs/core/apache/PKGBUILD index fd13bdd..d4344e6 100644 --- a/abs/core/apache/PKGBUILD +++ b/abs/core/apache/PKGBUILD @@ -1,155 +1,117 @@ -# $Id: PKGBUILD 161295 2012-06-08 23:50:11Z heftig $ +# $Id$ # Maintainer: Jan de Groot # Contributor: Andrea Scarpino # Contributor: Pierre Schmitz pkgname=apache -pkgver=2.2.22 -pkgrel=4 +pkgver=2.4.9 +pkgrel=1 pkgdesc='A high performance Unix-based HTTP server' arch=('i686' 'x86_64') -options=('!libtool') url='http://www.apache.org/dist/httpd' license=('APACHE') -backup=(etc/conf.d/apache etc/httpd/conf/httpd.conf - etc/httpd/conf/extra/httpd-{autoindex,dav,default,info,languages}.conf - etc/httpd/conf/extra/httpd-{manual,mpm,multilang-errordoc}.conf - etc/httpd/conf/extra/httpd-{ssl,userdir,vhosts}.conf - etc/logrotate.d/httpd) -depends=('openssl' 'zlib' 'apr-util' 'pcre') -optdepends=('lynx: apachectl status') +backup=( + etc/httpd/conf/httpd.conf + etc/httpd/conf/extra/httpd-{autoindex,dav,default,info,languages}.conf + etc/httpd/conf/extra/httpd-{manual,mpm,multilang-errordoc}.conf + etc/httpd/conf/extra/httpd-{ssl,userdir,vhosts}.conf + etc/httpd/conf/extra/proxy-html.conf + etc/httpd/conf/{mime.types,magic} + etc/logrotate.d/httpd +) +depends=('zlib' 'apr-util' 'pcre') +makedepends=('libxml2' 'lua' 'openssl') +optdepends=( + 'lua: for mod_lua module' + 'openssl: for mod_ssl module' + 'libxml2: for mod_proxy_html, mod_xml2enc modules' + 'lynx: apachectl status' +) install=apache.install -_itkurl=http://mpm-itk.sesse.net/apache2.2-mpm-itk-2.2.17-01 -source=(http://www.apache.org/dist/httpd/httpd-${pkgver}.tar.bz2 - http://www.apache.org/dist/httpd/httpd-${pkgver}.tar.bz2.asc - ${_itkurl}/02-rename-prefork-to-itk.patch - ${_itkurl}/03-add-mpm-to-build-system.patch - ${_itkurl}/04-correct-output-makefile-location.patch - ${_itkurl}/05-add-copyright.patch - ${_itkurl}/06-hook-just-after-merging-perdir-config.patch - ${_itkurl}/07-base-functionality.patch - ${_itkurl}/08-max-clients-per-vhost.patch - ${_itkurl}/09-capabilities.patch - ${_itkurl}/10-nice.patch - ${_itkurl}/11-fix-htaccess-reads-for-persistent-connections.patch - apachectl-confd.patch - apache.conf.d - apache.tmpfiles.conf - httpd.logrotate - httpd - arch.layout - pcre_info.patch) -md5sums=('9fe3093194c8a57f085ff7c3fc43715f' - '41b3a6e4948679cab70b9caf490877c4' - 'f1d9d41360908ceb2374da55ae99197a' - 'cdfa04985a0efa850976aef01c2a0c40' - '0930d2d0612eb0a53a0d00aea7e8687f' - '3a0c29bb91442c33ea73ebbe072af922' - '0ef4729a6f1ffc848ad0e9b440a66f66' - '940944caa948340b11ddae56adaef89b' - 'ce09a987523884de8838f73dc8ec0d19' - 'e75b7dd8d8afcd299ba4ab2ab81c11e4' - 'ce1ccc21f3ad8625169c8f62913450ac' - '1e5b222edcfbf99a3edc56fcb2074fbe' - '4ac64df6e019edbe137017cba1ff2f51' - '08b3c875f6260644f2f52b4056d656b0' - '82068753dab92fe86312b1010a2904d7' - '6382331e9700ed9e8cc78ea51887b537' - 'c7e300a287ef7e2e066ac7639536f87e' - '3d659d41276ba3bfcb20c231eb254e0c' - 'fde5121e32b5aeef5a7eedb5a97009ff') +source=( + http://www.apache.org/dist/httpd/httpd-${pkgver}.tar.bz2{,.asc} + apache.tmpfiles.conf + httpd.logrotate + httpd.service + arch.layout +) +sha256sums=('f78cc90dfa47caf3d83ad18fd6b4e85f237777c1733fc9088594b70ce2847603' + 'SKIP' + '63da1a420f4714a3e7af2672d28384419cc7eedbe7bf35baebd02938fabc15bf' + '875903831634edf35d8d57e9a51bacb818255ecb3bfff29627f03e43d1ab65c3' + '14d0a775eea7f8c66ba55399a9ad1e4fd29e0302f479a15b28bbfc754c5aa347' + 'dda05c6e76f12624e418ca18a36f2e90ec1c5b1cc52fed7142fce6076ec413f3') build() { - cd "${srcdir}/httpd-${pkgver}" + cd httpd-${pkgver} - patch -p1 -i "${srcdir}/pcre_info.patch" - patch -Np0 -i "${srcdir}/apachectl-confd.patch" + # set default user + sed -e 's#User daemon#User http#' \ + -e 's#Group daemon#Group http#' \ + -i docs/conf/httpd.conf.in - # set default user - sed -e 's#User daemon#User http#' \ - -e 's#Group daemon#Group http#' \ - -i docs/conf/httpd.conf.in + cat "${srcdir}/arch.layout" >> config.layout + + ./configure --sbindir=/usr/bin \ + --enable-layout=Arch \ + --enable-mpms-shared=all \ + --enable-modules=all \ + --enable-mods-shared=all \ + --enable-so \ + --enable-suexec \ + --with-suexec-caller=http \ + --with-suexec-docroot=/srv/http \ + --with-suexec-logfile=/var/log/httpd/suexec.log \ + --with-suexec-bin=/usr/bin/suexec \ + --with-suexec-uidmin=99 --with-suexec-gidmin=99 \ + --enable-ldap --enable-authnz-ldap \ + --enable-cache --enable-disk-cache --enable-mem-cache --enable-file-cache \ + --enable-ssl --with-ssl \ + --enable-deflate --enable-cgi --enable-cgid \ + --enable-proxy --enable-proxy-connect \ + --enable-proxy-http --enable-proxy-ftp \ + --enable-dbd --enable-imagemap --enable-ident --enable-cern-meta \ + --enable-lua --enable-xml2enc \ + --with-apr=/usr/bin/apr-1-config \ + --with-apr-util=/usr/bin/apu-1-config \ + --with-pcre=/usr - cat "${srcdir}/arch.layout" >> config.layout - - for mpm in prefork worker itk; do - if [ "${mpm}" = "itk" ]; then - # Fix patch to apply with latest Apache version - sed -i -e 's/mpmt_os2}/mpmt_os2|winnt}/g' "${srcdir}/03-add-mpm-to-build-system.patch" - - mkdir -p server/mpm/experimental/itk - cp -r server/mpm/prefork/* server/mpm/experimental/itk/ - mv server/mpm/experimental/itk/prefork.c server/mpm/experimental/itk/itk.c - - patch -Np1 -i "${srcdir}/02-rename-prefork-to-itk.patch" - patch -Np1 -i "${srcdir}/03-add-mpm-to-build-system.patch" - patch -Np1 -i "${srcdir}/04-correct-output-makefile-location.patch" - patch -Np1 -i "${srcdir}/05-add-copyright.patch" - patch -Np1 -i "${srcdir}/06-hook-just-after-merging-perdir-config.patch" - patch -Np1 -i "${srcdir}/07-base-functionality.patch" - patch -Np1 -i "${srcdir}/08-max-clients-per-vhost.patch" - patch -Np1 -i "${srcdir}/09-capabilities.patch" - patch -Np1 -i "${srcdir}/10-nice.patch" - patch -Np1 -i "${srcdir}/11-fix-htaccess-reads-for-persistent-connections.patch" + make +} - autoconf - fi - mkdir build-${mpm} - pushd build-${mpm} - ../configure --enable-layout=Arch \ - --enable-modules=all \ - --enable-mods-shared=all \ - --enable-so \ - --enable-suexec \ - --with-suexec-caller=http \ - --with-suexec-docroot=/srv/http \ - --with-suexec-logfile=/var/log/httpd/suexec.log \ - --with-suexec-bin=/usr/sbin/suexec \ - --with-suexec-uidmin=99 --with-suexec-gidmin=99 \ - --enable-ldap --enable-authnz-ldap \ - --enable-cache --enable-disk-cache --enable-mem-cache --enable-file-cache \ - --enable-ssl --with-ssl \ - --enable-deflate --enable-cgid \ - --enable-proxy --enable-proxy-connect \ - --enable-proxy-http --enable-proxy-ftp \ - --enable-dbd \ - --with-apr=/usr/bin/apr-1-config \ - --with-apr-util=/usr/bin/apu-1-config \ - --with-pcre=/usr \ - --with-mpm=${mpm} - make - if [ "${mpm}" = "prefork" ]; then - make DESTDIR="${pkgdir}" install - else - install -m755 httpd "${pkgdir}/usr/sbin/httpd.${mpm}" - fi - popd - done +package() { + cd httpd-${pkgver} - install -D -m755 "${srcdir}/httpd" "${pkgdir}/etc/rc.d/httpd" - install -D -m644 "${srcdir}/httpd.logrotate" "${pkgdir}/etc/logrotate.d/httpd" - install -D -m644 "${srcdir}/apache.conf.d" "${pkgdir}/etc/conf.d/apache" - install -D -m644 "${srcdir}/apache.tmpfiles.conf" "${pkgdir}/usr/lib/tmpfiles.d/apache.conf" + make DESTDIR="${pkgdir}" install + + install -D -m644 "${srcdir}/httpd.logrotate" "${pkgdir}/etc/logrotate.d/httpd" + install -D -m644 "${srcdir}/apache.tmpfiles.conf" "${pkgdir}/usr/lib/tmpfiles.d/apache.conf" + install -D -m644 "${srcdir}/httpd.service" "${pkgdir}/usr/lib/systemd/system/httpd.service" + install -D -m644 LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE" - # symlinks for /etc/httpd - ln -fs /var/log/httpd "${pkgdir}/etc/httpd/logs" - ln -fs /var/run/httpd "${pkgdir}/etc/httpd/run" - ln -fs /usr/lib/httpd/modules "${pkgdir}/etc/httpd/modules" - ln -fs /usr/lib/httpd/build "${pkgdir}/etc/httpd/build" + # symlinks for /etc/httpd + # do we really need these symlinks? + #ln -fs /var/log/httpd "${pkgdir}/etc/httpd/logs" + ln -fs /usr/lib/httpd/modules "${pkgdir}/etc/httpd/modules" + #ln -fs /usr/lib/httpd/build "${pkgdir}/etc/httpd/build" - # set sane defaults - sed -e 's#/usr/lib/httpd/modules/#modules/#' \ - -e 's|#\(Include conf/extra/httpd-multilang-errordoc.conf\)|\1|' \ - -e 's|#\(Include conf/extra/httpd-autoindex.conf\)|\1|' \ - -e 's|#\(Include conf/extra/httpd-languages.conf\)|\1|' \ - -e 's|#\(Include conf/extra/httpd-userdir.conf\)|\1|' \ - -e 's|#\(Include conf/extra/httpd-default.conf\)|\1|' \ - -i "${pkgdir}/etc/httpd/conf/httpd.conf" + # set sane defaults + sed -e 's#/usr/lib/httpd/modules/#modules/#' \ + -e 's|#\(LoadModule negotiation_module \)|\1|' \ + -e 's|#\(LoadModule include_module \)|\1|' \ + -e 's|#\(LoadModule userdir_module \)|\1|' \ + -e 's|#\(LoadModule slotmem_shm_module \)|\1|' \ + -e 's|#\(Include conf/extra/httpd-multilang-errordoc.conf\)|\1|' \ + -e 's|#\(Include conf/extra/httpd-autoindex.conf\)|\1|' \ + -e 's|#\(Include conf/extra/httpd-languages.conf\)|\1|' \ + -e 's|#\(Include conf/extra/httpd-userdir.conf\)|\1|' \ + -e 's|#\(Include conf/extra/httpd-default.conf\)|\1|' \ + -e 's|#\(Include conf/extra/httpd-mpm.conf\)|\1|' \ + -i "${pkgdir}/etc/httpd/conf/httpd.conf" - # cleanup - rm -rf "${pkgdir}/usr/share/httpd/manual" - rm -rf "${pkgdir}/etc/httpd/conf/original" - rm -rf "${pkgdir}/srv/" - rm -rf "${pkgdir}/usr/bin" - rm -rf "${pkgdir}/var/run" + # cleanup + rm -r "${pkgdir}/usr/share/httpd/manual" + rm -r "${pkgdir}/etc/httpd/conf/original" + rm -r "${pkgdir}/srv/" + rm -r "${pkgdir}/run" } diff --git a/abs/core/apache/apache.conf.d b/abs/core/apache/apache.conf.d deleted file mode 100644 index c6d0ebf..0000000 --- a/abs/core/apache/apache.conf.d +++ /dev/null @@ -1,15 +0,0 @@ -# Configuration file for the httpd service. - -# -# The default processing model (MPM) is the process-based -# 'prefork' model. A thread-based model, 'worker', is also -# available, but does not work with some modules (such as PHP). -# The service must be stopped before changing this variable. -# -#HTTPD=/usr/sbin/httpd.worker - -# -# To pass additional options (for instance, -D definitions) to the -# httpd binary at startup, set OPTIONS here. -# -#OPTIONS= diff --git a/abs/core/apache/apache.install b/abs/core/apache/apache.install index 9b74e60..5665f08 100644 --- a/abs/core/apache/apache.install +++ b/abs/core/apache/apache.install @@ -1,3 +1,16 @@ post_install() { - systemd-tmpfiles --create usr/lib/tmpfiles.d/apache.conf + if type -P systemd-tmpfiles &> /dev/null; then + systemd-tmpfiles --create apache.conf + fi +} + +post_upgrade() { + if type -P systemd-tmpfiles &> /dev/null; then + systemd-tmpfiles --create apache.conf + fi + + if [[ $2 == 2\.2\.* ]]; then + # it is a major upgrade, show a useful link to upgrade instructions + echo ' Check Apache upgrade instructions: https://httpd.apache.org/docs/2.4/upgrading.html' + fi } diff --git a/abs/core/apache/apachectl-confd.patch b/abs/core/apache/apachectl-confd.patch deleted file mode 100644 index d0f4b69..0000000 --- a/abs/core/apache/apachectl-confd.patch +++ /dev/null @@ -1,15 +0,0 @@ ---- support/apachectl.in.orig 2010-03-06 18:09:11.000000000 +0100 -+++ support/apachectl.in 2010-03-06 18:12:31.000000000 +0100 -@@ -56,6 +56,12 @@ - # the URL to your server's mod_status status page. If you do not - # have one, then status and fullstatus will not work. - STATUSURL="http://localhost:@PORT@/server-status" -+ -+# Source /etc/conf.d/apache for $HTTPD setting, etc. -+if [ -r /etc/conf.d/apache ]; then -+ . /etc/conf.d/apache -+fi -+ - # - # Set this variable to a command that increases the maximum - # number of file descriptors allowed per child process. This is diff --git a/abs/core/apache/arch.layout b/abs/core/apache/arch.layout index ab59db8..d5d2e8a 100644 --- a/abs/core/apache/arch.layout +++ b/abs/core/apache/arch.layout @@ -2,7 +2,7 @@ prefix: /etc/httpd exec_prefix: /usr bindir: /usr/bin - sbindir: /usr/sbin + sbindir: /usr/bin libdir: /usr/lib/httpd libexecdir: /usr/lib/httpd/modules mandir: /usr/share/man @@ -16,7 +16,7 @@ cgidir: /srv/http/cgi-bin includedir: /usr/include/httpd localstatedir: /var - runtimedir: /var/run/httpd + runtimedir: /run/httpd logfiledir: /var/log/httpd proxycachedir: /var/cache/httpd \ No newline at end of file diff --git a/abs/core/apache/httpd b/abs/core/apache/httpd deleted file mode 100755 index 6fa9c3c..0000000 --- a/abs/core/apache/httpd +++ /dev/null @@ -1,65 +0,0 @@ -#!/bin/bash - -daemon_name=httpd - -. /etc/rc.conf -. /etc/rc.d/functions - -APACHECTL=/usr/sbin/apachectl - -case "$1" in - start) - stat_busy "Starting Apache Web Server" - [ ! -d /var/run/httpd ] && install -d /var/run/httpd - if $APACHECTL start >/dev/null ; then - add_daemon $daemon_name - stat_done - else - stat_fail - exit 1 - fi - ;; - - stop) - stat_busy "Stopping Apache Web Server" - if $APACHECTL stop >/dev/null ; then - rm_daemon $daemon_name - stat_done - else - stat_fail - exit 1 - fi - ;; - - reload) - stat_busy "Reloading Apache Web Server" - if $APACHECTL graceful >/dev/null ; then - add_daemon $daemon_name - stat_done - else - stat_fail - exit 1 - fi - ;; - - restart) - stat_busy "Restarting Apache Web Server" - if $APACHECTL restart >/dev/null ; then - add_daemon $daemon_name - stat_done - else - stat_fail - exit 1 - fi - ;; - - status) - stat_busy "Checking Apache Web Server status"; - ck_status $daemon_name - ;; - - *) - echo "usage: $0 {start|stop|reload|restart|status}" -esac - -exit 0 diff --git a/abs/core/apache/httpd.logrotate b/abs/core/apache/httpd.logrotate new file mode 100644 index 0000000..c9755de --- /dev/null +++ b/abs/core/apache/httpd.logrotate @@ -0,0 +1,6 @@ +/var/log/httpd/*log { + missingok + postrotate + /bin/kill -HUP `cat /run/httpd/httpd.pid 2>/dev/null` 2> /dev/null || true + endscript +} diff --git a/abs/core/apache/httpd.service b/abs/core/apache/httpd.service new file mode 100644 index 0000000..247e28f --- /dev/null +++ b/abs/core/apache/httpd.service @@ -0,0 +1,15 @@ +[Unit] +Description=Apache Web Server +After=network.target remote-fs.target nss-lookup.target + +[Service] +Type=forking +PIDFile=/run/httpd/httpd.pid +ExecStart=/usr/bin/apachectl start +ExecStop=/usr/bin/apachectl graceful-stop +ExecReload=/usr/bin/apachectl graceful +PrivateTmp=true +LimitNOFILE=infinity + +[Install] +WantedBy=multi-user.target diff --git a/abs/core/apache/pcre_info.patch b/abs/core/apache/pcre_info.patch deleted file mode 100644 index 906a315..0000000 --- a/abs/core/apache/pcre_info.patch +++ /dev/null @@ -1,22 +0,0 @@ ---- httpd-2.2.22/server/util_pcre.c 2005-11-10 16:20:05.000000000 +0100 -+++ httpd-2.2.22/server/util_pcre.c 2012-02-08 11:23:56.273855663 +0100 -@@ -128,6 +128,7 @@ - const char *errorptr; - int erroffset; - int options = 0; -+int nsub; - - if ((cflags & AP_REG_ICASE) != 0) options |= PCRE_CASELESS; - if ((cflags & AP_REG_NEWLINE) != 0) options |= PCRE_MULTILINE; -@@ -136,8 +137,9 @@ - preg->re_erroffset = erroffset; - - if (preg->re_pcre == NULL) return AP_REG_INVARG; -- --preg->re_nsub = pcre_info((const pcre *)preg->re_pcre, NULL, NULL); -+pcre_fullinfo((const pcre *)preg->re_pcre, NULL, -+ PCRE_INFO_CAPTURECOUNT, &nsub); -+preg->re_nsub = nsub; - return 0; - } - -- cgit v0.12