mirror of
https://gitdl.cn/https://github.com/chakralinux/core.git
synced 2025-02-03 13:07:13 +08:00
142 lines
4.7 KiB
Bash
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"
|
|
}
|