summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Stewart <vericgar@gentoo.org>2006-04-01 23:22:12 +0000
committerMichael Stewart <vericgar@gentoo.org>2006-04-01 23:22:12 +0000
commit4016496b57423b5db62387073fffc39ee644edc1 (patch)
tree8cdc60dbd98e0535a8fdede2a9a321f9254c339a /net-www
parentsmall typo fixed in pkg_postinst (diff)
downloadgentoo-2-4016496b57423b5db62387073fffc39ee644edc1.tar.gz
gentoo-2-4016496b57423b5db62387073fffc39ee644edc1.tar.bz2
gentoo-2-4016496b57423b5db62387073fffc39ee644edc1.zip
Replace the patch for AddDirectoryIndex with a rewritten one. This should fix the segfaults reported in bug 106808
(Portage version: 2.1_pre6)
Diffstat (limited to 'net-www')
-rw-r--r--net-www/apache/ChangeLog9
-rw-r--r--net-www/apache/Manifest6
-rw-r--r--net-www/apache/apache-1.3.34-r12.ebuild307
-rw-r--r--net-www/apache/files/digest-apache-1.3.34-r1212
4 files changed, 333 insertions, 1 deletions
diff --git a/net-www/apache/ChangeLog b/net-www/apache/ChangeLog
index 0d1df7302fa6..9564c4ff6cdc 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.470 2006/04/01 02:59:30 vericgar Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-www/apache/ChangeLog,v 1.471 2006/04/01 23:22:11 vericgar Exp $
+
+*apache-1.3.34-r12 (01 Apr 2006)
+
+ 01 Apr 2006; Michael Stewart <vericgar@gentoo.org>
+ +apache-1.3.34-r12.ebuild:
+ Replace the patch for AddDirectoryIndex with a rewritten one. This should
+ fix the segfaults reported in bug 106808
*apache-2.0.55-r2 (31 Mar 2006)
diff --git a/net-www/apache/Manifest b/net-www/apache/Manifest
index ae9a996f0a43..38c683449139 100644
--- a/net-www/apache/Manifest
+++ b/net-www/apache/Manifest
@@ -19,6 +19,9 @@ SHA256 42c5882c220cc0855c0146c7c4074a9503c3b4a8e0e61c5c71097c18a6bd2069 apache-1
MD5 2eff7c35613548527056f33649cfe3a0 apache-1.3.34-r11.ebuild 8817
RMD160 84103c5b59e2ec25dabb63cc16c080ed5fca0253 apache-1.3.34-r11.ebuild 8817
SHA256 e6a72c7783e4ffbdd5a010dd819110c5ceb2402919b71a2f6439685e6d376ff7 apache-1.3.34-r11.ebuild 8817
+MD5 e50e7d34b5223b7fb1add3dddd6ceebe apache-1.3.34-r12.ebuild 8822
+RMD160 1e0434d424d89743b923ad94f19f19be20743d65 apache-1.3.34-r12.ebuild 8822
+SHA256 f4cc0088e69db70915585aa9cde26ea0492bf1589c1c18fe8868ec476b2c2b3d apache-1.3.34-r12.ebuild 8822
MD5 e38f273b00d0ffd7525584f7ba69dfb1 apache-1.3.34-r2.ebuild 7155
RMD160 2a636034695d112f3e8ed40bef900cb95d39dfca apache-1.3.34-r2.ebuild 7155
SHA256 12e1d0f7f77e909006edf616c52e4af9455fc924f17a53bfdae73f3f93f77c2f apache-1.3.34-r2.ebuild 7155
@@ -160,6 +163,9 @@ SHA256 c0436c24dd434ae303ef55deecc2f8b0f9c35593f93dcfad7863bf561e65ed2c files/di
MD5 28f84009f98e91a8c9404b699ac1a866 files/digest-apache-1.3.34-r11 287
RMD160 45b16af81aa6a795892b4e257d40b6dacaa4d15f files/digest-apache-1.3.34-r11 287
SHA256 e5f56d131b8d7c9bc65a0339719be5ef60da0e09c36519cd79c517ddcb6ebef8 files/digest-apache-1.3.34-r11 287
+MD5 599bc367f052c8a83fc9e42998e25d5a files/digest-apache-1.3.34-r12 1036
+RMD160 3385e01a69734881987e9a412c9877a61ee25e93 files/digest-apache-1.3.34-r12 1036
+SHA256 b9dc48b9a54ee0ef6afc934d46430c934f70a35af093dfcef338b95a2c3d8857 files/digest-apache-1.3.34-r12 1036
MD5 f7dfca382ad6dc9091ff9065180ecefb files/digest-apache-1.3.34-r2 221
RMD160 4251422bed0982124cc9fe3f8a2af88980a67092 files/digest-apache-1.3.34-r2 221
SHA256 eb768b722e9548e80f3d150b88ffcb42166639e3fd05875c8144ae6b239560fb files/digest-apache-1.3.34-r2 221
diff --git a/net-www/apache/apache-1.3.34-r12.ebuild b/net-www/apache/apache-1.3.34-r12.ebuild
new file mode 100644
index 000000000000..0795a5f491ad
--- /dev/null
+++ b/net-www/apache/apache-1.3.34-r12.ebuild
@@ -0,0 +1,307 @@
+# 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-1.3.34-r12.ebuild,v 1.1 2006/04/01 23:22:12 vericgar Exp $
+
+inherit eutils fixheadtails multilib
+
+# latest gentoo apache files
+GENTOO_PATCHNAME="gentoo-apache-${PVR}"
+GENTOO_PATCHSTAMP="test3"
+GENTOO_DEVSPACE="vericgar"
+GENTOO_PATCHDIR="${WORKDIR}/${GENTOO_PATCHNAME}"
+
+# The mod_ssl archive is only for providing the EAPI patch in here.
+# You should install the net-www/mod_ssl package for the actual DSO.
+mod_ssl_ver=2.8.25
+lingerd_ver=0.94
+
+DESCRIPTION="The Apache Web Server"
+HOMEPAGE="http://httpd.apache.org"
+SRC_URI="mirror://apache/httpd/apache_${PV}.tar.gz
+ ssl? ( ftp://ftp.modssl.org/source/mod_ssl-${mod_ssl_ver}-${PV}.tar.gz )
+ lingerd? ( http://images.iagora.com/media/software/lingerd/lingerd-${lingerd_ver}.tar.gz )
+ http://dev.gentoo.org/~${GENTOO_DEVSPACE}/dist/apache/${GENTOO_PATCHNAME}-${GENTOO_PATCHSTAMP}.tar.bz2"
+
+LICENSE="Apache-2.0"
+SLOT="1"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
+IUSE="doc ssl pam lingerd no-suexec static-modules selinux"
+
+DEPEND="dev-lang/perl
+ || ( sys-libs/gdbm ~sys-libs/db-1.85 )
+ sys-libs/db
+ >=dev-libs/mm-1.1.3
+ >=dev-libs/expat-1.95.2
+ net-www/gentoo-webroot-default
+ app-misc/mime-types
+ selinux? ( sec-policy/selinux-apache )
+ lingerd? ( =net-www/lingerd-${lingerd_ver} )"
+
+# so leave it out until it's available
+PDEPEND="ssl? ( =net-www/mod_ssl-${mod_ssl_ver}-r10 )"
+
+S=${WORKDIR}/${PN}_${PV}
+
+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"
+
+ # patch codes:
+ # 00-29 patches to work with gentoo
+ # 30-89 USE-flag patches
+ # 90-99 security patches
+ EPATCH_SUFFIX="patch"
+ epatch ${GENTOO_PATCHDIR}/patches/[0-2]*
+ epatch ${GENTOO_PATCHDIR}/patches/9*
+
+ # setup the filesystem layout config
+ cat ${GENTOO_PATCHDIR}/patches/config.layout >> config.layout
+ sed -i -e 's:version:${PF}:g' config.layout
+
+ if useq pam; then
+ epatch ${GENTOO_PATCHDIR}/patches/31_all_gentoo_suexec_pam.patch || die "pam patch failed"
+ fi
+
+ # fix obsolete 'head -1' and 'tail -1' calls
+ ht_fix_file src/Configure src/helpers/getuid.sh src/helpers/buildinfo.sh src/helpers/fmn.sh
+
+ # setup mod_ssl eapi
+ if useq ssl; then
+ local myssl
+ myssl=${WORKDIR}/mod_ssl-${mod_ssl_ver}-${PV}
+ cp ${myssl}/pkg.eapi/*.h src/include
+ cp ${myssl}/pkg.eapi/*.c src/ap
+ epatch ${myssl}/pkg.eapi/eapi.patch || die "failed to setup mod_ssl eapi"
+ fi
+
+ # set a reasonable MM_CORE_PATH location..
+ sed -i -e 's:logs/mm:/var/cache/apache-mm/mm:' src/include/httpd.h
+
+ if useq lingerd; then
+ local mylingerd=${WORKDIR}/lingerd-${lingerd_ver}
+ cp ${mylingerd}/apache-1.3/ap_lingerd.c ${mylingerd}/li_config.h src/main
+ cd src
+ if useq ssl; then
+ epatch ${mylingerd}/apache-1.3/aplinger-ssl.diff
+ else
+ epatch ${mylingerd}/apache-1.3/aplinger.diff
+ fi
+ cd ..
+ fi
+}
+
+src_compile() {
+ local myconf
+
+ setup_apache_vars
+
+ select_modules_config || die "determining modules"
+
+ if ! useq no-suexec; then
+ myconf="${myconf}
+ --enable-suexec
+ --suexec-uidmin=1000 \
+ --suexec-gidmin=100 \
+ --suexec-caller=apache \
+ --suexec-userdir=public_html \
+ --suexec-docroot=/var/www \
+ --suexec-safepath="/usr/local/bin:/usr/bin:/bin" \
+ --suexec-logfile=/var/log/apache/suexec_log"
+ fi
+
+ if useq ssl; then
+ myconf="${myconf} --enable-rule=EAPI"
+ fi
+
+ OPTIM="${MY_CFLAGS} -DHARD_SERVER_LIMIT=${HARD_SERVER_LIMIT:=512} \
+ -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64" \
+ LIBS="-ldb -lgdbm -lgdbm_compat -lpthread" \
+ EAPI_MM=SYSTEM \
+ ./configure \
+ --with-layout=Gentoo \
+ --target=apache \
+ --server-uid=apache \
+ --server-gid=apache \
+ --with-perl=/usr/bin/perl \
+ --enable-rule=SHARED_CHAIN \
+ ${MY_BUILTINS} ${myconf} || die "bad ./configure please submit bug report to bugs.gentoo.org. Include your config.layout and config.log"
+
+ emake || die "problem compiling apache"
+
+ # build ssl version of apache bench (ab-ssl)
+ if useq ssl; then
+ cd src/support
+ rm -f ab 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.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 install-quiet root=${D} || die
+ dodoc ABOUT_APACHE Announcement INSTALL 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)/apache/lib
+ dosym /var/log/apache /usr/$(get_libdir)/apache/logs
+ dosym /etc/apache /usr/$(get_libdir)/apache/conf
+
+ # nice support scripts
+ exeinto /usr/sbin
+ for i in apachelogserverstatus apachesplitlogfile; do
+ doexe ${GENTOO_PATCHDIR}/scripts/${i}
+ done
+
+ # some more scripts
+ for i in split-logfile logresolve.pl log_server_status; do
+ doexe ${S}/src/support/${i}
+ done
+
+ # the ssl version of apache bench
+ if useq ssl; then
+ doexe src/support/ab-ssl
+ fi
+
+ # drop in a convenient link to the manual
+ if useq doc; then
+ insinto /etc/apache/modules.d
+ doins ${GENTOO_PATCHDIR}/conf/modules.d/00_apache_manual.conf
+ sed -i -e "s:1.3.32:${PVR}:" ${D}/etc/apache/modules.d/00_apache_manual.conf
+ else
+ rm -rf ${D}/usr/share/doc/${PF}/manual
+ fi
+
+ # tidy up
+ cd ${D}
+ dodoc etc/apache/*.default
+ rm -f etc/apache/*.default
+ rm -f etc/apache/*.conf
+ rm -f etc/apache/mime.types
+
+ # 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/apache.confd apache
+
+ exeinto /etc/init.d
+ newexe ${GENTOO_PATCHDIR}/init/apache.initd apache
+
+ insinto /etc/apache
+ doins ${GENTOO_PATCHDIR}/conf/apache-builtin-mods
+ doins ${GENTOO_PATCHDIR}/conf/httpd.conf
+
+ insinto /etc/apache/vhosts.d
+ doins ${GENTOO_PATCHDIR}/conf/vhosts.d/00_default_vhost.conf
+
+ keepdir /etc/apache/vhosts.d
+ keepdir /etc/apache/modules.d
+
+ # Added by Jason Wever <weeve@gentoo.org>
+ # A little sedfu to fix bug #7172 for sparc64s
+ if [ ${ARCH} = "sparc" ]; then
+ sed -i -e '15a\AcceptMutex fcntl' ${D}/etc/apache/httpd.conf
+ fi
+
+ if useq lingerd; then
+ sed -i 's:\(need net.*\):\1 lingerd:g' ${D}/etc/init.d/apache
+ fi
+
+ if useq pam; then
+ insinto /etc/pam.d
+ newins ${GENTOO_PATCHDIR}/patches/suexec.pam suexec
+ fi
+
+ # empty dirs
+ for i in /var/log/apache /var/cache/apache /var/cache/apache-mm; do
+ keepdir ${i}
+ fowners apache:apache ${i}
+ fperms 755 ${i}
+ done
+}
+
+pkg_postinst() {
+ # setup apache user and group
+ enewgroup apache 81
+ enewuser apache 81 -1 /var/www apache
+
+ if has_version '<net-www/apache-1.3.33-r10' ; then
+ einfo "Configuration locations have changed, you will need to migrate"
+ einfo "your configuration from /etc/apache/conf/apache.conf and"
+ einfo "/etc/apache/conf/commonapache.conf to /etc/apache/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 "For more information, see"
+ einfo " http://www.gentoo.org/doc/en/apache-upgrading.xml"
+ einfo
+ fi
+
+ einfo "If you want modules to be installed for this version of apache"
+ einfo "then please ensure that apache2 is not in your USE flags. To remove"
+ einfo "the USE-flag, add '-apache2' to USE in /etc/make.conf."
+
+}
+
+setup_apache_vars() {
+ MY_CFLAGS="${CFLAGS}"
+ unset CFLAGS
+ unset CXXFLAGS
+
+ # standard location for Gentoo Linux
+ DATADIR="${DATADIR:-/var/www/localhost}"
+ einfo "DATADIR is set to: ${DATADIR}"
+}
+
+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-module=$name"
+ name="" ; disable=""
+ elif [ $i == "static" ] || useq static-modules; then
+ MY_BUILTINS="${MY_BUILTINS} --enable-module=$name --disable-shared=$name"
+ name="" ; disable=""
+ elif [ $i == "shared" ]; then
+ MY_BUILTINS="${MY_BUILTINS} --enable-module=$name --enable-shared=$name"
+ name="" ; disable=""
+ fi
+ done
+
+ einfo "${1} options:\n${MY_BUILTINS}"
+}
+
+select_modules_config() {
+ parse_modules_config /etc/apache/apache-builtin-mods || \
+ parse_modules_config ${GENTOO_PATCHDIR}/conf/apache-builtin-mods || \
+ return 1
+}
+
+# vim:ts=4
diff --git a/net-www/apache/files/digest-apache-1.3.34-r12 b/net-www/apache/files/digest-apache-1.3.34-r12
new file mode 100644
index 000000000000..301c7b6c3ccc
--- /dev/null
+++ b/net-www/apache/files/digest-apache-1.3.34-r12
@@ -0,0 +1,12 @@
+MD5 9978cc552b423f0015c1052d23ab619e apache_1.3.34.tar.gz 2468056
+RMD160 e39dfc57b7f9164aa76641de3fa74f0314c9ec9e apache_1.3.34.tar.gz 2468056
+SHA256 ceed243f4f98e4323b48e5f7f80e306d1abb00c592e18de5575983db42d6f8d4 apache_1.3.34.tar.gz 2468056
+MD5 7e098639d3d870d8f4bbef30751f9653 gentoo-apache-1.3.34-r12-test3.tar.bz2 27523
+RMD160 293537aa53a9cb821638af5870348d42407505a2 gentoo-apache-1.3.34-r12-test3.tar.bz2 27523
+SHA256 ebad457afae6f59b6dabeacc36071db566c4fe47c8620c8bc1216a4d3b7011d9 gentoo-apache-1.3.34-r12-test3.tar.bz2 27523
+MD5 6401015bafad4f44fdf8a9a1795d9258 lingerd-0.94.tar.gz 33938
+RMD160 2d7363b763a68c0c7acdadc23779929f4d02153f lingerd-0.94.tar.gz 33938
+SHA256 632030f9c1b9e8f817ee19bad74988f3dce7f6ec617677ad5a522e8d491382a0 lingerd-0.94.tar.gz 33938
+MD5 1ef2a6cb47573444779b2fd10502514b mod_ssl-2.8.25-1.3.34.tar.gz 820352
+RMD160 90a3913d30c7f4d194907463125c90101005837a mod_ssl-2.8.25-1.3.34.tar.gz 820352
+SHA256 832b240157666efdbdfc1a2fd593ee4eebbc9441ec48ece8276660092b974d07 mod_ssl-2.8.25-1.3.34.tar.gz 820352