Version bump (thanks to Dean Baender <dcb at baender.com> and Kalin Kozhuharov <kalin...
authorChristian Heim <phreak@gentoo.org>
Sun, 21 Jan 2007 16:04:19 +0000 (16:04 +0000)
committerChristian Heim <phreak@gentoo.org>
Sun, 21 Jan 2007 16:04:19 +0000 (16:04 +0000)
Package-Manager: portage-2.1.2-r1

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

index 872f6ae83bb2b0acbd7b731f97cf0158bfcce418..b3c3851aaec12db34aeb572bddfe6ec5830e1379 100644 (file)
@@ -1,6 +1,12 @@
 # ChangeLog for net-www/apache
 # Copyright 2002-2007 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/net-www/apache/ChangeLog,v 1.509 2007/01/20 16:03:26 phreak Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-www/apache/ChangeLog,v 1.510 2007/01/21 16:04:19 phreak Exp $
+
+*apache-2.2.4 (21 Jan 2007)
+
+  21 Jan 2007; Christian Heim <phreak@gentoo.org> +apache-2.2.4.ebuild:
+  Version bump (thanks to Dean Baender <dcb at baender.com> and Kalin
+  Kozhuharov <kalin at ThinRope.net> in #114232).
 
   20 Jan 2007; Christian Heim <phreak@gentoo.org> apache-2.2.3-r2.ebuild:
   Fixing a small typo in =net-www/apache-2.2.3-r2.
index 09733a24a3edbdfd2717a40f21c3f126a5124b05..dffe818cd0f2b5322f99aee057c0ca6e2a47393b 100644 (file)
@@ -8,9 +8,11 @@ DIST gentoo-apache-1.3.37-20060729.tar.bz2 27992 RMD160 fdb8c3690c8daad501339545
 DIST gentoo-apache-2.0.58-r2-20060726.tar.bz2 58758 RMD160 46c6da577db444a6553b60d3ae30c61ae3b741fa SHA1 5399c6076fbccc36b1d8a5ed783f77918c3398eb SHA256 b8e0356e87fdd7b55fcecbee804c9a41525b3e6fe8309f87f2509abd161c8e6b
 DIST gentoo-apache-2.0.59-r2-20061102.tar.bz2 58768 RMD160 d20d39e66e3cb52befeb697133172c8d494e2c78 SHA1 1f8543ecdba7cef911456757a0d12e9c15abe355 SHA256 c8de97abe4077e2f6d827726a5fb0b03f6e8bd9514d8f9b9ca2a35a1c9698518
 DIST gentoo-apache-2.2.3-r1-20061126.tar.bz2 54107 RMD160 a44c10cd0f0bd7dc4695b1fb7bf79c31397a2791 SHA1 48580fac951d1ae8d3627a791a29519cf998c047 SHA256 18fbdf626494832cc2557b3bef2b6dfc687580d7754d0ea46309a4c00fa80e55
+DIST gentoo-apache-2.2.4-20070121.tar.bz2 53108 RMD160 180aaef9d7a174bf917d7cecac467c3a541901ce SHA1 e83669c06241586703431a18aa4dab4b55ebb0f5 SHA256 0cd381f4aee3795529bc27fe1926e9b20423931a26e508368b98ba38c29a6421
 DIST httpd-2.0.58.tar.bz2 4704318 RMD160 2ff44b2254552db908f1defd09e3142527f9bf83 SHA1 697e1674f8efbbe05b9f6c1ba00cd28a37293229 SHA256 4f746715c408f4cac48099ea72560c50ef190568dfcfa8e0762bae66c0398029
 DIST httpd-2.0.59.tar.bz2 4743549 RMD160 78b802354e338798a6978ece8b3568be97542174 SHA1 908209cd6e52f700d2a841a25de36e44d469c376 SHA256 bbac543ca9f80826f71eb16945610f8f90a36b346efc658be3b466ec0c990c0d
 DIST httpd-2.2.3.tar.bz2 4905728 RMD160 291e093f48d980daba482140581a525ecbfae4d2 SHA1 30d445302e63326d81705687ee734fdfb692dcde SHA256 dd86e8221f9efb85497c46229d0f04237d4e66d293fabe98eb0745166aaf4b6c
+DIST httpd-2.2.4.tar.bz2 4930375 RMD160 bb6e8a7447fa8e8f629010f30b548068de518523 SHA1 64ceae373434a986dc99b8ed953afa0d4fad85ce SHA256 08ab82eae6418e265d361730e7eadc7d6966dffdb66ee07bd4d9af3f2b28dfc8
 DIST lingerd-0.94.tar.gz 33938 RMD160 2d7363b763a68c0c7acdadc23779929f4d02153f SHA1 25d32aca3f03fbc9273fca6491444d1920818a1c SHA256 632030f9c1b9e8f817ee19bad74988f3dce7f6ec617677ad5a522e8d491382a0
 DIST mod_ssl-2.8.25-1.3.34.tar.gz 820352 RMD160 90a3913d30c7f4d194907463125c90101005837a SHA1 150f726539d74c0d2af02e482be78bbcdb811395 SHA256 832b240157666efdbdfc1a2fd593ee4eebbc9441ec48ece8276660092b974d07
 DIST mod_ssl-2.8.28-1.3.37.tar.gz 820417 RMD160 6b12c0a52fe0fbb7b91221d1cb37f93fbe59bb11 SHA1 9db2a7240e499da2b99d0df9c1a6fbae0580ba0b SHA256 76437105b5b5593a7dbd8ee45af417233897dcaf910cbc337a68b0db24e35489
@@ -34,10 +36,14 @@ EBUILD apache-2.2.3-r2.ebuild 14387 RMD160 544f12ee8ffa8b9f3780d2997fde6bcb6fd8e
 MD5 a96397cfbb064bb93ce7a4f3eb30233a apache-2.2.3-r2.ebuild 14387
 RMD160 544f12ee8ffa8b9f3780d2997fde6bcb6fd8e133 apache-2.2.3-r2.ebuild 14387
 SHA256 c7b5c8ad40106a4c7b188bb91adca75d4ccdfb649ce16978d3ee9e52d9734ad9 apache-2.2.3-r2.ebuild 14387
-MISC ChangeLog 87640 RMD160 5430eda4efecf9ed21419af132dcbaeb7b95b849 SHA1 ef8402bf9ad103e72ff99131c405955c3f01bd05 SHA256 2b5454d1b6c679e0d1975e3a50e7c7945a032f01b6731ab41d2fc247bc5a5806
-MD5 1bcf5baa715c157497476b2184900636 ChangeLog 87640
-RMD160 5430eda4efecf9ed21419af132dcbaeb7b95b849 ChangeLog 87640
-SHA256 2b5454d1b6c679e0d1975e3a50e7c7945a032f01b6731ab41d2fc247bc5a5806 ChangeLog 87640
+EBUILD apache-2.2.4.ebuild 14168 RMD160 1345f43f321caac487b4d8129d725395760f7963 SHA1 db8514f64942340fd5653efc457c6486a6314019 SHA256 069da154dbb2427434b0b125bfe40b6b2d898a643662da7fe3f14d20ce953148
+MD5 d028a29a11e5aa575845449de9753e23 apache-2.2.4.ebuild 14168
+RMD160 1345f43f321caac487b4d8129d725395760f7963 apache-2.2.4.ebuild 14168
+SHA256 069da154dbb2427434b0b125bfe40b6b2d898a643662da7fe3f14d20ce953148 apache-2.2.4.ebuild 14168
+MISC ChangeLog 87862 RMD160 c437821de16fe6599f6ed99b578bf6567e99b7ff SHA1 da99ce0233337a275879ec78b4a495d2e1beb878 SHA256 b80f95c5d13fb70297bcab6267715af73c1ddd11b82916b5d8be75a6a18ae5a5
+MD5 1d83e41e87aa239eadf839222252e93c ChangeLog 87862
+RMD160 c437821de16fe6599f6ed99b578bf6567e99b7ff ChangeLog 87862
+SHA256 b80f95c5d13fb70297bcab6267715af73c1ddd11b82916b5d8be75a6a18ae5a5 ChangeLog 87862
 MISC metadata.xml 551 RMD160 1b31261c043e57cabc9bd8582f9b34c09d92d108 SHA1 68bb286a67452c3dae7525195c60b8637cca9b81 SHA256 646729a42ddffcbde3426dd6aa9a77fab923bc348c5b34c9d24083d86fbb15eb
 MD5 0f28752ee3545b3fd8e28ee656e62f4b metadata.xml 551
 RMD160 1b31261c043e57cabc9bd8582f9b34c09d92d108 metadata.xml 551
@@ -57,10 +63,13 @@ SHA256 d3d9b85e6d0dc1610726f52d7f45f34e144351cf96d449bdabcd362482405cb5 files/di
 MD5 14154dd42c85b73c2e908337c39b152d files/digest-apache-2.2.3-r2 536
 RMD160 e9418e892901efb2d201d15b106da92f3f6f0890 files/digest-apache-2.2.3-r2 536
 SHA256 7a632ba04efc8017554a0f11673c7cca41cfc0e6cea299d8b2596888252854d9 files/digest-apache-2.2.3-r2 536
+MD5 13fe4f2b1ea9abdd5a6d21b4fd951557 files/digest-apache-2.2.4 527
+RMD160 2da3967ecb466b7b592acd289d45a246486017b3 files/digest-apache-2.2.4 527
+SHA256 26585f0ead7cab908a161a06863837680a1c66fbf2fbd3a5eff27049ab17c4f2 files/digest-apache-2.2.4 527
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v2.0.1 (GNU/Linux)
 
-iD8DBQFFsj0lyuNVb5qfaOYRAgSCAJ4h7q022k56CCglMH/cGn2EjGHS5QCfQZhr
-AO/ovb495CsSXVF/grDk9Bs=
-=/uIT
+iD8DBQFFs47ZyuNVb5qfaOYRAn+pAJ47v5X7JI0v6EGifiop2eZrsvKlwQCePMhx
+l3KlGK03d57m9sj5lThoclQ=
+=a76H
 -----END PGP SIGNATURE-----
diff --git a/net-www/apache/apache-2.2.4.ebuild b/net-www/apache/apache-2.2.4.ebuild
new file mode 100644 (file)
index 0000000..675aecc
--- /dev/null
@@ -0,0 +1,461 @@
+# Copyright 1999-2007 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/net-www/apache/apache-2.2.4.ebuild,v 1.1 2007/01/21 16:04:19 phreak Exp $
+
+inherit eutils flag-o-matic gnuconfig multilib autotools
+
+# latest gentoo apache files
+GENTOO_PATCHNAME="gentoo-apache-${PV}"
+GENTOO_PATCHSTAMP="20070121"
+GENTOO_DEVSPACE="phreak"
+GENTOO_PATCHDIR="${WORKDIR}/${GENTOO_PATCHNAME}"
+
+DESCRIPTION="The Apache Web Server."
+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"
+
+# some helper scripts are apache-1.1, thus both are here
+LICENSE="Apache-2.0 Apache-1.1"
+
+SLOT="2"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd"
+IUSE="debug doc ldap mpm-event mpm-peruser mpm-prefork mpm-worker no-suexec selinux ssl static-modules threads"
+
+DEPEND="app-misc/mime-types
+               dev-lang/perl
+               >=dev-libs/apr-1.2.8
+               >=dev-libs/apr-util-1.2.8
+               dev-libs/expat
+               dev-libs/libpcre
+               sys-libs/zlib
+               ldap? ( =net-nds/openldap-2* )
+               selinux? ( sec-policy/selinux-apache )
+               ssl? ( dev-libs/openssl )"
+RDEPEND="${DEPEND}"
+
+S="${WORKDIR}/httpd-${PV}"
+
+pkg_setup() {
+       if use ldap && ! built_with_use 'dev-libs/apr-util' ldap ; then
+               eerror "dev-libs/apr-util is missing LDAP support. For apache to have"
+               eerror "ldap support, apr-util must be built with the ldap USE-flag"
+               eerror "enabled."
+               die "ldap USE-flag enabled while not supported in apr-util"
+       fi
+
+       # select our MPM
+       MPM_LIST="event peruser prefork worker"
+       for x in ${MPM_LIST} ; do
+               if use mpm-${x} ; then
+                       if [[ "x${mpm}" == "x" ]] ; then
+                               mpm=${x}
+                               einfo "Selected MPM: ${mpm}"
+                       else
+                               eerror "You have selected more then one mpm USE-flag."
+                               eerror "Only one MPM is supported."
+                               die "more then one mpm was specified"
+                       fi
+               fi
+       done
+
+       if [[ "x${mpm}" == "x" ]] ; then
+               if use threads ; then
+                       mpm=worker
+                       einfo "Selected default threaded MPM: ${mpm}";
+               else
+                       mpm=prefork
+                       einfo "Selected default MPM: ${mpm}";
+               fi
+       fi
+
+       # setup apache user and group
+       enewgroup apache 81
+       enewuser apache 81 -1 /var/www apache
+}
+
+src_unpack() {
+       unpack ${A}
+       cd "${S}"
+
+       # Use correct multilib libdir in gentoo patches
+       sed -i -e "s:/usr/lib:/usr/$(get_libdir):g" \
+               "${GENTOO_PATCHDIR}"/{conf/httpd.conf,init/*,patches/config.layout,scripts/Makefile.suexec,scripts/suexec2-config} \
+               || die "libdir sed failed"
+
+       #### Patch Organization
+       # 00-19 Gentoo specific  (00_all_some-title.patch)
+       # 20-39 Additional MPMs  (20_all_${MPM}_some-title.patch)
+       # 40-59 USE-flag based   (40_all_${USE}_some-title.patch)
+       # 60-79 Version specific (60_all_${PV}_some-title.patch)
+       # 80-99 Security patches (80_all_${PV}_cve-####-####.patch)
+
+       EPATCH_SUFFIX="patch"
+       epatch "${GENTOO_PATCHDIR}"/patches/[0-1]*
+       if $(ls "${GENTOO_PATCHDIR}"/patches/[2-3]?_*_${mpm}_* &>/dev/null) ; then
+               epatch "${GENTOO_PATCHDIR}"/patches/[2-3]?_*_${mpm}_*
+       fi
+       for uf in ${IUSE} ; do
+               if use ${uf} && $(ls "${GENTOO_PATCHDIR}"/patches/[4-5]?_*_${uf}_* &>/dev/null) ; then
+                       epatch "${GENTOO_PATCHDIR}"/patches/[4-5]?_*_${uf}_*
+               fi
+       done
+       if $(ls "${GENTOO_PATCHDIR}"/patches/[6-9]?_*_${PV}_* &>/dev/null) ; then
+               epatch "${GENTOO_PATCHDIR}"/patches/[6-9]?_*_${PV}_*
+       fi
+
+       # 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
+
+       # patched-in MPMs need the build environment rebuilt
+       sed -i -e '/sinclude/d' configure.in
+       AT_GNUCONF_UPDATE=yes AT_M4DIR=build eautoreconf
+}
+
+src_compile() {
+       local modtype
+       if use static-modules ; then
+               modtype="static"
+       else
+               modtype="shared"
+       fi
+
+       select_modules_config || die "determining modules failed"
+
+       local myconf=""
+       use ldap \
+               && mods="${mods} ldap authnz_ldap" \
+               && myconf="${myconf} --enable-authnz-ldap=${modtype}" \
+               && myconf="${myconf} --enable-ldap=${modtype}"
+       use ssl \
+               && mods="${mods} 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 use no-suexec ; then
+               myconf="${myconf} --disable-suexec"
+       else
+               mods="${mods} suexec"
+               myconf="${myconf} $(${GENTOO_PATCHDIR}/scripts/suexec2-config --config)"
+               myconf="${myconf} \
+                               --with-suexec-bin=/usr/sbin/suexec2 \
+                               --enable-suexec=${modtype}"
+       fi
+
+       # common confopts
+       myconf="--cache-file='${S}/config.cache' \
+                       --with-mpm=${mpm} \
+                       --with-perl=/usr/bin/perl \
+                       --with-expat=/usr \
+                       --with-z=/usr \
+                       --with-apr=/usr \
+                       --with-apr-util=/usr \
+                       --with-pcre=/usr \
+                       --with-port=80 \
+                       --enable-layout=Gentoo \
+                       --with-program-name=apache2 \
+                       ${myconf} \
+                       ${MY_BUILTINS}"
+
+       # debugging support
+       if use debug ; then
+               myconf="${myconf} --enable-maintainer-mode"
+       fi
+
+       econf ${myconf} || die "econf failed: please submit a bug report to bugs.gentoo.org, including your config.layout and config.log"
+
+       sed -i -e 's:apache2\.conf:httpd.conf:' include/ap_config_auto.h
+
+       emake || die "emake failed"
+}
+
+src_install () {
+       #### DEFAULT SETUP & INSTALL
+
+       # general install
+       emake DESTDIR="${D}" install || die "emake install failed"
+
+       #### CLEAN-UP
+       rm -Rf "${D}"/etc
+       rm -f "${D}"/usr/sbin/envvars*
+       rm -f "${D}"/usr/sbin/apachectl
+
+       #### CONFIGURATION
+       insinto /etc/apache2
+
+       # restore the magic file
+       doins docs/conf/magic
+
+       # This is a mapping of module names to the -D options in APACHE2_OPTS
+       # Used for creating optional LoadModule lines
+       mod_defines="info:INFO status:INFO
+                               ldap:LDAP authnz_ldap:AUTH_LDAP
+                               proxy:PROXY proxy_connect:PROXY proxy_http:PROXY
+                               proxy_ajp:PROXY proxy_balancer:PROXY
+                               ssl:SSL
+                               suexec:SUEXEC
+                               userdir:USERDIR"
+
+       # create our LoadModule lines
+       if ! use static-modules ; then
+               load_module=""
+               moddir="${D}/usr/$(get_libdir)/apache2/modules"
+               for m in ${mods} ; do
+                       endid="no"
+
+                       if [[ -e "${moddir}/mod_${m}.so" ]] ; then
+                               for def in ${mod_defines} ; do
+                                       if [[ "${m}" == "${def%:*}" ]] ; then
+                                               load_module="${load_module}\n<IfDefine ${def#*:}>"
+                                               endid="yes"
+                                       fi
+                               done
+                               load_module="${load_module}\nLoadModule ${m}_module modules/mod_${m}.so"
+                               if [[ "${endid}" == "yes" ]] ; then
+                                       load_module="${load_module}\n</IfDefine>"
+                               fi
+                       fi
+               done
+       fi
+       sed -i -e "s:%%LOAD_MODULE%%:${load_module}:" \
+               "${GENTOO_PATCHDIR}"/conf/httpd.conf || die "sed failed"
+
+       # install our configuration     
+       doins -r "${GENTOO_PATCHDIR}"/conf/*
+
+       insinto /etc/logrotate.d
+       newins "${GENTOO_PATCHDIR}"/scripts/apache2-logrotate apache2
+
+       # generate a sane default APACHE2_OPTS
+       APACHE2_OPTS="-D DEFAULT_VHOST -D INFO -D LANGUAGE"
+       use doc && APACHE2_OPTS="${APACHE2_OPTS} -D MANUAL"
+       use ssl && APACHE2_OPTS="${APACHE2_OPTS} -D SSL -D SSL_DEFAULT_VHOST"
+       use no-suexec || APACHE2_OPTS="${APACHE2_OPTS} -D SUEXEC"
+
+       sed -i -e "s:APACHE2_OPTS=\".*\":APACHE2_OPTS=\"${APACHE2_OPTS}\":" \
+               "${GENTOO_PATCHDIR}"/init/apache2.confd || die "sed failed"
+
+       mv -f "${D}"/etc/apache2/apache2-builtin-mods "${D}"/etc/apache2/apache2-builtin-mods-2.2
+
+       newconfd "${GENTOO_PATCHDIR}"/init/apache2.confd apache2
+       newinitd "${GENTOO_PATCHDIR}"/init/apache2.initd apache2
+
+       # link apache2ctl to the init script
+       dosym /etc/init.d/apache2 /usr/sbin/apache2ctl
+
+       #### HELPER SCRIPTS
+       exeinto /usr/sbin
+       for i in apache2logserverstatus apache2splitlogfile suexec2-config ; do
+               doexe "${GENTOO_PATCHDIR}"/scripts/${i}
+       done
+       use ssl && doexe "${GENTOO_PATCHDIR}"/scripts/gentestcrt.sh
+
+       for i in logresolve.pl split-logfile log_server_status ; do
+               doexe support/${i}
+       done
+
+       # needed for suexec2-config
+       insinto /usr/$(get_libdir)/apache2/build
+       doins "${GENTOO_PATCHDIR}"/scripts/Makefile.suexec
+       doins support/suexec.c
+
+       #### SLOTTING
+       cd "${D}"
+
+       # sbin binaries
+       slotmv="apxs htpasswd htdigest rotatelogs logresolve log_server_status
+                       ab checkgid dbmmanage split-logfile suexec"
+       for i in ${slotmv} ; do
+               mv -f usr/sbin/${i} usr/sbin/${i}2
+       done
+       mv -f usr/sbin/logresolve.pl usr/sbin/logresolve2.pl
+
+       # man.1
+       for i in dbmmanage htdigest htpasswd ; do
+               mv -f usr/share/man/man1/${i}.1 usr/share/man/man1/${i}2.1
+       done
+
+       # man.8
+       for i in ab apxs logresolve rotatelogs suexec ; do
+               mv -f usr/share/man/man8/${i}.8 usr/share/man/man8/${i}2.8
+       done
+
+       mv -f usr/share/man/man8/httpd.8 usr/share/man/man8/apache2.8
+
+       # we don't use apachectl anymore, it's symlinked to the init script now
+       rm -f usr/share/man/man8/apachectl.8
+
+       #### DOCS
+       # basic info
+       cd "${S}"
+       dodoc ABOUT_APACHE CHANGES LAYOUT README README.platforms VERSIONING
+
+       # drop in a convenient link to the manual
+       if use doc ; then
+               sed -i -e "s:VERSION:${PVR}:" "${D}/etc/apache2/modules.d/00_apache_manual.conf"
+       else
+               rm -f "${D}/etc/apache2/modules.d/00_apache_manual.conf"
+               rm -Rf "${D}/usr/share/doc/${PF}/manual"
+       fi
+
+       # the default webroot gets stored in /usr/share/doc
+       ebegin "Installing default webroot to /usr/share/doc/${PF}"
+       mv -f "${D}/var/www/localhost" "${D}/usr/share/doc/${PF}/webroot"
+       eend $?
+
+       #### PERMISSONS
+       # protect the suexec binary
+       if ! use no-suexec ; then
+               fowners 0:apache /usr/sbin/suexec2
+               fperms 4710 /usr/sbin/suexec2
+       fi
+
+       keepdir /etc/apache2/vhosts.d
+       keepdir /etc/apache2/modules.d
+
+       # empty dirs
+       for i in /var/lib/dav /var/log/apache2 /var/cache/apache2 ; do
+               keepdir ${i}
+               fowners apache:apache ${i}
+               fperms 0755 ${i}
+       done
+
+       # We'll be needing /etc/apache2/ssl if USE=ssl
+       use ssl && keepdir /etc/apache2/ssl
+
+       fperms 0755 /usr/sbin/apache2logserverstatus
+       fperms 0755 /usr/sbin/apache2splitlogfile
+}
+
+pkg_postinst() {
+       # Automatically generate test certificates if ssl USE flag is being set
+       if use ssl && [[ ! -e "${ROOT}/etc/apache2/ssl/server.crt" ]] ; then
+               cd "${ROOT}"/etc/apache2/ssl
+               einfo
+               einfo "Generating self-signed test certificate in ${ROOT}/etc/apache2/ssl ..."
+               yes "" 2>/dev/null | \
+                       "${ROOT}"/usr/sbin/gentestcrt.sh >/dev/null 2>&1 || \
+                       die "gentestcrt.sh failed"
+               einfo
+       fi
+
+       # we do this here because the default webroot is a copy of the files
+       # that exist elsewhere and we don't want them managed/removed by portage
+       # when apache is upgraded.
+
+       if [[ -e "${ROOT}/var/www/localhost" ]] ; then
+               einfo "The default webroot has not been installed into"
+               einfo "${ROOT}/var/www/localhost because the directory already exists"
+               einfo "and we do not want to overwrite any files you have put there."
+               einfo
+               einfo "If you would like to install the latest webroot, please run"
+               einfo "emerge --config =${PF}"
+       else
+               einfo "Installing default webroot to ${ROOT}/var/www/localhost"
+               mkdir -p "${ROOT}"/var/www/localhost
+               cp -R "${ROOT}"/usr/share/doc/${PF}/webroot/* "${ROOT}"/var/www/localhost
+               chown -R apache:0 "${ROOT}"/var/www/localhost
+       fi
+
+       # Check for dual/upgrade install
+       # The hasq is a hack so we don't throw QA warnings for not putting
+       # apache2 in IUSE - the only use of the flag is this warning
+       if has_version '=net-www/apache-1*' || ! hasq apache2 ${USE} ; then
+               ewarn
+               ewarn "Please add the 'apache2' flag to your USE variable and (re)install"
+               ewarn "any additional DSO module(s) you may wish to use with Apache-2.x."
+               ewarn "Addon modules are configured in ${ROOT}/etc/apache2/modules.d"
+               ewarn
+       fi
+
+       if has_version '<net-www/apache-2.2.0' ; then
+               einfo
+               einfo "When upgrading from versions below 2.2.0 to this version, you"
+               einfo "need to rebuild all your modules. Please do so for your modules"
+               einfo "to continue working correctly."
+               einfo
+               einfo "Also note that some configuration directives have been"
+               einfo "split into their own files under ${ROOT}/etc/apache2/modules.d"
+               einfo
+               einfo "For more information on what you may need to change, please"
+               einfo "see the overview of changes at:"
+               einfo "http://httpd.apache.org/docs/2.2/new_features_2_2.html"
+               einfo
+               einfo "Some modules do not yet work with Apache 2.2."
+               einfo "To keep from accidentally downgrading to Apache 2.0, you should"
+               einfo "add the following to ${ROOT}/etc/portage/package.mask:"
+               einfo
+               einfo "    <net-www/apache-2.2.0"
+               einfo
+       fi
+}
+
+pkg_config() {
+       einfo "Installing default webroot to ${ROOT}/var/www/localhost"
+       mkdir -p "${ROOT}"/var/www/localhost
+       cp -R "${ROOT}"/usr/share/doc/${PF}/webroot/* "${ROOT}"/var/www/localhost
+       chown -R apache:0 "${ROOT}"/var/www/localhost
+}
+
+parse_modules_config() {
+       local name=""
+       local disable=""
+       local version="undef"
+       MY_BUILTINS=""
+       mods=""
+       [[ -f "${1}" ]] || return 1
+
+       for i in $(sed 's/#.*//' < $1) ; do
+               if [[ "$i" == "VERSION:" ]] ; then
+                       version="select"
+               elif [[ "${version}" == "select" ]] ; then
+                       version="$i"
+               # start with - option for backwards compatibility only
+               elif [[ "$i" == "-" ]] ; then
+                       disable="true"
+               elif [[ -z "${name}" ]] && [[ "$i" != "${i/mod_/}" ]] ; then
+                       name="${i/mod_/}"
+               elif [[ -n "${disable}" ]] || [[ "$i" == "disabled" ]] ; then
+                       MY_BUILTINS="${MY_BUILTINS} --disable-${name}"
+                       name="" ; disable=""
+               elif [[ "$i" == "static" ]] || use static-modules ; then
+                       MY_BUILTINS="${MY_BUILTINS} --enable-${name}=static"
+                       name="" ; disable=""
+               elif [[ "$i" == "shared" ]] ; then
+                       MY_BUILTINS="${MY_BUILTINS} --enable-${name}=shared"
+                       mods="${mods} ${name}"
+                       name="" ; disable=""
+               else
+                       ewarn "Parse error in ${1} - unknown option: $i"
+               fi
+       done
+
+       # reject the file if it's unversioned or doesn't match our
+       # package major.minor. This is to make upgrading work smoothly.
+       if [[ "${version}" != "${PV%.*}" ]] ; then
+               mods=""
+               MY_BUILTINS=""
+               return 1
+       fi
+
+       einfo "Using ${1}"
+       einfo "options: ${MY_BUILTINS}"
+       einfo "LoadModules: ${mods}"
+}
+
+select_modules_config() {
+       parse_modules_config "${ROOT}"/etc/apache2/apache2-builtin-mods-2.2 || \
+       parse_modules_config "${GENTOO_PATCHDIR}"/conf/apache2-builtin-mods || \
+       return 1
+}
diff --git a/net-www/apache/files/digest-apache-2.2.4 b/net-www/apache/files/digest-apache-2.2.4
new file mode 100644 (file)
index 0000000..f5127e6
--- /dev/null
@@ -0,0 +1,6 @@
+MD5 067c25a353dd885b26253cda77771d98 gentoo-apache-2.2.4-20070121.tar.bz2 53108
+RMD160 180aaef9d7a174bf917d7cecac467c3a541901ce gentoo-apache-2.2.4-20070121.tar.bz2 53108
+SHA256 0cd381f4aee3795529bc27fe1926e9b20423931a26e508368b98ba38c29a6421 gentoo-apache-2.2.4-20070121.tar.bz2 53108
+MD5 536c86c7041515a25dd8bad3611da9a3 httpd-2.2.4.tar.bz2 4930375
+RMD160 bb6e8a7447fa8e8f629010f30b548068de518523 httpd-2.2.4.tar.bz2 4930375
+SHA256 08ab82eae6418e265d361730e7eadc7d6966dffdb66ee07bd4d9af3f2b28dfc8 httpd-2.2.4.tar.bz2 4930375