core/apache/PKGBUILD
2013-03-31 17:32:59 +00:00

142 lines
4.7 KiB
Bash

#
# Platform Packages for Chakra, part of chakra-project.org
#
# maintainer : abveritas[at]chakra-project[dog]org>
# maintainer : Manuel Tortosa <manutortosa[at]chakra-project[dot]org>
pkgname=apache
pkgver=2.4.4
pkgrel=1
pkgdesc='A high performance Unix-based HTTP server'
arch=('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' 'systemd>=189')
optdepends=('lynx: apachectl status')
install=${pkgname}.install
source=("http://www.apache.org/dist/httpd/httpd-${pkgver}.tar.bz2"
"http://www.apache.org/dist/httpd/httpd-${pkgver}.tar.bz2.asc"
"http://mpm-itk.sesse.net/apache2.4-mpm-itk-2.4.2-01.patch"
'apache.conf.d'
'httpd.logrotate'
'chakra.layout'
'httpd.service'
'httpd-tmpfile.conf')
md5sums=('0e712ee2119cd798c8ae39d5f11a9206'
'0e652e521f4f4f0f206e72a7b3c92dad'
'7b5fb06ba65d80d40f19e32f95426486'
'08b3c875f6260644f2f52b4056d656b0'
'6382331e9700ed9e8cc78ea51887b537'
'9404bc261cffce7ad88850f0569e9067'
'4af19522704050f98ba13e40d3eaca0b'
'110a056408252de4356be7f53872b11d')
build() {
cd "${srcdir}/httpd-${pkgver}"
# apply the monolithic ITK patch
# see http://mpm-itk.sesse.net/
patch -p1 -i "${srcdir}/apache2.4-mpm-itk-2.4.2-01.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}/chakra.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/
mv server/mpm/experimental/itk/prefork.c server/mpm/experimental/itk/itk.c
autoconf
fi
mkdir -p "build-${mpm}"
pushd "build-${mpm}"
"${srcdir}/httpd-${pkgver}/configure" \
--enable-layout=Chakra \
--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
popd >/dev/null
done
}
package() {
cd "${srcdir}/httpd-${pkgver}"
for mpm in prefork worker itk; do
pushd "build-${mpm}" >/dev/null
if [ "${mpm}" = 'prefork' ]; then
make DESTDIR="${pkgdir}" install
else
install -m755 httpd "${pkgdir}/usr/sbin/httpd.${mpm}"
fi
popd >/dev/null
done
install -D -m644 "${srcdir}/httpd.logrotate" \
"${pkgdir}/etc/logrotate.d/httpd"
install -D -m644 "${srcdir}/apache.conf.d" \
"${pkgdir}/etc/conf.d/apache"
# systemd
install -D -m644 "${srcdir}/httpd-tmpfile.conf" \
"${pkgdir}/usr/lib/tmpfiles.d/httpd.conf"
install -d "${pkgdir}"/usr/lib/systemd/system
install -D -m644 "${srcdir}/httpd.service" \
"${pkgdir}/usr/lib/systemd/system/"
# 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|' \
-e 's|#\(LoadModule negotiation_module modules/mod_negotiation.so\)|\1|' \
-e 's|#\(LoadModule userdir_module modules/mod_userdir.so\)|\1|' \
-e 's|#\(LoadModule slotmem_shm_module modules/mod_slotmem_shm.so\)|\1|' \
-i "${pkgdir}/etc/httpd/conf/httpd.conf"
}