Security bump for CAN-2005-2491 and CAN-2005-2700. Fixes bugs 103554 and 104807 for...
authorMichael Stewart <vericgar@gentoo.org>
Sat, 10 Sep 2005 19:58:24 +0000 (19:58 +0000)
committerMichael Stewart <vericgar@gentoo.org>
Sat, 10 Sep 2005 19:58:24 +0000 (19:58 +0000)
Package-Manager: portage-2.0.51.22-r2

net-www/apache/ChangeLog
net-www/apache/Manifest
net-www/apache/apache-2.0.54-r30.ebuild [new file with mode: 0644]
net-www/apache/files/digest-apache-2.0.54-r30 [new file with mode: 0644]

index bf63ece0d88515a68a135154708615a995810818..a48aead48c5ab8f609821d076898d8c3840c3a98 100644 (file)
@@ -1,6 +1,12 @@
 # ChangeLog for net-www/apache
 # Copyright 2002-2005 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/net-www/apache/ChangeLog,v 1.403 2005/09/04 11:13:57 hardave Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-www/apache/ChangeLog,v 1.404 2005/09/10 19:58:24 vericgar Exp $
+
+*apache-2.0.54-r30 (10 Sep 2005)
+
+  10 Sep 2005; Michael Stewart <vericgar@gentoo.org>
+  +apache-2.0.54-r30.ebuild:
+  Security bump for CAN-2005-2491 and CAN-2005-2700. Fixes bugs 103554 and 104807 for new-style.
 
   04 Sep 2005; Hardave Riar <hardave@gentoo.org> apache-2.0.54-r9.ebuild:
   Stable on mips, bug #102991.
index 6d58883708c9ee6a69758f2ce15bc02b23771ff7..a90a74ed4f3d499ffcb76f1086c5553a2bdef1ee 100644 (file)
@@ -1,4 +1,3 @@
-MD5 b7bdc5eff847e6bf6234e696d5845f2c ChangeLog 68000
 MD5 b56779cb8460b101ad6912c8f45ff583 apache-1.3.29-r2.ebuild 7237
 MD5 3e32afd7bbab740bdce0fc0cf45d5be3 apache-1.3.31-r1.ebuild 6816
 MD5 a448a0e7566f85098cf55c54e4c6621f apache-1.3.31-r2.ebuild 6941
@@ -7,9 +6,11 @@ MD5 4972651d68219ad15fc821feda90d440 apache-1.3.31.ebuild 6760
 MD5 26a30fcfe2a6fbbf994b64756ed4f604 apache-1.3.32-r1.ebuild 6685
 MD5 71231c76a51034e85d1f116b4767fadc apache-1.3.32.ebuild 6693
 MD5 ed25e8cbac132cbbecbc3f41b43a3f51 apache-1.3.33-r1.ebuild 6951
+MD5 3ef41afa50a72857fe3c62ce5a628744 apache-1.3.33-r10.ebuild 8772
 MD5 17a8753ef203bc6d24e61967cad63421 apache-1.3.33-r2.ebuild 8637
 MD5 7ffd5d16d8cb2f8192d1fc48b75371df apache-1.3.33-r3.ebuild 6952
 MD5 2c34b40a3fe461014b19ca5e4763203e apache-1.3.33-r4.ebuild 8673
+MD5 eb173dd548089cf594c543d29b48948c apache-1.3.33-r5.ebuild 7105
 MD5 ca6b47f0c2a0006b71fc1153937824e5 apache-1.3.33.ebuild 6927
 MD5 1e34ebcb3af5040c59f77dcb26faf53a apache-2.0.50.ebuild 12912
 MD5 e89db5b90b1db0adeb25fc77840d4e4d apache-2.0.51-r1.ebuild 12864
@@ -19,15 +20,15 @@ MD5 996748170bc5ec8a2c230f8df8cff2f9 apache-2.0.52-r2.ebuild 12318
 MD5 7ad73fb027e9bc2dcda86b448a76450d apache-2.0.52.ebuild 12887
 MD5 0801d1f7a964ac3e07f1758b51cb8e8d apache-2.0.54-r10.ebuild 12816
 MD5 6176f8c77394fa2b355e7eb7a38f0b04 apache-2.0.54-r11.ebuild 12814
