From 0dee03071a0643c3ee5820afa3c694dcef71d385 Mon Sep 17 00:00:00 2001 From: root Date: Tue, 7 Feb 2012 23:15:14 +0000 Subject: Tue Feb 7 23:15:14 UTC 2012 --- staging/apache/PKGBUILD | 150 +++++++++++++++++++++++++++++++++++ staging/apache/apache.conf.d | 15 ++++ staging/apache/apachectl-confd.patch | 15 ++++ staging/apache/arch.layout | 22 +++++ staging/apache/httpd | 65 +++++++++++++++ staging/apache/httpd.logrotate | 6 ++ staging/apache/pcre_info.patch | 11 +++ 7 files changed, 284 insertions(+) create mode 100644 staging/apache/PKGBUILD create mode 100644 staging/apache/apache.conf.d create mode 100644 staging/apache/apachectl-confd.patch create mode 100644 staging/apache/arch.layout create mode 100755 staging/apache/httpd create mode 100644 staging/apache/httpd.logrotate create mode 100644 staging/apache/pcre_info.patch (limited to 'staging/apache') diff --git a/staging/apache/PKGBUILD b/staging/apache/PKGBUILD new file mode 100644 index 000000000..fc316a865 --- /dev/null +++ b/staging/apache/PKGBUILD @@ -0,0 +1,150 @@ +# $Id: PKGBUILD 149226 2012-02-06 14:01:05Z pierre $ +# Maintainer: Jan de Groot +# Contributor: Andrea Scarpino +# Contributor: Pierre Schmitz + +pkgname=apache +pkgver=2.2.22 +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') +_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 + httpd.logrotate + httpd + arch.layout + pcre_info.patch) +md5sums=('9fe3093194c8a57f085ff7c3fc43715f' + '41b3a6e4948679cab70b9caf490877c4' + 'f1d9d41360908ceb2374da55ae99197a' + 'cdfa04985a0efa850976aef01c2a0c40' + '0930d2d0612eb0a53a0d00aea7e8687f' + '3a0c29bb91442c33ea73ebbe072af922' + '0ef4729a6f1ffc848ad0e9b440a66f66' + '940944caa948340b11ddae56adaef89b' + 'ce09a987523884de8838f73dc8ec0d19' + 'e75b7dd8d8afcd299ba4ab2ab81c11e4' + 'ce1ccc21f3ad8625169c8f62913450ac' + '1e5b222edcfbf99a3edc56fcb2074fbe' + '4ac64df6e019edbe137017cba1ff2f51' + '08b3c875f6260644f2f52b4056d656b0' + '6382331e9700ed9e8cc78ea51887b537' + 'c7e300a287ef7e2e066ac7639536f87e' + '3d659d41276ba3bfcb20c231eb254e0c' + 'f74652f3169baaae595026116ef54599') + +build() { + cd "${srcdir}/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 + + 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" + + 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 + + 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" + + # 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" + + # 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" + + # cleanup + rm -rf "${pkgdir}/usr/share/httpd/manual" + rm -rf "${pkgdir}/etc/httpd/conf/original" + rm -rf "${pkgdir}/srv/" + rm -rf "${pkgdir}/usr/bin" +} diff --git a/staging/apache/apache.conf.d b/staging/apache/apache.conf.d new file mode 100644 index 000000000..c6d0ebf52 --- /dev/null +++ b/staging/apache/apache.conf.d @@ -0,0 +1,15 @@ +# 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/staging/apache/apachectl-confd.patch b/staging/apache/apachectl-confd.patch new file mode 100644 index 000000000..d0f4b699e --- /dev/null +++ b/staging/apache/apachectl-confd.patch @@ -0,0 +1,15 @@ +--- 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/staging/apache/arch.layout b/staging/apache/arch.layout new file mode 100644 index 000000000..ab59db84b --- /dev/null +++ b/staging/apache/arch.layout @@ -0,0 +1,22 @@ + + prefix: /etc/httpd + exec_prefix: /usr + bindir: /usr/bin + sbindir: /usr/sbin + libdir: /usr/lib/httpd + libexecdir: /usr/lib/httpd/modules + mandir: /usr/share/man + sysconfdir: /etc/httpd/conf + datadir: /usr/share/httpd + installbuilddir: /usr/lib/httpd/build + errordir: /usr/share/httpd/error + iconsdir: /usr/share/httpd/icons + htdocsdir: /srv/http + manualdir: /usr/share/httpd/manual + cgidir: /srv/http/cgi-bin + includedir: /usr/include/httpd + localstatedir: /var + runtimedir: /var/run/httpd + logfiledir: /var/log/httpd + proxycachedir: /var/cache/httpd + \ No newline at end of file diff --git a/staging/apache/httpd b/staging/apache/httpd new file mode 100755 index 000000000..6fa9c3cc7 --- /dev/null +++ b/staging/apache/httpd @@ -0,0 +1,65 @@ +#!/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/staging/apache/httpd.logrotate b/staging/apache/httpd.logrotate new file mode 100644 index 000000000..a723d20d2 --- /dev/null +++ b/staging/apache/httpd.logrotate @@ -0,0 +1,6 @@ +/var/log/httpd/*log { + missingok + postrotate + /bin/kill -HUP `cat /var/run/httpd/httpd.pid 2>/dev/null` 2> /dev/null || true + endscript +} diff --git a/staging/apache/pcre_info.patch b/staging/apache/pcre_info.patch new file mode 100644 index 000000000..f1774db63 --- /dev/null +++ b/staging/apache/pcre_info.patch @@ -0,0 +1,11 @@ +--- httpd-2.2.22/server/util_pcre.c 2005-11-11 01:20:05.000000000 +1000 ++++ httpd-2.2.22/server/util_pcre.c 2012-02-06 23:45:37.687946748 +1000 +@@ -137,7 +137,7 @@ + + if (preg->re_pcre == NULL) return AP_REG_INVARG; + +-preg->re_nsub = pcre_info((const pcre *)preg->re_pcre, NULL, NULL); ++preg->re_nsub = pcre_fullinfo((const pcre *)preg->re_pcre, NULL, NULL, NULL); + return 0; + } + -- cgit v1.2.3-54-g00ecf