summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Stewart <vericgar@gentoo.org>2006-01-17 02:54:14 +0000
committerMichael Stewart <vericgar@gentoo.org>2006-01-17 02:54:14 +0000
commit1b2378f92ad396b42dcecc042d346c0a06d5fc08 (patch)
tree0acaac7cbc3f408fc5246b7ab78c04d1f9c2cb8f /net-www
parentStable on SPARC. (diff)
downloadgentoo-2-1b2378f92ad396b42dcecc042d346c0a06d5fc08.tar.gz
gentoo-2-1b2378f92ad396b42dcecc042d346c0a06d5fc08.tar.bz2
gentoo-2-1b2378f92ad396b42dcecc042d346c0a06d5fc08.zip
Security bump. Fixes bugs 115324 and 118874.
(Portage version: 2.1_pre3-r1)
Diffstat (limited to 'net-www')
-rw-r--r--net-www/apache/ChangeLog9
-rw-r--r--net-www/apache/Manifest16
-rw-r--r--net-www/apache/apache-2.0.54-r16.ebuild417
-rw-r--r--net-www/apache/apache-2.0.55-r1.ebuild441
-rw-r--r--net-www/apache/files/digest-apache-2.0.54-r163
-rw-r--r--net-www/apache/files/digest-apache-2.0.55-r12
6 files changed, 876 insertions, 12 deletions
diff --git a/net-www/apache/ChangeLog b/net-www/apache/ChangeLog
index d7aafb012ce8..b4d68c65e730 100644
--- a/net-www/apache/ChangeLog
+++ b/net-www/apache/ChangeLog
@@ -1,6 +1,13 @@
# ChangeLog for net-www/apache
# Copyright 2002-2006 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/net-www/apache/ChangeLog,v 1.448 2006/01/15 02:35:49 cryos Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-www/apache/ChangeLog,v 1.449 2006/01/17 02:54:14 vericgar Exp $
+
+*apache-2.0.55-r1 (16 Jan 2006)
+*apache-2.0.54-r16 (16 Jan 2006)
+
+ 16 Jan 2006; Michael Stewart <vericgar@gentoo.org>
+ +apache-2.0.54-r16.ebuild, +apache-2.0.55-r1.ebuild:
+ Security bump. Fixes bugs 115324 and 118874.
15 Jan 2006; Marcus D. Hanwell <cryos@gentoo.org> apache-2.0.55.ebuild:
Stable on amd64, bug 117835.
diff --git a/net-www/apache/Manifest b/net-www/apache/Manifest
index 51f6459a80ae..0c4f4733bbda 100644
--- a/net-www/apache/Manifest
+++ b/net-www/apache/Manifest
@@ -1,16 +1,15 @@
------BEGIN PGP SIGNED MESSAGE-----
-Hash: SHA1
-
-MD5 9b3366c2a6d3be00ec57b3ed25fd753e ChangeLog 74777
+MD5 4f45df09f02bd792c9fa1e0082e4b05f ChangeLog 74999
MD5 26a30fcfe2a6fbbf994b64756ed4f604 apache-1.3.32-r1.ebuild 6685
MD5 f154daabfa5b59d9597f8ede26b839d2 apache-1.3.33-r13.ebuild 8674
MD5 17e12318b6dd1cd8bb25cb987490c7fd apache-1.3.33-r6.ebuild 7108
MD5 f98b6437e47b471cea336f1cbb6ac240 apache-1.3.34-r1.ebuild 7114
MD5 0eb24bf60ddc4cc541b0fe6e70fb48b1 apache-1.3.34-r10.ebuild 8666
MD5 8dfa3f0fbdc01264e754bd3ebf7b8a5a apache-2.0.54-r15.ebuild 12594
+MD5 89a43c85e386735488c1498cfdee5fd5 apache-2.0.54-r16.ebuild 13054
MD5 be59fbc220730a0212fbf6f34a1a6652 apache-2.0.54-r30.ebuild 12930
MD5 17f7420f9957d17a514ee70bc4786a25 apache-2.0.54-r31.ebuild 13375
MD5 e1e33b99a1b8f95a419f0e95a6ebb2dc apache-2.0.54-r9.ebuild 12595
+MD5 d167f55e1d4ff0027bdb282f6484b2c5 apache-2.0.55-r1.ebuild 13379
MD5 2eef71adb67bd3ddf3f8c4743a5ebe6a apache-2.0.55.ebuild 13370
MD5 8b12871dd74fcd3f4fdf451c9d8c259e files/00_apache_manual.conf 781
MD5 3d94c56af17136b6c408f076c32e0362 files/2.0.49/40_mod_ssl.conf 3213
@@ -48,10 +47,12 @@ MD5 324e63ccba6d27b9d9b08209c9992fe4 files/digest-apache-1.3.33-r6 221
MD5 33b6746d8bc97e23fd7f4420ad437b8c files/digest-apache-1.3.34-r1 221
MD5 947bc1e2e4792fd492a8d90f7abe9e78 files/digest-apache-1.3.34-r10 287
MD5 282e8f0ae737d778a643251ad4f21122 files/digest-apache-2.0.54-r15 217
+MD5 548fdbc1f64f79b0bcda8af19d1c1f8c files/digest-apache-2.0.54-r16 217
MD5 b9925be24e72acc1031f76a8bc0a07cb files/digest-apache-2.0.54-r30 151
MD5 f3ab77f6b13c80af68614aa80de7af2b files/digest-apache-2.0.54-r31 154
MD5 35d8cf2217559d96a69696d69f4c85cc files/digest-apache-2.0.54-r9 214
MD5 76c56212c3095c58a713ffb7d5263cdf files/digest-apache-2.0.55 147
+MD5 d505d0e0fb4d17095848855d54c6b0f1 files/digest-apache-2.0.55-r1 150
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
@@ -64,10 +65,3 @@ MD5 59a6ba7dcde461f5350af41e6aff92b1 files/robots.txt 342
MD5 d3626a1e31a675c60d066c111d552adf files/suexec.pam 59
MD5 161245c7aa1eb785db53b34d6a10be43 files/suexec_pam_gentoo.patch 2149
MD5 27c9cb37c510e08bb69df277229a03ea metadata.xml 566
------BEGIN PGP SIGNATURE-----
-Version: GnuPG v1.4.2 (GNU/Linux)
-
-iD8DBQFDzEp+2+ySkm8kpY0RAgaZAJ4lIK+Or5mu9qVKaHRGua/YERIkxQCfZKPm
-MM28Rrkf0J/eIHmTnqrgXNk=
-=pV0N
------END PGP SIGNATURE-----
diff --git a/net-www/apache/apache-2.0.54-r16.ebuild b/net-www/apache/apache-2.0.54-r16.ebuild
new file mode 100644
index 000000000000..2c0aad4a4ad8
--- /dev/null
+++ b/net-www/apache/apache-2.0.54-r16.ebuild
@@ -0,0 +1,417 @@
+# Copyright 1999-2006 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-r16.ebuild,v 1.1 2006/01/17 02:54:14 vericgar Exp $
+
+inherit flag-o-matic eutils fixheadtails gnuconfig
+
+PATCH_LEVEL="${PVR}"
+S="${WORKDIR}/httpd-${PV}"
+DESCRIPTION="Apache Web Server"
+HOMEPAGE="http://www.apache.org/"
+SRC_URI="mirror://apache/httpd/httpd-${PV}.tar.bz2
+ http://dev.gentoo.org/~vericgar/dist/apache/old/apache-patches-${PATCH_LEVEL}.tar.bz2
+ http://dev.gentoo.org/~vericgar/dist/apache/old/apache-conf-${PATCH_LEVEL}.tar.bz2"
+
+LICENSE="Apache-2.0"
+SLOT="2"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86"
+IUSE="berkdb gdbm ldap threads ipv6 doc static ssl selinux"
+
+#Standard location for Gentoo Linux
+DATADIR="/var/www/localhost"
+
+# Location for the two additional tarballs
+APACHE_PATCHDIR=${WORKDIR}/apache-patches-${PATCH_LEVEL}
+APACHE_CONFDIR=${WORKDIR}/apache-conf-${PATCH_LEVEL}
+
+DEPEND="dev-util/yacc
+ dev-lang/perl
+ sys-libs/zlib
+ dev-libs/expat
+ dev-libs/openssl
+ >=sys-devel/autoconf-2.59-r4
+ berkdb? ( sys-libs/db )
+ gdbm? ( sys-libs/gdbm )
+ !mips? ( ldap? ( =net-nds/openldap-2* ) )
+ selinux? ( sec-policy/selinux-apache )
+ !dev-libs/apr
+ !dev-libs/apr-util"
+
+apache_setup_vars() {
+ # Sets the USERDIR to default.
+ USERDIR="public_html"
+ einfo "DATADIR is set to: ${DATADIR}"
+ einfo "USERDIR is set to: $USERDIR"
+}
+
+set_filter_flags() {
+ CFLAGS="${CFLAGS/ / }"
+ has_version =sys-libs/glibc-2.2* && filter-flags -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE
+}
+
+src_unpack() {
+ set_filter_flags
+
+ unpack ${A} || die
+ cd ${S} || die
+
+ # apply the patches from the patch tarball
+ EPATCH_SUFFIX="patch"
+ epatch ${APACHE_PATCHDIR} || die
+
+ if use berkdb; then
+ einfo "Enabling berkdb."
+ if has_version '=sys-libs/db-4*'; then
+ einfo "Enabling db4"
+ myconf="${myconf} --with-dbm=db4 --with-berkely-db=/usr"
+ elif has_version '=sys-libs/db-3*'; then
+ einfo "Enabling db3"
+ myconf="${myconf} --with-dbm=db3 --with-berkely-db=/usr"
+ elif has_version '=sys-libs/db-2'; then
+ einfo "Enabling db2"
+ myconf="${myconf} --with-dbm=db2 --with-berkely-db=/usr"
+ fi
+ else
+ echo "Disabling berkdb"
+ fi
+
+ #avoid utf-8 charset problems
+ export LC_CTYPE=C
+
+ ht_fix_file srclib/apr/build/buildcheck.sh
+
+ #give it the stamp
+ sed -i -e 's:(" PLATFORM "):(Gentoo/Linux):g' server/core.c
+
+ #fix perl with perl!
+ find . -type f | xargs perl -pi -e \
+ "s|/usr/local/bin/perl|/usr/bin/perl|g; \
+ s|/usr/local/bin/perl5|/usr/bin/perl|g; \
+ s|/path/to/bin/perl|/usr/bin/perl|g;"
+ #dont want this cruft in /usr/bin
+ sed -i -e 's:@exp_bindir@:@exp_installbuilddir:g' support/apachectl.in
+
+ #setup the filesystem layout config
+ cat ${FILESDIR}/common/config.layout >> config.layout
+ sed -i -e 's:version:${PF}:g' config.layout
+
+ cat ${FILESDIR}/common/apr-config.layout >> srclib/apr/config.layout
+ cat ${FILESDIR}/common/apr-util-config.layout >> srclib/apr-util/config.layout
+
+ sed -i -e "s:/var/www/localhost:${DATADIR}:g" srclib/apr/config.layout
+ sed -i -e "s:/var/www/localhost:${DATADIR}:g" srclib/apr-util/config.layout
+
+ WANT_AUTOCONF=2.5 ./buildconf || die "buildconf failed"
+}
+
+src_compile() {
+ set_filter_flags
+ apache_setup_vars
+
+ # Detect mips and uclibc systems properly
+ gnuconfig_update
+
+ local myconf
+ if use ldap; then
+ if use mips; then
+ eerror "Sorry, LDAP support isn't available yet for MIPS"
+ eerror "Test out OpenLDAP and report it via BugZilla!"
+ eerror "Continuing in 5 seconds"
+ sleep 5s
+ else
+ einfo "Enabling LDAP"
+ if use static; then
+ myconf="--with-ldap --enable-auth-ldap=static --enable-ldap=static"
+ else
+ myconf="--with-ldap --enable-auth-ldap=shared --enable-ldap=shared"
+ fi
+ fi
+ fi
+
+ if use ipv6; then
+ einfo "Enabling ipv6"
+ myconf="${myconf} --enable-vp4"
+ else
+ myconf="${myconf} --disable-ipv6"
+ fi
+
+ if use threads; then
+ einfo "Enabling threads support"
+ myconf="${myconf} --with-mpm=worker"
+ else
+ myconf="${myconf} --with-mpm=${MPM:=prefork}"
+ fi
+
+ select_modules_config || die "determining modules"
+
+ # 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
+
+ # Workaround for bug #32444 - robbat2@gentoo.org, 28 Nov 2003
+ # Apache2 tries to build SCTP support even when all the parts of it aren't there
+ # So for the moment we tell it to ignore SCTP support
+ echo 'ac_cv_sctp=${ac_cv_sctp=no}' >> ${S}/config.cache
+ echo 'ac_cv_header_netinet_sctp_h=${ac_cv_header_netinet_sctp_h=no}' >> ${S}/config.cache
+ echo 'ac_cv_header_netinet_sctp_uio_h=${ac_cv_header_netinet_sctp_uio_h=no}' >> ${S}/config.cache
+
+ SSL_BASE="SYSTEM" \
+ WANT_AUTOCONF_2_5=1 WANT_AUTOCONF=2.5
+ ./configure \
+ --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 \
+ \
+ ${MY_BUILTINS} \
+ \
+ --cache-file=${S}/config.cache \
+ --with-perl=/usr/bin/perl \
+ --with-expat=/usr \
+ --with-ssl=/usr \
+ --with-z=/usr \
+ --with-port=80 \
+ --enable-layout=Gentoo \
+ --with-program-name=apache2 \
+ --with-devrandom=/dev/urandom \
+ --host=${CHOST} ${myconf} || die "bad ./configure please submit bug report to bugs.gentoo.org. Include your config.layout."
+ #--with-mpm={worker|prefork|perchild|leader|threadpool}
+
+ # 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
+
+ emake || die "problem compiling Apache2 :("
+
+ #build ssl version of apache bench (ab-ssl)
+ 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; mv .libs/ab .libs/ab-ssl; rm -f ab.lo ab.o
+ make ab || die
+}
+
+src_install () {
+ set_filter_flags
+
+ # setup apache user and group
+ enewgroup apache 81
+ enewuser apache 81 -1 /var/www apache
+
+ local i
+ make DESTDIR=${D} install || die
+ dodoc ABOUT_APACHE CHANGES INSTALL LAYOUT \
+ LICENSE README* ${FILESDIR}/robots.txt
+
+ #bogus values pointing at /var/tmp/portage
+ sed -i -e 's:APR_SOURCE_DIR=.*:APR_SOURCE_DIR=:g' ${D}/usr/bin/apr-config
+ sed -i -e 's:APU_SOURCE_DIR=.*:APU_SOURCE_DIR=:g' ${D}/usr/bin/apu-config
+ sed -i -e 's:APU_BUILD_DIR=.*:APU_BUILD_DIR=:g' ${D}/usr/bin/apu-config
+
+ #protect the suexec binary
+ local gid=`id -g apache`
+ [ -z "${gid}" ] && gid=81
+ fowners root:${gid} /usr/sbin/suexec
+ fperms 4710 /usr/sbin/suexec
+
+ #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 /usr/lib/apache2-extramodules /usr/lib/apache2/extramodules
+ dosym /etc/apache2/conf /usr/lib/apache2/conf
+
+ cd ${S}
+ #Credits to advx.org people for these scripts. Heck, thanks for
+ #the nice layout and everything else ;-)
+ for i in apache2logserverstatus apache2splitlogfile
+ do
+ dosbin ${APACHE_CONFDIR}/usr/sbin/$i
+ done
+ exeinto /usr/lib/ssl/apache2-mod_ssl
+ doexe ${APACHE_CONFDIR}/usr/lib/ssl/apache2-mod_ssl/gentestcrt.sh
+
+ #some more scripts
+ for i in split-logfile list_hooks.pl logresolve.pl log_server_status
+ do
+ dosbin ${S}/support/$i
+ done
+ #the ssl version of apache bench
+ dosbin support/.libs/ab-ssl
+
+ #move some mods to extramodules
+ dodir /usr/lib/apache2-extramodules
+ for i in mod_ssl.so mod_ldap.so mod_auth_ldap.so
+ do
+ [ -x ${D}/usr/lib/apache2/modules/$i ] && \
+ mv ${D}/usr/lib/apache2/modules/$i ${D}/usr/lib/apache2-extramodules
+ done
+
+ #tidy up
+ mv ${D}/usr/sbin/envvars* ${D}/usr/lib/apache2/build
+ dodoc ${D}/etc/apache2/conf/*-std.conf
+ rm -f ${D}/etc/apache2/conf/*.conf
+ rm -rf ${D}/var/log ${D}/var/run
+
+ # install our default config files
+ cd ${D}
+ ( cd ${APACHE_CONFDIR} && tar -cpvf - * ) | tar -xpvf -
+ find etc/apache2 -type f -exec chmod 644 {} \;
+ find etc/apache2 -type f -exec chown root: {} \;
+
+ #drop in a convenient link to the manual
+ if use doc; then
+ dosym /usr/share/doc/${PF}/manual ${DATADIR}/htdocs/manual
+ else
+ rm -rf ${D}/usr/share/doc/${PF}/manual
+ fi
+
+ #SLOT=2!!!
+ cd ${D}
+ mv -v usr/sbin/apachectl usr/sbin/apache2ctl
+ mv -v usr/sbin/htdigest usr/sbin/htdigest2
+ mv -v usr/sbin/htpasswd usr/sbin/htpasswd2
+ mv -v usr/sbin/logresolve usr/sbin/logresolve2
+ mv -v usr/sbin/apxs usr/sbin/apxs2
+ mv -v usr/sbin/ab usr/sbin/ab2
+ mv -v usr/sbin/ab-ssl usr/sbin/ab2-ssl
+ mv -v usr/sbin/suexec usr/sbin/suexec2
+ mv -v usr/sbin/rotatelogs usr/sbin/rotatelogs2
+ mv -v usr/sbin/dbmmanage usr/sbin/dbmmanage2
+ mv -v usr/sbin/checkgid usr/sbin/checkgid2
+ mv -v usr/sbin/split-logfile usr/sbin/split-logfile2
+ mv -v usr/sbin/list_hooks.pl usr/sbin/list_hooks2.pl
+ mv -v usr/sbin/logresolve.pl usr/sbin/logresolve2.pl
+
+ # do the man pages
+ mv -v usr/share/man/man1/htdigest.1 usr/share/man/man1/htdigest2.1
+ mv -v usr/share/man/man1/htpasswd.1 usr/share/man/man1/htpasswd2.1
+ mv -v usr/share/man/man1/dbmmanage.1 usr/share/man/man1/dbmmanage2.1
+ mv -v usr/share/man/man8/ab.8 usr/share/man/man8/ab2.8
+ mv -v usr/share/man/man8/apxs.8 usr/share/man/man8/apxs2.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
+ mv -v usr/share/man/man8/logresolve.8 usr/share/man/man8/logresolve2.8
+ mv -v usr/share/man/man8/rotatelogs.8 usr/share/man/man8/rotatelogs2.8
+ mv -v usr/share/man/man8/suexec.8 usr/share/man/man8/suexec2.8
+
+ # Fix for dav and SSL dirs
+ keepdir /var/lib/dav
+ fowners apache:apache /var/lib/dav
+ fperms 755 /var/lib/dav
+
+ keepdir /var/log/apache2
+ fowners apache:apache /var/log/apache2
+ fperms 755 /var/log/apache2
+
+ keepdir /var/cache/apache2
+ fowners apache:apache /var/cache/apache2
+ fperms 755 /var/cache/apache2
+
+ keepdir /etc/apache2/conf/ssl
+
+ # fix bug 92348
+ fperms 755 /usr/sbin/apache2logserverstatus
+ fperms 755 /usr/sbin/apache2splitlogfile
+
+ # Added by Jason Wever <weeve@gentoo.org>
+ # A little sedfu to fix bug #7172 for sparc64s
+ if [ ${ARCH} = "sparc" ]
+ then
+ sed -i -e '13a\AcceptMutex fcntl' \
+ ${D}/etc/apache2/conf/apache2.conf
+ fi
+}
+
+parse_modules_config() {
+ set_filter_flags
+
+ local filename=$1
+ local name=""
+ local dso=""
+ local disable=""
+ [ -f ${filename} ] || return 1
+ for i in `cat $filename | 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" ] ; 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 "${filename} options:\n${MY_BUILTINS}"
+}
+
+select_modules_config() {
+ parse_modules_config /etc/apache2/apache2-builtin-mods || \
+ parse_modules_config ${FILESDIR}/2.0.49/apache2-builtin-mods || \
+ return 1
+}
+
+pkg_postinst() {
+ set_filter_flags
+
+ if use ssl; then
+ cd ${ROOT}/etc/apache2/conf/ssl
+ einfo
+ einfo "Generating self-signed test certificate in /etc/apache2/conf/ssl..."
+ yes "" 2>/dev/null | ${ROOT}/usr/lib/ssl/apache2-mod_ssl/gentestcrt.sh >/dev/null 2>&1
+ einfo
+ fi
+
+ if has_version '=net-www/apache-1*' ; 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/conf/modules.d/"
+ ewarn
+ fi
+
+ if [ -d /home/httpd ];
+ then
+ einfo
+ einfo "Please remember to update your config files in /etc/apache2"
+ einfo "as --datadir has been changed to ${DATADIR}, and ServerRoot"
+ einfo "has changed to /usr/lib/apache2!"
+ einfo
+ fi
+
+ einfo "Fixing permissions problem introduced in previous revision"
+ find ${ROOT}/etc/apache2 -type f -user apache -exec chown root: {} \;
+
+ local list=""
+ for i in lib logs modules extramodules; do
+ local d="/etc/apache2/${i}"
+ [ -s "${d}" ] && list="${list} ${d}"
+ done
+ if [ -n "${list}" ]; then
+ einfo "You should delete these old symlinks: ${list}"
+ fi
+
+ einfo
+ einfo "This ebuild uses the old-style configuration of apache, which has"
+ einfo "been deprecated and will no longer be supported as of March 1, 2006."
+ einfo "It is strongly suggested that you upgrade to the latest version of"
+ einfo "apache by following the Apache Upgrading Guide at"
+ einfo "http://www.gentoo.org/doc/en/apache-upgrading.xml. If you have"
+ einfo "questions, please join us on #gentoo-apache on irc.freenode.net"
+ einfo
+
+}
diff --git a/net-www/apache/apache-2.0.55-r1.ebuild b/net-www/apache/apache-2.0.55-r1.ebuild
new file mode 100644
index 000000000000..ce28097739fc
--- /dev/null
+++ b/net-www/apache/apache-2.0.55-r1.ebuild
@@ -0,0 +1,441 @@
+# Copyright 1999-2006 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/net-www/apache/apache-2.0.55-r1.ebuild,v 1.1 2006/01/17 02:54:14 vericgar Exp $
+
+inherit eutils gnuconfig multilib
+
+# latest gentoo apache files
+GENTOO_PATCHNAME="gentoo-apache-${PVR}"
+GENTOO_PATCHSTAMP="20060115"
+GENTOO_DEVSPACE="vericgar"
+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"
+
+LICENSE="Apache-2.0"
+SLOT="2"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~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.7
+ ~dev-libs/apr-util-0.9.7
+ 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 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
+
+ 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
+
+ # 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} \
+ || die "sed failed"
+
+ EPATCH_SUFFIX="patch"
+ epatch ${GENTOO_PATCHDIR}/patches/[0-9]* || 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/$(get_libdir)" || 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/$(get_libdir) /usr/$(get_libdir)/apache2/lib
+ dosym /var/log/apache2 /usr/$(get_libdir)/apache2/logs
+ dosym /etc/apache2 /usr/$(get_libdir)/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/$(get_libdir)/apache2/build
+ dodoc etc/apache2/*-std.conf
+ rm -f etc/apache2/*.conf
+ rm -f etc/apache2/mime.types
+ 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
+ newconfd ${GENTOO_PATCHDIR}/init/apache2.confd apache2
+ newinitd ${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() {
+ # setup apache user and group
+ # we do this twice for binary packages
+ enewgroup apache 81
+ enewuser apache 81 -1 /var/www apache
+
+ # Automatically generate test ceritificates if ssl USE flag is being set
+ if useq ssl -a !-e ${ROOT}/etc/apache2/ssl/server.crt; 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-r30' && 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/doc/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 [ "x${mpm}" != "x" -a "x${mpm}" != "x${nmpm}" ]; 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-r16 b/net-www/apache/files/digest-apache-2.0.54-r16
new file mode 100644
index 000000000000..67577431b3df
--- /dev/null
+++ b/net-www/apache/files/digest-apache-2.0.54-r16
@@ -0,0 +1,3 @@
+MD5 dced19b097cc84d8b13fcb014bff70bb apache-conf-2.0.54-r16.tar.bz2 24850
+MD5 2108f75d179cad41283db6369b523c2d apache-patches-2.0.54-r16.tar.bz2 12016
+MD5 4ae8a38c6b5db9046616ce10a0d551a2 httpd-2.0.54.tar.bz2 5566979
diff --git a/net-www/apache/files/digest-apache-2.0.55-r1 b/net-www/apache/files/digest-apache-2.0.55-r1
new file mode 100644
index 000000000000..38288b6588fa
--- /dev/null
+++ b/net-www/apache/files/digest-apache-2.0.55-r1
@@ -0,0 +1,2 @@
+MD5 c39c5c2cc1d86898f6025d8a97c35937 gentoo-apache-2.0.55-r1-20060115.tar.bz2 51735
+MD5 f1b5b65c8661db9ffe38b5a4a865a0e2 httpd-2.0.55.tar.bz2 4745220