-MD5 37f5ed6f2423381241b029e6685bcdd2 metadata.xml 493
+MD5 0de97d0f4abaea688e5c532605f57bf1 ChangeLog 68215
 MD5 4003f8561ac1d6abec33916647691263 apache-2.0.54-r7.ebuild 12518
-MD5 4155675e67edb93a1a82505f140092c3 apache-2.0.54-r12.ebuild 12916
 MD5 3da3861fe4c224bb8144fa4167f2817e apache-2.0.54-r8.ebuild 12613
-MD5 3ef41afa50a72857fe3c62ce5a628744 apache-1.3.33-r10.ebuild 8772
-MD5 eb173dd548089cf594c543d29b48948c apache-1.3.33-r5.ebuild 7105
+MD5 37f5ed6f2423381241b029e6685bcdd2 metadata.xml 493
+MD5 4155675e67edb93a1a82505f140092c3 apache-2.0.54-r12.ebuild 12916
 MD5 9a2279df8a07b2d79f0ea9e91a3a70f2 apache-2.0.54-r13.ebuild 12649
 MD5 7ed9459c9900a7128b51e259e2977bc7 apache-2.0.54-r14.ebuild 12647
 MD5 6984dca404209fbedd4492e8ffdd8298 apache-2.0.54-r9.ebuild 12609
+MD5 02cbde35966481c587ad6e2aa02758ed apache-2.0.54-r30.ebuild 12649
 MD5 8b12871dd74fcd3f4fdf451c9d8c259e files/00_apache_manual.conf 781
 MD5 998b4b7df08eb15641e0b9132443b365 files/apache-1.3.27-apachectl.patch 1328
 MD5 37d2c4ea8e1a6725deaca42b6aa22c69 files/apache-1.3.27_db4_gentoo.patch 1006
@@ -53,9 +54,11 @@ MD5 da8dfe2134d7e30dc95e77e0c5f472e1 files/digest-apache-1.3.32 212
 MD5 c560ade7dafffbfdd05ec6deb125280b files/digest-apache-1.3.32-r1 215
 MD5 189cfb35b6320ae3ab57a32dbadd18f2 files/digest-apache-1.3.33 212
 MD5 bb9ffec6d5f5d409b6705a2d8c19bc6a files/digest-apache-1.3.33-r1 212
+MD5 3ebdb23ee46d8cee6611fd327217c18c files/digest-apache-1.3.33-r10 287
 MD5 7534b79d78a91297c44cc69ac4545cc8 files/digest-apache-1.3.33-r2 286
 MD5 bb9ffec6d5f5d409b6705a2d8c19bc6a files/digest-apache-1.3.33-r3 212
 MD5 0282c9d20ad05b752812c62f655b50ce files/digest-apache-1.3.33-r4 286
+MD5 b75d2bfc008916e050f1bafb8a04c944 files/digest-apache-1.3.33-r5 221
 MD5 cb82ab66045d6f309af686c0206fc3c0 files/digest-apache-2.0.50 201
 MD5 69d40992fa9301ce3198a0115fa1f31c files/digest-apache-2.0.51 137
 MD5 0eb9067bb4f2c2495069deaa9d7fce1b files/digest-apache-2.0.51-r1 140
@@ -64,20 +67,19 @@ MD5 44fc8ddc9a05a056d8a08e6d843c997c files/digest-apache-2.0.52-r1 204
 MD5 710e7291039a6cba132568e32daede8a files/digest-apache-2.0.52-r2 213
 MD5 f0386414da0ae14678d2875eb947d99d files/digest-apache-2.0.54-r10 151
 MD5 326a59d4f3d30e34f7b61550f9466328 files/digest-apache-2.0.54-r11 151
+MD5 2a290bf8617837e695c7971fdfef1766 files/digest-apache-2.0.54-r12 151
 MD5 4f6de1cd192882313d41650cf23eb26a files/digest-apache-2.0.54-r7 214
