From 0b9bc52f4c48331b3b17a6b2cd81c5909328ddea Mon Sep 17 00:00:00 2001 From: Michael Stewart Date: Sat, 1 Apr 2006 23:22:12 +0000 Subject: Replace the patch for AddDirectoryIndex with a rewritten one. This should fix the segfaults reported in bug 106808 Package-Manager: portage-2.1_pre6 --- net-www/apache/ChangeLog | 9 +- net-www/apache/Manifest | 12 +- net-www/apache/apache-1.3.34-r12.ebuild | 307 ++++++++++++++++++++++++++ net-www/apache/files/digest-apache-1.3.34-r12 | 12 + 4 files changed, 336 insertions(+), 4 deletions(-) create mode 100644 net-www/apache/apache-1.3.34-r12.ebuild create mode 100644 net-www/apache/files/digest-apache-1.3.34-r12 (limited to 'net-www') 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 + +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..08fd4fb55b90 100644 --- a/net-www/apache/Manifest +++ b/net-www/apache/Manifest @@ -1,6 +1,6 @@ -MD5 6e03b086b34c1c7987719b563979650a ChangeLog 78343 -RMD160 af10eb99e29187ad859deafbae803c0c8c959f3e ChangeLog 78343 -SHA256 f188f22bd32e761e99b4b00614c3bf49a131a45a59bdb83b2484aa965d78e2ef ChangeLog 78343 +MD5 d471432d81020b601613359d22e3862d ChangeLog 78579 +RMD160 377d843fe1cb3ed425d8a839bdca72d5af2bad73 ChangeLog 78579 +SHA256 7a8ead5918ec1bff8298c4927c53f5d74294e49d6db125911ddb800814b31eac ChangeLog 78579 MD5 26a30fcfe2a6fbbf994b64756ed4f604 apache-1.3.32-r1.ebuild 6685 RMD160 bed06d46549aa916c55c4010abb6200250aab467 apache-1.3.32-r1.ebuild 6685 SHA256 960a79fc39624020599cb70dde4ed7c460ad924373755cfbffb0359f700f9c4d apache-1.3.32-r1.ebuild 6685 @@ -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 1998d86d699111df07df3f0bce908499 apache-1.3.34-r12.ebuild 8825 +RMD160 c1e498b05da6581617050b756f49c97fb1267768 apache-1.3.34-r12.ebuild 8825 +SHA256 a67989c88129ba90b9e6ef24b728e67eb72edc98ead5d65bf860a555048ef3f3 apache-1.3.34-r12.ebuild 8825 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 + # 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 '