# Maintainer: Natanael Copa pkgname=apache2 pkgver=2.2.23 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="ca133de0e4b4b15316990a97186b9993 httpd-2.2.23.tar.bz2 f1d9d41360908ceb2374da55ae99197a 02-rename-prefork-to-itk.patch 72817bd3eddc56fd886ca4739c536261 03-add-mpm-to-build-system.patch 0930d2d0612eb0a53a0d00aea7e8687f 04-correct-output-makefile-location.patch 3a0c29bb91442c33ea73ebbe072af922 05-add-copyright.patch 0ef4729a6f1ffc848ad0e9b440a66f66 06-hook-just-after-merging-perdir-config.patch 940944caa948340b11ddae56adaef89b 07-base-functionality.patch ce09a987523884de8838f73dc8ec0d19 08-max-clients-per-vhost.patch e75b7dd8d8afcd299ba4ab2ab81c11e4 09-capabilities.patch ce1ccc21f3ad8625169c8f62913450ac 10-nice.patch 1e5b222edcfbf99a3edc56fcb2074fbe 11-fix-htaccess-reads-for-persistent-connections.patch e322b5211e49511cac6e40c86af1b1da apache2.confd 75fe4138b98fcffd01b8c8c077b944f3 apache2.logrotate 7105fc70298b24bfca6dba517f7486d7 apache2.initd 749faf0b2916d85d1240bc34f700e5d9 httpd.conf 5d0d024ca43571b863874ab871b2c109 ssl.conf b70fe826486043e3953cfe21f9e6fa16 ldap.conf c66ff5f70260d5266e6803a59b39bd7f alpine.layout"