+MD5 eb8a02a66654924ac00333c33066c8a5 files/digest-apache-2.0.54-r8 214
 MD5 b9ff3534313dae1b8ac96df0e3e01373 files/httpd-2.0.48-ipv6.patch 865
 MD5 d52999376f67a872ee48cbae72db0160 files/httpd-2.0.49-cgi.patch 10319
 MD5 8cb4313e58d7bd5dc369eb92f75daa2b files/httpd-2.0.49-ipv6.patch 788
 MD5 59a6ba7dcde461f5350af41e6aff92b1 files/robots.txt 342
 MD5 d3626a1e31a675c60d066c111d552adf files/suexec.pam 59
 MD5 161245c7aa1eb785db53b34d6a10be43 files/suexec_pam_gentoo.patch 2149
-MD5 2a290bf8617837e695c7971fdfef1766 files/digest-apache-2.0.54-r12 151
-MD5 eb8a02a66654924ac00333c33066c8a5 files/digest-apache-2.0.54-r8 214
-MD5 3ebdb23ee46d8cee6611fd327217c18c files/digest-apache-1.3.33-r10 287
-MD5 b75d2bfc008916e050f1bafb8a04c944 files/digest-apache-1.3.33-r5 221
 MD5 1df975bb7cce6581ee241ea8a13a3e87 files/digest-apache-2.0.54-r13 151
 MD5 12525c2392680eadcdccabcf53590247 files/digest-apache-2.0.54-r14 151
 MD5 35d8cf2217559d96a69696d69f4c85cc files/digest-apache-2.0.54-r9 214
+MD5 b9925be24e72acc1031f76a8bc0a07cb files/digest-apache-2.0.54-r30 151
 MD5 3d94c56af17136b6c408f076c32e0362 files/2.0.49/40_mod_ssl.conf 3213
 MD5 1d10cc98714a34ddc38525743c2989f9 files/2.0.49/41_mod_ssl.default-vhost.conf 8053
 MD5 819ee444395cf42ccc8009529a94af37 files/2.0.49/45_mod_dav.conf 583
