core/apache/PKGBUILD

139 lines
5.3 KiB
Bash
Raw Normal View History

# $Id: PKGBUILD 75272 2010-04-01 06:38:15Z pierre $
# Maintainer: Andrea Scarpino <andrea@archlinux.org>
# Contributor: Pierre Schmitz <pierre@archlinux.de>
pkgname=apache
pkgver=2.2.15
pkgrel=2
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.11-02
source=(http://www.apache.org/dist/httpd/httpd-${pkgver}.tar.bz2
${_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
apachectl-confd.patch
apache.conf.d
httpd.logrotate
httpd
arch.layout)
md5sums=('016cec97337eccead2aad6a7c27f2e14'
'db42cfcc18ae1c32aaaff2347e35b79d'
'131408ad4dc7b18547b4e062e7e495ab'
'ee488f391054d528547c3a372faa2aa7'
'b202944761b2f0516196488b12504236'
'78fa15f8ca3a284b7d71f942e24e47fb'
'd33e39350e987721d50e6fb8e164ab6b'
'9f7a8935f9cabc7b46d0052906634cef'
'1b28e3363e1b0d05b738a21e7ddd264f'
'd9667fcd2ffecc63e446edd4d6666731'
'4ac64df6e019edbe137017cba1ff2f51'
'08b3c875f6260644f2f52b4056d656b0'
'f4d627c64024c1b7b95efb5ffbaa625e'
'9e001fbb082a08113e7f4bc431085c11'
'3d659d41276ba3bfcb20c231eb254e0c')
build() {
cd "${srcdir}/httpd-${pkgver}"
patch -Np0 -i "${srcdir}/apachectl-confd.patch" || return 1
# set default user
sed -e 's#User daemon#User http#' \
-e 's#Group daemon#Group http#' \
-i docs/conf/httpd.conf.in || return 1
cat "${srcdir}/arch.layout" >> config.layout
for mpm in prefork worker itk; do
if [ "${mpm}" = "itk" ]; then
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
patch -Np1 -i "${srcdir}/02-rename-prefork-to-itk.patch" || return 1
patch -Np1 -i "${srcdir}/03-add-mpm-to-build-system.patch" || return 1
patch -Np1 -i "${srcdir}/04-correct-output-makefile-location.patch" || return 1
patch -Np1 -i "${srcdir}/05-add-copyright.patch" || return 1
patch -Np1 -i "${srcdir}/06-hook-just-after-merging-perdir-config.patch" || return 1
patch -Np1 -i "${srcdir}/07-base-functionality.patch" || return 1
patch -Np1 -i "${srcdir}/08-max-clients-per-vhost.patch" || return 1
patch -Np1 -i "${srcdir}/09-capabilities.patch" || return 1
patch -Np1 -i "${srcdir}/10-nice.patch" || return 1
autoconf || return 1
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} || return 1
make || return 1
if [ "${mpm}" = "prefork" ]; then
make DESTDIR="${pkgdir}" install || return 1
else
install -m755 httpd "${pkgdir}/usr/sbin/httpd.${mpm}"
fi
popd
done
install -D -m755 "${srcdir}/httpd" "${pkgdir}/etc/rc.d/httpd" || return 1
install -D -m644 "${srcdir}/httpd.logrotate" "${pkgdir}/etc/logrotate.d/httpd" || return 1
install -D -m644 "${srcdir}/apache.conf.d" "${pkgdir}/etc/conf.d/apache" || return 1
# 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" || return 1
# cleanup
rm -rf "${pkgdir}/usr/share/httpd/manual"
rm -rf "${pkgdir}/etc/httpd/conf/original"
rm -rf "${pkgdir}/srv/"
rm -rf "${pkgdir}/usr/bin"
}