# Maintainer: Natanael Copa pkgname=apache2 pkgver=2.2.20 pkgrel=0 pkgdesc="A high performance Unix-based HTTP server" url="http://httpd.apache.org/" arch="all" license="APACHE" depends="" pkgusers="apache" pkggroups="apache" makedepends="openssl-dev zlib-dev apr-util-dev apr-dev pcre-dev sed autoconf automake" subpackages="$pkgname-dev $pkgname-doc $pkgname-utils $pkgname-ssl $pkgname-ldap" # see http://lists.err.no/pipermail/mpm-itk/2011-August/000432.html for # the 03-add-mpm-to-build-system.patch source="http://archive.apache.org/dist/httpd/httpd-$pkgver.tar.bz2 http://mpm-itk.sesse.net/apache2.2-mpm-itk-2.2.17-01/02-rename-prefork-to-itk.patch 03-add-mpm-to-build-system.patch http://mpm-itk.sesse.net/apache2.2-mpm-itk-2.2.17-01/04-correct-output-makefile-location.patch http://mpm-itk.sesse.net/apache2.2-mpm-itk-2.2.17-01/05-add-copyright.patch http://mpm-itk.sesse.net/apache2.2-mpm-itk-2.2.17-01/06-hook-just-after-merging-perdir-config.patch http://mpm-itk.sesse.net/apache2.2-mpm-itk-2.2.17-01/07-base-functionality.patch http://mpm-itk.sesse.net/apache2.2-mpm-itk-2.2.17-01/08-max-clients-per-vhost.patch http://mpm-itk.sesse.net/apache2.2-mpm-itk-2.2.17-01/09-capabilities.patch http://mpm-itk.sesse.net/apache2.2-mpm-itk-2.2.17-01/10-nice.patch http://mpm-itk.sesse.net/apache2.2-mpm-itk-2.2.17-01/11-fix-htaccess-reads-for-persistent-connections.patch apache2.confd apache2.logrotate apache2.initd httpd.conf ssl.conf ldap.conf alpine.layout" prepare() { cd "$srcdir"/httpd-$pkgver cat "$srcdir/alpine.layout" >> config.layout # create itk directory and apply itk patches mkdir -p server/mpm/experimental/itk cp -r server/mpm/prefork/* \ server/mpm/experimental/itk/ || return 1 mv server/mpm/experimental/itk/prefork.c \ server/mpm/experimental/itk/itk.c || return 1 for i in $source; do case $i in *.patch) msg ${i##*/}; patch -p1 -i "$srcdir"/${i##*/} || return 1;; esac done autoconf || return 1 } build() { local _apacheconfig="--prefix=/usr \ --enable-layout=Alpine \ --enable-so \ --enable-suexec \ --with-suexec-caller=http \ --with-suexec-docroot=/var/www/localhost/htdocs \ --with-suexec-logfile=/var/log/httpd/suexec.log \ --with-suexec-bin=/usr/sbin/suexec \ --with-suexec-uidmin=99 \ --with-suexec-gidmin=99 \ --with-apr=/usr/bin/apr-1-config \ --with-apr-util=/usr/bin/apu-1-config \ --with-pcre=/usr \ --enable-mods-shared=all \ --enable-ssl --with-ssl \ --enable-proxy \ --enable-cache \ --enable-disk-cache \ --enable-mem-cache \ --enable-file-cache \ --enable-ldap --enable-authnz-ldap \ --enable-cgid \ --enable-authn-anon --enable-authn-alias \ --disable-imagemap \ --enable-proxy-connect \ --enable-proxy-http \ --enable-proxy-ftp \ --enable-deflate \ --enable-dbd \ --enable-exception-hook" local _mpm _mpm="prefork" cd "$srcdir"/httpd-$pkgver ./configure ${_apacheconfig} --with-mpm=${_mpm} || return 1 make || return 1 _mpm="itk" cp -a "$srcdir"/httpd-$pkgver "$srcdir"/httpd-${_mpm} cd "$srcdir"/httpd-${_mpm} ./configure ${_apacheconfig} --with-mpm=${_mpm} || return 1 make || return 1 _mpm="worker" cp -a "$srcdir"/httpd-$pkgver "$srcdir"/httpd-${_mpm} cd "$srcdir"/httpd-${_mpm} make clean ./configure ${_apacheconfig} --with-mpm=${_mpm} || return 1 make || return 1 } package() { local _mpm # prefork cd "$srcdir"/httpd-$pkgver make -j1 DESTDIR="$pkgdir" install || return 1 # itk and worker for _mpm in itk worker; do install -D -m755 "$srcdir"/httpd-${_mpm}/httpd \ "$pkgdir"/usr/sbin/httpd.${_mpm} || return 1 done # config rm -r "$pkgdir"/etc/apache2/httpd.conf \ "$pkgdir"/etc/apache2/extra install -D -m644 "$srcdir"/httpd.conf "$pkgdir"/etc/apache2/httpd.conf \ || return 1 install -d "$pkgdir"/etc/apache2/conf.d || return 1 # init scripts and logrotate install -D -m755 "$srcdir"/apache2.initd \ "$pkgdir"/etc/init.d/apache2 || return 1 install -D -m644 "$srcdir"/apache2.logrotate \ "$pkgdir"/etc/logrotate.d/apache2 || return 1 install -D -m644 "$srcdir"/apache2.confd \ "$pkgdir"/etc/conf.d/apache2 || return 1 install -d "$pkgdir"/var/www || return 1 ln -fs /var/log/apache2 "$pkgdir"/var/www/logs ln -fs /var/run/apache2 "$pkgdir"/var/www/run ln -fs /usr/lib/apache2 "$pkgdir"/var/www/modules ln -fs /etc/apache2/conf.d "$pkgdir"/var/www/conf.d } # include the builddir and apxs in -dev package dev() { local _mpm local _file default_dev depends="$depends perl apr-util-dev" arch="noarch" # install apxs utility install -d "$subpkgdir"/usr/sbin || return 1 mv "$pkgdir"/usr/sbin/apxs \ "$subpkgdir"/usr/sbin/apxs || return 1 _mpm="prefork" install -d "$subpkgdir"/usr/share/apache2/build-${_mpm} || return 1 mv "$pkgdir"/usr/share/apache2/build/* \ "$subpkgdir"/usr/share/apache2/build-${_mpm} || return 1 rm -rf "$pkgdir"/usr/share/apache2/build ln -s /usr/share/apache2/build-${_mpm} \ "$pkgdir"/usr/share/apache2/build || return 1 _mpm="itk" install -d "$subpkgdir"/usr/share/apache2/build-${_mpm} || return 1 for _file in `ls -1 "$subpkgdir"/usr/share/apache2/build-prefork | grep -v "config\.nice"`; do mv "$srcdir"/httpd-${_mpm}/build/${_file} \ "$subpkgdir"/usr/share/apache2/build-${_mpm}/${_file} \ || return 1 done cp -a "$subpkgdir"/usr/share/apache2/build-prefork/config.nice \ "$subpkgdir"/usr/share/apache2/build-${_mpm}/config.nice \ || return 1 sed -ri "s/prefork/${_mpm}/g" \ "$subpkgdir"/usr/share/apache2/build-${_mpm}/config.nice \ || return 1 _mpm="worker" install -d "$subpkgdir"/usr/share/apache2/build-${_mpm} || return 1 for _file in `ls -1 "$subpkgdir"/usr/share/apache2/build-prefork | grep -v "config\.nice"`; do mv "$srcdir"/httpd-${_mpm}/build/${_file} \ "$subpkgdir"/usr/share/apache2/build-${_mpm}/${_file} \ || return 1 done cp -a "$subpkgdir"/usr/share/apache2/build-prefork/config.nice \ "$subpkgdir"/usr/share/apache2/build-${_mpm}/config.nice \ || return 1 sed -ri "s/prefork/${_mpm}/g" \ "$subpkgdir"/usr/share/apache2/build-${_mpm}/config.nice \ || return 1 } utils() { local _bin pkgdesc="Apache utility programs for webservers" install -d "$subpkgdir"/usr/bin || return 1 for _bin in ab dbmmanage htdbm htdigest htpasswd logresolve; do mv "$pkgdir"/usr/sbin/${_bin} \ "$subpkgdir"/usr/bin/${_bin} || return 1 done install -d "$subpkgdir"/usr/sbin || return 1 for _bin in checkgid htcacheclean rotatelogs; do mv "$pkgdir"/usr/sbin/${_bin} \ "$subpkgdir"/usr/sbin/${_bin} || return 1 done } ssl() { pkgdesc="SSL/TLS module for the Apache HTTP Server" install="apache2-ssl.post-install" depends="apache2 openssl" install -d "$subpkgdir"/usr/lib/apache2 || return 1 mv "$pkgdir"/usr/lib/apache2/mod_ssl.so \ "$subpkgdir"/usr/lib/apache2/mod_ssl.so || return 1 install -D -m644 "$srcdir"/ssl.conf \ "$subpkgdir"/etc/apache2/conf.d/ssl.conf || return 1 install -d "$subpkgdir"/etc/ssl/apache2 || return 1 } ldap() { pkgdesc="LDAP authentication/authorization module for the Apache HTTP Server" url="http://httpd.apache.org/docs/2.2/mod/mod_authnz_ldap.html" depends="apache2" install -d "$subpkgdir"/usr/lib/apache2 || return 1 mv "$pkgdir"/usr/lib/apache2/mod_ldap.so \ "$subpkgdir"/usr/lib/apache2/mod_ldap.so || return 1 install -D -m644 "$srcdir"/ldap.conf \ "$subpkgdir"/etc/apache2/conf.d/ldap.conf || return 1 } md5sums="1ac251431c8c4285f6b085c1d156bb56 httpd-2.2.20.tar.bz2 db42cfcc18ae1c32aaaff2347e35b79d 02-rename-prefork-to-itk.patch 72817bd3eddc56fd886ca4739c536261 03-add-mpm-to-build-system.patch ee488f391054d528547c3a372faa2aa7 04-correct-output-makefile-location.patch b202944761b2f0516196488b12504236 05-add-copyright.patch 78fa15f8ca3a284b7d71f942e24e47fb 06-hook-just-after-merging-perdir-config.patch d33e39350e987721d50e6fb8e164ab6b 07-base-functionality.patch 9f7a8935f9cabc7b46d0052906634cef 08-max-clients-per-vhost.patch 1b28e3363e1b0d05b738a21e7ddd264f 09-capabilities.patch d9667fcd2ffecc63e446edd4d6666731 10-nice.patch 1e5b222edcfbf99a3edc56fcb2074fbe 11-fix-htaccess-reads-for-persistent-connections.patch e322b5211e49511cac6e40c86af1b1da apache2.confd 75fe4138b98fcffd01b8c8c077b944f3 apache2.logrotate 0261136ff734c3ae8dcf878a46ed5830 apache2.initd 749faf0b2916d85d1240bc34f700e5d9 httpd.conf 5d0d024ca43571b863874ab871b2c109 ssl.conf b70fe826486043e3953cfe21f9e6fa16 ldap.conf c66ff5f70260d5266e6803a59b39bd7f alpine.layout"