diff --git a/net-www/apache/apache-2.0.54-r30.ebuild b/net-www/apache/apache-2.0.54-r30.ebuild
new file mode 100644 (file)
index 0000000..7951d0c
--- /dev/null
@@ -0,0 +1,426 @@
+# Copyright 1999-2005 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/net-www/apache/apache-2.0.54-r30.ebuild,v 1.1 2005/09/10 19:58:24 vericgar Exp $
+
+inherit eutils gnuconfig
+
+# latest gentoo apache files
+GENTOO_PATCHNAME="gentoo-apache-${PVR}"
+GENTOO_PATCHSTAMP="20050910"
+GENTOO_DEVSPACE="vericgar"
+GENTOO_PATCHDIR="${WORKDIR}/${GENTOO_PATCHNAME}"
+
+DESCRIPTION="The Apache Web Server, Version 2.0.x"
+HOMEPAGE="http://httpd.apache.org/"
+SRC_URI="mirror://apache/httpd/httpd-${PV}.tar.bz2
+       http://dev.gentoo.org/~${GENTOO_DEVSPACE}/dist/apache/${GENTOO_PATCHNAME}-${GENTOO_PATCHSTAMP}.tar.bz2"
+
+LICENSE="Apache-2.0"
+SLOT="2"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86"
+IUSE="apache2 debug doc ldap mpm-leader mpm-peruser mpm-prefork mpm-threadpool mpm-worker no-suexec ssl static-modules threads selinux"
+
+RDEPEND="dev-lang/perl
+       ~dev-libs/apr-0.9.6
+       ~dev-libs/apr-util-0.9.6
+       dev-libs/expat
+       net-www/gentoo-webroot-default
+       app-misc/mime-types
+       sys-libs/zlib
+       ssl? ( dev-libs/openssl )
+       selinux? ( sec-policy/selinux-apache )
+       !mips? ( ldap? ( =net-nds/openldap-2* ) )"
+DEPEND="${RDEPEND}
+       >=sys-devel/autoconf-2.59-r4"
+
+S="${WORKDIR}/httpd-${PV}"
+
+big_fat_warnings() {
+       if use mpm-peruser; then
+               ewarn " -BIG- -FAT- -WARNING-"
+               ewarn ""
+               ewarn "The peruser (USE=mpm-peruser) MPM is considered highly experimental"
+               ewarn "and are not (yet) supported, nor are they recommended for production"
+               ewarn "use.  You have been warned!"
+               ewarn
+               ewarn "Continuing in 5 seconds.."
+               sleep 5
+       fi
+
+       ewarn ""
+       ewarn "LFS support has been removed due to incompatibilites with other packages."
+       ewarn "You _will_ have to re-emerge any Apache modules you have installed, or"
+       ewarn "they will likely misbehave/segfault."
+       ewarn ""
+       ewarn ""
+       ewarn "Multiple MPM support has been disabled due to problems with external"
+       ewarn "modules.  If you have relied on this functionality you will need"
+       ewarn "to find another solution.  The Gentoo Apache team apologizes for"
+       ewarn "any inconvienence this may cause you."
+       ewarn ""
+}
+
+pkg_setup() {
+       big_fat_warnings
+       select_mpms
+}
+
+src_unpack() {
+       unpack ${A} || die
+       cd ${S} || die
+
+       EPATCH_SUFFIX="patch"
+       epatch ${GENTOO_PATCHDIR}/patches/[0-2]* || die "internal ebuild error"
+
+       # avoid utf-8 charset problems
+       export LC_CTYPE=C
+
+       # setup the filesystem layout config
+       cat ${GENTOO_PATCHDIR}/patches/config.layout >> config.layout
+       sed -i -e 's:version:${PF}:g' config.layout
+
+       # peruser need to build conf
+       WANT_AUTOCONF=2.5 ./buildconf || die "buildconf failed"
+}
+
+src_compile() {
+       setup_apache_vars
+
+       # Detect mips and uclibc systems properly
+       gnuconfig_update
+
+       local modtype
+       if useq static-modules; then
+               modtype="static"
+       else
+               modtype="shared"
+       fi
+
+       select_modules_config || die "determining modules"
+
+       local myconf
+       useq ldap && myconf="${myconf} --enable-auth-ldap=${modtype} --enable-ldap=${modtype}"
+       useq ssl && myconf="${myconf} --with-ssl=/usr  --enable-ssl=${modtype}"
+
+       # Fix for bug #24215 - robbat2@gentoo.org, 30 Oct 2003
+       # We pre-load the cache with the correct answer!  This avoids
+       # it violating the sandbox.  This may have to be changed for
+       # non-Linux systems or if sem_open changes on Linux.  This
+       # hack is built around documentation in /usr/include/semaphore.h
+       # and the glibc (pthread) source
+       echo 'ac_cv_func_sem_open=${ac_cv_func_sem_open=no}' >> ${S}/config.cache
+
+       if useq no-suexec; then
+               myconf="${myconf} --disable-suexec"
+       else
+               myconf="${myconf}
+                               --with-suexec-safepath="/usr/local/bin:/usr/bin:/bin" \
+                               --with-suexec-logfile=/var/log/apache2/suexec_log \
+                               --with-suexec-bin=/usr/sbin/suexec2 \
+                               --with-suexec-userdir=${USERDIR} \
+                               --with-suexec-caller=apache \
+                               --with-suexec-docroot=/var/www \
+                               --with-suexec-uidmin=1000 \
+                               --with-suexec-gidmin=100 \
+                               --with-suexec-umask=077 \
+                               --enable-suexec=shared"
+       fi
+
+       # common confopts
+       myconf="${myconf} \
+                       --with-apr=/usr \
+                       --with-apr-util=/usr \
+                       --cache-file=${S}/config.cache \
+                       --with-perl=/usr/bin/perl \
+                       --with-expat=/usr \
+                       --with-z=/usr \
+                       --with-port=80 \
+                       --enable-layout=Gentoo \
+                       --with-program-name=apache2 \
+                       --with-devrandom=/dev/urandom \
+                       --host=${CHOST} ${MY_BUILTINS}"
+
+       # debugging support
+       if useq debug ; then
+               myconf="${myconf} --enable-maintainer-mode"
+       fi
+
+       ./configure --with-mpm=${mpm} ${myconf} || die "bad ./configure please submit bug report to bugs.gentoo.org. Include your config.layout and config.log"
+
+       # we don't want to try and recompile the ssl_expr_parse.c file, because
+       # the lex source is broken
+       touch modules/ssl/ssl_expr_scan.c
+
+       # as decided on IRC-AGENDA-10.2004, we use httpd.conf as standard config file name
+       sed -i -e 's:apache2\.conf:httpd.conf:' include/ap_config_auto.h
+
+       emake || die "problem compiling apache2"
+
+       # build ssl version of apache bench (ab-ssl)
+       if useq ssl; then
+               cd support
+               rm -f ab .libs/ab ab.lo ab.o
+               make ab CFLAGS="${CFLAGS} -DUSE_SSL -lcrypto -lssl -I/usr/include/openssl -L/usr/lib" || die
+               mv ab ab-ssl
+               rm -f ab.lo ab.o
+               make ab || die
+       fi
+}
+
+src_install () {
+       # setup apache user and group
+       enewgroup apache 81
+       enewuser apache 81 -1 /var/www apache
+
+       # general install
+       make DESTDIR=${D} install || die
+       dodoc ABOUT_APACHE CHANGES INSTALL LAYOUT LICENSE README* ${GENTOO_PATCHDIR}/docs/robots.txt
+
+       # protect the suexec binary
+       if ! useq no-suexec; then
+               fowners root:apache /usr/sbin/suexec
+               fperms 4710 /usr/sbin/suexec
+       fi
+
+       # apxs needs this to pickup the right lib for install
+       dosym /usr/lib /usr/lib/apache2/lib
+       dosym /var/log/apache2 /usr/lib/apache2/logs
+       dosym /etc/apache2 /usr/lib/apache2/conf
+
+       # Credits to advx.org people for these scripts. Heck, thanks for
+       # the nice layout and everything else ;-)
+       exeinto /usr/sbin
+       for i in apache2logserverstatus apache2splitlogfile; do
+               doexe ${GENTOO_PATCHDIR}/scripts/${i}
+       done
+       # gentestcrt.sh only if USE=ssl
+       useq ssl && doexe ${GENTOO_PATCHDIR}/scripts/gentestcrt.sh
+
+       # some more scripts
+       for i in split-logfile list_hooks.pl logresolve.pl log_server_status; do
+               doexe ${S}/support/${i}
+       done
+
+       # the ssl version of apache bench
+       useq ssl && doexe support/ab-ssl
+
+       # install mpm bins
+       doexe ${S}/apache2
+
+       # modules.d config file snippets
+       insinto /etc/apache2/modules.d
+       doins ${GENTOO_PATCHDIR}/conf/modules.d/45_mod_dav.conf
+       useq ldap && doins ${GENTOO_PATCHDIR}/conf/modules.d/46_mod_ldap.conf
+       if useq ssl; then
+               doins ${GENTOO_PATCHDIR}/conf/modules.d/40_mod_ssl.conf
+               doins ${GENTOO_PATCHDIR}/conf/modules.d/41_mod_ssl.default-vhost.conf
+       fi
+
+       # drop in a convenient link to the manual
+       if useq doc; then
+               insinto /etc/apache2/modules.d
+               doins ${GENTOO_PATCHDIR}/conf/modules.d/00_apache_manual.conf
+               sed -i -e "s:2.0.49:${PVR}:" ${D}/etc/apache2/modules.d/00_apache_manual.conf
+       else
+               rm -rf ${D}/usr/share/doc/${PF}/manual
+       fi
+
+       # SLOT=2
+       cd ${D}
+       for i in htdigest htpasswd logresolve apxs ab rotatelogs dbmmanage checkgid split-logfile; do
+               mv -v usr/sbin/${i} usr/sbin/${i}2
+       done
+       mv -v usr/sbin/apachectl usr/sbin/apache2ctl
+       mv -v usr/sbin/list_hooks.pl usr/sbin/list_hooks2.pl
+       mv -v usr/sbin/logresolve.pl usr/sbin/logresolve2.pl
+       useq ssl && mv -v usr/sbin/ab-ssl usr/sbin/ab2-ssl
+       useq no-suexec || mv -v usr/sbin/suexec usr/sbin/suexec2
+
+       # do the man pages
+       for i in htdigest.1 htpasswd.1 dbmmanage.1; do
+               mv -v usr/share/man/man1/${i} usr/share/man/man1/${i/./2.}
+       done
+       for i in ab.8 apxs.8 logresolve.8 rotatelogs.8; do
+               mv -v usr/share/man/man8/${i} usr/share/man/man8/${i/./2.}
+       done
+       useq no-suexec || mv -v usr/share/man/man8/suexec.8 usr/share/man/man8/suexec2.8
+       mv -v usr/share/man/man8/apachectl.8 usr/share/man/man8/apache2ctl.8
+       mv -v usr/share/man/man8/httpd.8 usr/share/man/man8/apache2.8
+
+       # tidy up
+       mv usr/sbin/envvars* usr/lib/apache2/build
+       dodoc etc/apache2/*-std.conf
+       rm -f etc/apache2/*.conf
+       rm -rf var/run var/log
+
+       # we DEPEND on net-www/gentoo-webroot-default for sharing this by now
+       rm -rf var/www/localhost
+
+       # config files
+       insinto /etc/conf.d
+       newins ${GENTOO_PATCHDIR}/init/apache2.confd apache2
+
+       exeinto /etc/init.d
+       newexe ${GENTOO_PATCHDIR}/init/apache2.initd apache2
+
+       insinto /etc/logrotate.d
+       newins ${GENTOO_PATCHDIR}/scripts/apache2-logrotate apache2
+
+       insinto /etc/apache2
+       doins ${GENTOO_PATCHDIR}/conf/apache2-builtin-mods
+       doins ${GENTOO_PATCHDIR}/conf/httpd.conf
+
+       insinto /etc/apache2/vhosts.d
+       doins ${GENTOO_PATCHDIR}/conf/vhosts.d/00_default_vhost.conf
+
+       keepdir /etc/apache2/vhosts.d
+       keepdir /etc/apache2/modules.d
+
+       # fix bug 92348
+       fperms 755 /usr/sbin/apache2logserverstatus
+       fperms 755 /usr/sbin/apache2splitlogfile
+
+       # empty dirs
+       for i in /var/lib/dav /var/log/apache2 /var/cache/apache2; do
+               keepdir ${i}
+               fowners apache:apache ${i}
+               fperms 755 ${i}
+       done
+
+       # We'll be needing /etc/apache2/ssl if USE=ssl
+       useq ssl && keepdir /etc/apache2/ssl
+
+}
+
+pkg_postinst() {
+
+       # Automatically generate test ceritificates if ssl USE flag is beeing set
+       if useq ssl; then
+               cd ${ROOT}/etc/apache2/ssl
+               einfo
+               einfo "Generating self-signed test certificate in /etc/apache2/ssl..."
+               yes "" 2>/dev/null | \
+                       ${ROOT}/usr/sbin/gentestcrt.sh >/dev/null 2>&1 || \
+                       die "gentestcrt.sh failed"
+               einfo
+       fi
+
+       # Check for dual/upgrade install
+       if has_version '=net-www/apache-1*' || ! use apache2 ; then
+               ewarn
+               ewarn "Please add the 'apache2' flag to your USE variable and (re)install"
+               ewarn "any additional DSO modules you may wish to use with Apache-2.x."
+               ewarn "Addon modules are configured in /etc/apache2/modules.d/"
+               ewarn
+       fi
+
+       # Check for obsolete symlinks
+       local list=""
+       for i in lib logs modules extramodules; do
+               local d="/etc/apache2/${i}"
+               [ -s "${d}" ] && list="${list} ${d}"
+       done
+       [ -n "${list}" ] && einfo "You should delete these old symlinks: ${list}"
+
+       if has_version '<net-www/apache-2.0.54-r10' && has_version '>=net-www/apache-2.0.0' ; then
+               einfo "Configuration locations have changed, you will need to migrate"
+               einfo "your configuration from /etc/apache2/conf/apache2.conf and"
+               einfo "/etc/apache2/conf/commonapache2.conf to /etc/apache2/httpd.conf."
+               einfo
+               einfo "Apache now checks for the old configuration and refuses to start"
+               einfo "if it exists. You must remove the old configuration first"
+               einfo
+               einfo "You should also at this time rebuild all your modules"
+               einfo
+               einfo "For more information, see"
+               einfo "    http://www.gentoo.org/proj/en/apache/upgrading.xml"
+               einfo
+       fi
+
+       big_fat_warnings
+}
+
+setup_apache_vars() {
+       # actually we do not provide a very dynamic way of those vars
+       # however, you may predefine them in shell before emerging
+       # to override the official default locations
+
+       # standard location for Gentoo Linux
+       DATADIR="${DATADIR:-/var/www/localhost}"
+       USERDIR="${USERDIR:-public_html}"
+
+       einfo "DATADIR is set to: ${DATADIR}"
+       einfo "USERDIR is set to: ${USERDIR}"
+}
+
+mpm_die() {
+       eerror "You attempted to specify the MPM $1, but MPM $2 was already specified."
+       eerror "The apache ebuilds no longer support multiple MPM installations.  Please choose"
+       eerror "one MPM and reinstall."
+       die "More than one MPM was specified."
+}
+
+try_mpm() {
+       local nmpm=$1
+
+       if [ -z "${nmpm}" ]; then
+               die "mpm to try not specified!"
+       fi
+
+       if [ -n "${mpm}" ]; then
+               mpm_die ${nmpm} ${mpm}
+       fi
+
+       mpm="${nmpm}"
+}
+
+select_mpms() {
+       useq mpm-prefork && try_mpm prefork
+       useq mpm-worker && try_mpm worker
+       useq mpm-peruser && try_mpm peruser
+       useq mpm-threadpool && try_mpm threadpool
+       useq mpm-leader && try_mpm leader
+
+       if [ "x${mpm}" = "x" ]; then
+               if useq threads; then
+                       einfo "Threads specified without a mpm-specification, using mpm-worker."
+                       mpm="worker"
+               else
+                       einfo "No MPM style was specified, defaulting to mpm-prefork."
+                       mpm="prefork"
+               fi
+       fi
+}
+
+parse_modules_config() {
+       local name=""
+       local disable=""
+       [ -f ${1} ] || return 1
+
+       for i in `cat $1 | sed "s/^#.*//"`; do
+               if [ $i == "-" ]; then
+                       disable="true"
+               elif [ -z "$name" ] && [ ! -z "`echo $i | grep "mod_"`" ]; then
+                       name=`echo $i | sed "s/mod_//"`
+               elif [ "$disable" ] && ( [ $i == "static" ] || [ $i == "shared" ] ); then
+                       MY_BUILTINS="${MY_BUILTINS} --disable-$name"
+                       name="" ; disable=""
+               elif [ $i == "static" ] || useq static-modules; then
+                       MY_BUILTINS="${MY_BUILTINS} --enable-$name=yes"
+                       name="" ; disable=""
+               elif [ $i == "shared" ]; then
+                       MY_BUILTINS="${MY_BUILTINS} --enable-$name=shared"
+                       name="" ; disable=""
+               fi
+       done
+
+       einfo "${1} options:\n${MY_BUILTINS}"
+}
+
+select_modules_config() {
+       parse_modules_config /etc/apache2/apache2-builtin-mods || \
+       parse_modules_config ${GENTOO_PATCHDIR}/conf/apache2-builtin-mods || \
+       return 1
+}
+
+# vim:ts=4
diff --git a/net-www/apache/files/digest-apache-2.0.54-r30 b/net-www/apache/files/digest-apache-2.0.54-r30
new file mode 100644 (file)
index 0000000..ddd764e
--- /dev/null
@@ -0,0 +1,2 @@
+MD5 4ae8a38c6b5db9046616ce10a0d551a2 httpd-2.0.54.tar.bz2 5566979
+MD5 77643795d01f2de4e82577b597a46ecb gentoo-apache-2.0.54-r30-20050910.tar.bz2 54255