summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuca Longinotti <chtekk@gentoo.org>2005-11-04 12:12:57 +0000
committerLuca Longinotti <chtekk@gentoo.org>2005-11-04 12:12:57 +0000
commitabef673b9ec6fb9ff0f2f39d34ee5c455dbd80e8 (patch)
treee756569b98289910b4fe4c61ac510fb2f43ab73d /dev-php/mod_php
parentInitial import to the tree to meet Eidetic deps. (diff)
downloadhistorical-abef673b9ec6fb9ff0f2f39d34ee5c455dbd80e8.tar.gz
historical-abef673b9ec6fb9ff0f2f39d34ee5c455dbd80e8.tar.bz2
historical-abef673b9ec6fb9ff0f2f39d34ee5c455dbd80e8.zip
Revbump to fix http://bugs.php.net/bug.php?id=35067.
Package-Manager: portage-2.0.53_rc6
Diffstat (limited to 'dev-php/mod_php')
-rw-r--r--dev-php/mod_php/ChangeLog11
-rw-r--r--dev-php/mod_php/Manifest8
-rw-r--r--dev-php/mod_php/files/digest-mod_php-4.3.11-r45
-rw-r--r--dev-php/mod_php/files/digest-mod_php-4.4.0-r85
-rw-r--r--dev-php/mod_php/files/digest-mod_php-4.4.0-r95
-rw-r--r--dev-php/mod_php/mod_php-4.3.11-r4.ebuild247
-rw-r--r--dev-php/mod_php/mod_php-4.4.0-r8.ebuild244
-rw-r--r--dev-php/mod_php/mod_php-4.4.0-r9.ebuild230
8 files changed, 753 insertions, 2 deletions
diff --git a/dev-php/mod_php/ChangeLog b/dev-php/mod_php/ChangeLog
index 16d8a64d7a37..576ff54714bb 100644
--- a/dev-php/mod_php/ChangeLog
+++ b/dev-php/mod_php/ChangeLog
@@ -1,6 +1,15 @@
# ChangeLog for dev-php/mod_php
# Copyright 2002-2005 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/dev-php/mod_php/ChangeLog,v 1.283 2005/11/04 10:58:43 chtekk Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-php/mod_php/ChangeLog,v 1.284 2005/11/04 12:12:57 chtekk Exp $
+
+*mod_php-4.4.0-r9 (04 Nov 2005)
+*mod_php-4.4.0-r8 (04 Nov 2005)
+*mod_php-4.3.11-r4 (04 Nov 2005)
+
+ 04 Nov 2005; Luca Longinotti <chtekk@gentoo.org>
+ +mod_php-4.3.11-r4.ebuild, +mod_php-4.4.0-r8.ebuild,
+ +mod_php-4.4.0-r9.ebuild:
+ Revbump to fix http://bugs.php.net/bug.php?id=35067.
04 Nov 2005; Luca Longinotti <chtekk@gentoo.org>
files/php4.3.11-globals_overwrite.patch,
diff --git a/dev-php/mod_php/Manifest b/dev-php/mod_php/Manifest
index e55791976c4b..5353bbe7e5ea 100644
--- a/dev-php/mod_php/Manifest
+++ b/dev-php/mod_php/Manifest
@@ -1,4 +1,4 @@
-MD5 3b6fe097b281aefb4c0a281f832dc6b9 ChangeLog 50149
+MD5 130f2b866680a30b740026bc1e79dfdc ChangeLog 50437
MD5 158cb07377a3e2a0028947b0aeb505cb files/4.3.10-r1/70_mod_php.conf 1017
MD5 2dfe55aa49dbca0c3316e859f8bebcb1 files/4.3.11-r2/70_mod_php.conf 1125
MD5 389638f1d46b6c41cd4d87b471572f4b files/4.4.0-a1/70_mod_php.conf 484
@@ -7,12 +7,15 @@ MD5 79ed63479c494aeb2ed0bc7f5c059fb9 files/70_mod_php.conf 1022
MD5 cc21a816357d93a1d31cd44f861183c7 files/digest-mod_php-4.3.11 287
MD5 05df4c881b1833626d9a75a08a0098fd files/digest-mod_php-4.3.11-r1 364
MD5 05df4c881b1833626d9a75a08a0098fd files/digest-mod_php-4.3.11-r3 364
+MD5 05df4c881b1833626d9a75a08a0098fd files/digest-mod_php-4.3.11-r4 364
MD5 09d7dee078c684b0de0e4de6209ef634 files/digest-mod_php-4.4.0 285
MD5 09d7dee078c684b0de0e4de6209ef634 files/digest-mod_php-4.4.0-r1 285
MD5 472ce8342d69fdad9d2a642b03b31bac files/digest-mod_php-4.4.0-r2 362
MD5 472ce8342d69fdad9d2a642b03b31bac files/digest-mod_php-4.4.0-r3 362
MD5 472ce8342d69fdad9d2a642b03b31bac files/digest-mod_php-4.4.0-r6 362
MD5 472ce8342d69fdad9d2a642b03b31bac files/digest-mod_php-4.4.0-r7 362
+MD5 472ce8342d69fdad9d2a642b03b31bac files/digest-mod_php-4.4.0-r8 362
+MD5 472ce8342d69fdad9d2a642b03b31bac files/digest-mod_php-4.4.0-r9 362
MD5 7515e9b1dc298a0fb1c12d35a58c265d files/mod_php-4.3.4-amd64hack.diff 1028
MD5 3bf664b414787f8f3c1dcbda5750aef4 files/mod_php-4.3.5-apache1security.diff 425
MD5 cceddd5c262e0ffef31d45b7da269851 files/mod_php.conf 148
@@ -39,10 +42,13 @@ MD5 83fb9efb602c178741ea2e40e13b014f files/php4.4.0-session_save_path-segf.patch
MD5 38fe937e954ab7109395cefa86fcd2d4 metadata.xml 384
MD5 90610a0b9cdbcbec3cd33fcef432e00c mod_php-4.3.11-r1.ebuild 7127
MD5 3e4b2d8a6ea6c859ef96e9de3aed8b81 mod_php-4.3.11-r3.ebuild 8053
+MD5 5e982f7330d0825ed75c5d79e43d04db mod_php-4.3.11-r4.ebuild 8056
MD5 cd88a76d8ca70243cb58ed076582a857 mod_php-4.3.11.ebuild 6387
MD5 29d9e7ef90de139245d7c5e06dd9b67c mod_php-4.4.0-r1.ebuild 6561
MD5 68092beafbec1bd1b054a153b834bd13 mod_php-4.4.0-r2.ebuild 7074
MD5 47959bde0d770eddf3d212d43766332d mod_php-4.4.0-r3.ebuild 6145
MD5 9b13b3622e2a53585adc6c881198bdb6 mod_php-4.4.0-r6.ebuild 7994
MD5 921eddffa3b656c7c08da0d0c709622b mod_php-4.4.0-r7.ebuild 7069
+MD5 f074e7002350aa5d2d329dc2b1bf8ef5 mod_php-4.4.0-r8.ebuild 7997
+MD5 b6757ffb2af03dd263dafe618c3cbaa7 mod_php-4.4.0-r9.ebuild 7070
MD5 b7f57c4f896ce046f8a6b4472ddfcb2b mod_php-4.4.0.ebuild 6336
diff --git a/dev-php/mod_php/files/digest-mod_php-4.3.11-r4 b/dev-php/mod_php/files/digest-mod_php-4.3.11-r4
new file mode 100644
index 000000000000..8a51d50e2303
--- /dev/null
+++ b/dev-php/mod_php/files/digest-mod_php-4.3.11-r4
@@ -0,0 +1,5 @@
+MD5 611cdddabfd71ffb724c428be33c14cb hardening-patch-4.3.11-0.3.2.patch.gz 80613
+MD5 fbc67d240812136a9842bc1f2a217b7a php-4.3.11.tar.bz2 4012575
+MD5 912ff94309b762563d0542db5187315f php-4.3.2-fopen-url-secure.patch 416
+MD5 fbb6b365f4c0263b1dfd498aef092a77 php-4.3.6-includepath.diff 285
+MD5 33be24619f3a10953f9e1e32beeee97a php-pcrelib-new-secpatch.tar.bz2 357619
diff --git a/dev-php/mod_php/files/digest-mod_php-4.4.0-r8 b/dev-php/mod_php/files/digest-mod_php-4.4.0-r8
new file mode 100644
index 000000000000..dfbd3919a8b5
--- /dev/null
+++ b/dev-php/mod_php/files/digest-mod_php-4.4.0-r8
@@ -0,0 +1,5 @@
+MD5 0a52b85692ebbc299e6b1f6d9d206691 hardening-patch-4.4.0-0.3.2.patch.gz 33347
+MD5 912ff94309b762563d0542db5187315f php-4.3.2-fopen-url-secure.patch 416
+MD5 fbb6b365f4c0263b1dfd498aef092a77 php-4.3.6-includepath.diff 285
+MD5 e85b606fe48198bfcd785e5a5b1c9613 php-4.4.0.tar.bz2 4086074
+MD5 33be24619f3a10953f9e1e32beeee97a php-pcrelib-new-secpatch.tar.bz2 357619
diff --git a/dev-php/mod_php/files/digest-mod_php-4.4.0-r9 b/dev-php/mod_php/files/digest-mod_php-4.4.0-r9
new file mode 100644
index 000000000000..dfbd3919a8b5
--- /dev/null
+++ b/dev-php/mod_php/files/digest-mod_php-4.4.0-r9
@@ -0,0 +1,5 @@
+MD5 0a52b85692ebbc299e6b1f6d9d206691 hardening-patch-4.4.0-0.3.2.patch.gz 33347
+MD5 912ff94309b762563d0542db5187315f php-4.3.2-fopen-url-secure.patch 416
+MD5 fbb6b365f4c0263b1dfd498aef092a77 php-4.3.6-includepath.diff 285
+MD5 e85b606fe48198bfcd785e5a5b1c9613 php-4.4.0.tar.bz2 4086074
+MD5 33be24619f3a10953f9e1e32beeee97a php-pcrelib-new-secpatch.tar.bz2 357619
diff --git a/dev-php/mod_php/mod_php-4.3.11-r4.ebuild b/dev-php/mod_php/mod_php-4.3.11-r4.ebuild
new file mode 100644
index 000000000000..e356838bb73d
--- /dev/null
+++ b/dev-php/mod_php/mod_php-4.3.11-r4.ebuild
@@ -0,0 +1,247 @@
+# Copyright 1999-2005 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-php/mod_php/mod_php-4.3.11-r4.ebuild,v 1.1 2005/11/04 12:12:57 chtekk Exp $
+
+IUSE="apache2"
+
+KEYWORDS="~alpha ~amd64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86"
+
+detectapache() {
+ # DO NOT REPLICATE THIS IN ANY OTHER PACKAGE WITHOUT PORTAGE DEVS PERMISSION
+ # IT IS BROKEN AND A TEMPORARY MEASURE!
+ # YOU'VE BEEN WARNED.
+ if [[ ${EBUILD_PHASE/depend} != ${EBUILD_PHASE} ]]; then
+ APACHEVER=1
+ return
+ fi
+ local domsg=
+ [ -n "$1" ] && domsg=1
+ HAVE_APACHE1=
+ HAVE_APACHE2=
+ has_version '=net-www/apache-1*' && HAVE_APACHE1=1
+ has_version '=net-www/apache-2*' && HAVE_APACHE2=1
+
+ [ -n "${HAVE_APACHE1}" ] && APACHEVER=1
+ [ -n "${HAVE_APACHE2}" ] && APACHEVER=2
+ [ -n "${HAVE_APACHE1}" ] && [ -n "${HAVE_APACHE2}" ] && APACHEVER='both'
+
+ case "${APACHEVER}" in
+ 1) [ -n "${domsg}" ] && einfo 'Apache1 only detected' ;;
+ 2) [ -n "${domsg}" ] && einfo 'Apache2 only detected';;
+ both)
+ if use apache2; then
+ [ -n "${domsg}" ] && einfo "Multiple Apache versions detected, using Apache2 (USE=apache2)"
+ APACHEVER=2
+ else
+ [ -n "${domsg}" ] && einfo 'Multiple Apache versions detected, using Apache1 (USE=-apache2)'
+ APACHEVER=1
+ fi ;;
+ *) if [ -n "${domsg}" ]; then
+ MSG="Unknown Apache version!"; eerror $MSG ; die $MSG
+ else
+ APACHEVER=0
+ fi; ;;
+ esac
+}
+
+detectapache
+
+SLOT="${APACHEVER}"
+[ "${APACHEVER}" -eq '2' ] && USE_APACHE2='2' || USE_APACHE2=''
+
+PHPSAPI="apache${APACHEVER}"
+SRC_URI_BASE="http://downloads.php.net/ilia/" # for RC only
+
+# BIG FAT WARNING!
+# the php eclass requires the PHPSAPI setting!
+# In this case the PHPSAPI setting is dependant on the detectapache function
+# above this point as well!
+inherit php-sapi eutils
+
+DESCRIPTION="Apache module for PHP"
+
+DEPEND_EXTRA=">=net-www/apache-1.3.26-r2
+ apache2? ( >=net-www/apache-2.0.43-r1
+ !>=net-www/apache-2.0.54-r30 )"
+DEPEND="${DEPEND} ${DEPEND_EXTRA}"
+RDEPEND="${RDEPEND} ${DEPEND_EXTRA}"
+IUSE="${IUSE} debug"
+# for this revision only
+PDEPEND=">=${PHP_PROVIDER_PKG}-4.3.11"
+PROVIDE="${PROVIDE} virtual/httpd-php"
+
+# fixed PCRE library for security issues, bug #102373
+SRC_URI="${SRC_URI} http://gentoo.longitekk.com/php-pcrelib-new-secpatch.tar.bz2"
+
+# Add a 'return 0' as we DON'T want the return code checked
+pkg_setup() {
+ use debug && einfo "Installing in SLOT=${SLOT}"
+ return 0
+}
+
+src_unpack() {
+ multiinstwarn
+ detectapache domsg
+ php-sapi_src_unpack
+ if [ "${ARCH}" == "amd64" ] ; then
+ epatch ${FILESDIR}/mod_php-4.3.4-amd64hack.diff
+ fi
+
+ # bug fix for security problem - bug #39952
+ # second revision as the apache2 stuff was resolved upstream
+ epatch ${FILESDIR}/mod_php-4.3.5-apache1security.diff
+
+ # Bug 88756
+ use flash && epatch ${FILESDIR}/php-4.3.11-flash.patch
+
+ # Bug 88795
+ use gmp && epatch ${FILESDIR}/php-4.3.11-gmp.patch
+
+ # stop php from activing the apache config, as we will do that ourselves
+ for i in configure sapi/apache/config.m4 sapi/apache2filter/config.m4 sapi/apache2handler/config.m4; do
+ sed -i.orig -e 's,-i -a -n php4,-i -n php4,g' $i
+ done
+
+ # fix imap symlink creation, bug #105351
+ use imap && epatch ${FILESDIR}/php4.3.11-imap-symlink.diff
+
+ # patch to fix pspell extension, bug #99312 (new patch by upstream)
+ use spell && epatch "${FILESDIR}/php4.3.11-pspell-ext-segf.patch"
+
+ # patch to fix safe_mode bypass in GD extension, bug #109669
+ if use gd || use gd-external ; then
+ epatch "${FILESDIR}/php4.3.11-gd_safe_mode.patch"
+ fi
+
+ # patch fo fix safe_mode bypass in CURL extension, bug #111032
+ use curl && epatch "${FILESDIR}/php4.3.11-curl_safemode.patch"
+
+ # patch $GLOBALS overwrite vulnerability, bug #111011 and bug #111014
+ epatch "${FILESDIR}/php4.3.11-globals_overwrite.patch"
+
+ # patch phpinfo() XSS vulnerability, bug #111015
+ epatch "${FILESDIR}/php4.3.11-phpinfo_xss.patch"
+
+ # patch open_basedir directory bypass, bug #102943
+ epatch "${FILESDIR}/php4.3.11-fopen_wrappers.patch"
+
+ # patch to fix session.save_path segfault and other issues in
+ # the apache2handler SAPI, bug #107602
+ epatch "${FILESDIR}/php4.3.11-session_save_path-segf.patch"
+
+ # we need to unpack the files here, the eclass doesn't handle this
+ cd ${WORKDIR}
+ unpack php-pcrelib-new-secpatch.tar.bz2
+ cd ${S}
+
+ # patch to fix PCRE library security issues, bug #102373
+ epatch ${FILESDIR}/php4.3.11-pcre-security.patch
+
+ # sobstitute the bundled PCRE library with a fixed version for bug #102373
+ einfo "Updating bundled PCRE library"
+ rm -rf ${S}/ext/pcre/pcrelib && mv -f ${WORKDIR}/pcrelib-new ${S}/ext/pcre/pcrelib || die "Unable to update the bundled PCRE library"
+}
+
+src_compile() {
+ # Every Apache2 MPM EXCEPT prefork needs Zend Thread Safety
+ if [ -n "${USE_APACHE2}" ]; then
+ APACHE2_MPM="`/usr/sbin/apache2 -l |egrep 'worker|perchild|leader|threadpool|prefork'|cut -d. -f1|sed -e 's/^[[:space:]]*//g;s/[[:space:]]+/ /g;'`"
+ einfo "Apache2 MPM: ${APACHE2_MPM}"
+ case "${APACHE2_MPM}" in
+ *prefork*) ;;
+ *) myconf="${myconf} --enable-experimental-zts" ; ewarn "Enabling ZTS for Apache2 MPM" ;;
+ esac;
+ fi
+
+ #use apache2 \
+ myconf="${myconf} --with-apxs${USE_APACHE2}=/usr/sbin/apxs${USE_APACHE2}"
+
+ php-sapi_src_compile
+}
+
+
+src_install() {
+ PHP_INSTALLTARGETS="install"
+ php-sapi_src_install
+ einfo "Adding extra symlink to php.ini for Apache${USE_APACHE2}"
+ dodir /etc/apache${USE_APACHE2}/conf/
+ dodir ${PHPINIDIRECTORY}
+ dosym ${PHPINIDIRECTORY}/${PHPINIFILENAME} /etc/apache${USE_APACHE2}/conf/${PHPINIFILENAME}
+
+ einfo "Cleaning up a little"
+ rm -rf ${D}/usr/lib/apache${USE_APACHE2}/modules/libphp4.so
+ einfo "Adding extra symlink to Apache${USE_APACHE2} extramodules for PHP"
+ dosym /usr/lib/apache${USE_APACHE2}-extramodules ${PHPINIDIRECTORY}/lib
+ exeinto /usr/lib/apache${USE_APACHE2}-extramodules
+ einfo "Installing mod_php shared object now"
+ doexe .libs/libphp4.so
+
+ if [ -n "${USE_APACHE2}" ] ; then
+ einfo "Installing a Apache2 config for PHP (70_mod_php.conf)"
+ insinto /etc/apache2/conf/modules.d
+ doins ${FILESDIR}/70_mod_php.conf
+ else
+ einfo "Installing a Apache config for PHP (mod_php.conf)"
+ insinto /etc/apache/conf/addon-modules
+ doins ${FILESDIR}/mod_php.conf
+ dosym ${PHPINIDIRECTORY}/${PHPINIFILENAME} /etc/apache/conf/addon-modules/${PHPINIFILENAME}
+ fi
+}
+
+apache2msg() {
+ einfo "Edit /etc/conf.d/apache2 and add \"-D PHP4\" to APACHE2_OPTS"
+ ewarn "This is a CHANGE from previous behavior, which was \"-D PHP\""
+ ewarn "This is for the upcoming PHP5 support. The ebuild will attempt"
+ ewarn "to make this update between PHP and PHP4 automatically"
+}
+
+multiinstwarn() {
+ ewarn "Due to some previous bloopers with PHP and slotting, you may have"
+ ewarn "multiple instances of mod_php installed. Please look at the autoclean"
+ ewarn "output at the end of the emerge and unmerge all but relevant"
+ ewarn "instances."
+}
+
+apache2fix() {
+ if egrep -q -- '-D PHP\>' /etc/conf.d/apache2; then
+ einfo "Attemping to update /etc/conf.d/apache2 automatically for the PHP/PHP4 change."
+ local oldfile="/etc/conf.d/apache2.old.`date +%Y%m%d%H%M%S`"
+ cp /etc/conf.d/apache2 ${oldfile}
+ sed -re 's,-D PHP\>,-D PHP4,g' ${oldfile} <${oldfile} >/etc/conf.d/apache2
+ fi
+}
+
+
+pkg_preinst() {
+ multiinstwarn
+ [ "${APACHEVER}" -eq '2' ] && apache2fix
+ php-sapi_pkg_preinst
+}
+
+pkg_postinst() {
+ php-sapi_pkg_postinst
+ multiinstwarn
+ einfo "To have Apache run php programs, please do the following:"
+ if [ -n "${USE_APACHE2}" ]; then
+ apache2msg
+ else
+ einfo "1. Execute the command:"
+ einfo " \"emerge --config =${PF}\""
+ einfo "2. Edit /etc/conf.d/apache and add \"-D PHP4\" to APACHE_OPTS"
+ einfo "That will include the php mime types in your configuration"
+ einfo "automagically and setup Apache to load php when it starts."
+ fi
+}
+
+pkg_config() {
+ multiinstwarn
+ if [ -n "${USE_APACHE2}" ]; then
+ apache2msg
+ else
+ ${ROOT}/usr/sbin/apacheaddmod \
+ ${ROOT}/etc/apache/conf/apache.conf \
+ extramodules/libphp4.so mod_php4.c php4_module \
+ before=perl define=PHP4 addconf=conf/addon-modules/mod_php.conf
+ :;
+ fi
+}
diff --git a/dev-php/mod_php/mod_php-4.4.0-r8.ebuild b/dev-php/mod_php/mod_php-4.4.0-r8.ebuild
new file mode 100644
index 000000000000..46c286bf6ff1
--- /dev/null
+++ b/dev-php/mod_php/mod_php-4.4.0-r8.ebuild
@@ -0,0 +1,244 @@
+# Copyright 1999-2005 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-php/mod_php/mod_php-4.4.0-r8.ebuild,v 1.1 2005/11/04 12:12:57 chtekk Exp $
+
+IUSE="apache2"
+
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86"
+
+detectapache() {
+ # DO NOT REPLICATE THIS IN ANY OTHER PACKAGE WITHOUT PORTAGE DEVS PERMISSION
+ # IT IS BROKEN AND A TEMPORARY MEASURE!
+ # YOU'VE BEEN WARNED.
+ if [[ ${EBUILD_PHASE/depend} != ${EBUILD_PHASE} ]]; then
+ APACHEVER=1
+ return
+ fi
+ local domsg=
+ [ -n "$1" ] && domsg=1
+ HAVE_APACHE1=
+ HAVE_APACHE2=
+ has_version '=net-www/apache-1*' && HAVE_APACHE1=1
+ has_version '=net-www/apache-2*' && HAVE_APACHE2=1
+
+ [ -n "${HAVE_APACHE1}" ] && APACHEVER=1
+ [ -n "${HAVE_APACHE2}" ] && APACHEVER=2
+ [ -n "${HAVE_APACHE1}" ] && [ -n "${HAVE_APACHE2}" ] && APACHEVER='both'
+
+ case "${APACHEVER}" in
+ 1) [ -n "${domsg}" ] && einfo 'Apache1 only detected' ;;
+ 2) [ -n "${domsg}" ] && einfo 'Apache2 only detected';;
+ both)
+ if use apache2; then
+ [ -n "${domsg}" ] && einfo "Multiple Apache versions detected, using Apache2 (USE=apache2)"
+ APACHEVER=2
+ else
+ [ -n "${domsg}" ] && einfo 'Multiple Apache versions detected, using Apache1 (USE=-apache2)'
+ APACHEVER=1
+ fi ;;
+ *) if [ -n "${domsg}" ]; then
+ MSG="Unknown Apache version!"; eerror $MSG ; die $MSG
+ else
+ APACHEVER=0
+ fi; ;;
+ esac
+}
+
+detectapache
+
+SLOT="${APACHEVER}"
+[ "${APACHEVER}" -eq '2' ] && USE_APACHE2='2' || USE_APACHE2=''
+
+PHPSAPI="apache${APACHEVER}"
+#SRC_URI_BASE="http://downloads.php.net/ilia/" # for RC only
+
+# BIG FAT WARNING!
+# the php eclass requires the PHPSAPI setting!
+# In this case the PHPSAPI setting is dependant on the detectapache function
+# above this point as well!
+inherit php-sapi eutils
+
+DESCRIPTION="Apache module for PHP"
+
+DEPEND_EXTRA=">=net-www/apache-1.3.26-r2
+ apache2? ( >=net-www/apache-2.0.43-r1
+ !>=net-www/apache-2.0.54-r30 )"
+DEPEND="${DEPEND} ${DEPEND_EXTRA}"
+RDEPEND="${RDEPEND} ${DEPEND_EXTRA}"
+IUSE="${IUSE} debug"
+# for this revision only
+PDEPEND=">=${PHP_PROVIDER_PKG}-4.4.0"
+PROVIDE="${PROVIDE} virtual/httpd-php"
+
+# fixed PCRE library for security issues, bug #102373
+SRC_URI="${SRC_URI} http://gentoo.longitekk.com/php-pcrelib-new-secpatch.tar.bz2"
+
+# Add a 'return 0' as we DON'T want the return code checked
+pkg_setup() {
+ use debug && einfo "Installing in SLOT=${SLOT}"
+ return 0
+}
+
+src_unpack() {
+ multiinstwarn
+ detectapache domsg
+ php-sapi_src_unpack
+ if [ "${ARCH}" == "amd64" ] ; then
+ epatch ${FILESDIR}/mod_php-4.3.4-amd64hack.diff
+ fi
+
+ # bug fix for security problem - bug #39952
+ # second revision as the apache2 stuff was resolved upstream
+ epatch ${FILESDIR}/mod_php-4.3.5-apache1security.diff
+
+ # stop php from activing the apache config, as we will do that ourselves
+ for i in configure sapi/apache/config.m4 sapi/apache2filter/config.m4 sapi/apache2handler/config.m4; do
+ sed -i.orig -e 's,-i -a -n php4,-i -n php4,g' $i
+ done
+
+ # fix imap symlink creation, bug #105351
+ use imap && epatch ${FILESDIR}/php4.4.0-imap-symlink.diff
+
+ # patch to fix pspell extension, bug #99312 (new patch by upstream)
+ use spell && epatch "${FILESDIR}/php4.4.0-pspell-ext-segf.patch"
+
+ # patch to fix safe_mode bypass in GD extension, bug #109669
+ if use gd || use gd-external ; then
+ epatch "${FILESDIR}/php4.4.0-gd_safe_mode.patch"
+ fi
+
+ # patch fo fix safe_mode bypass in CURL extension, bug #111032
+ use curl && epatch "${FILESDIR}/php4.4.0-curl_safemode.patch"
+
+ # patch $GLOBALS overwrite vulnerability, bug #111011 and bug #111014
+ epatch "${FILESDIR}/php4.4.0-globals_overwrite.patch"
+
+ # patch phpinfo() XSS vulnerability, bug #111015
+ epatch "${FILESDIR}/php4.4.0-phpinfo_xss.patch"
+
+ # patch open_basedir directory bypass, bug #102943
+ epatch "${FILESDIR}/php4.4.0-fopen_wrappers.patch"
+
+ # patch to fix session.save_path segfault and other issues in
+ # the apache2handler SAPI, bug #107602
+ epatch "${FILESDIR}/php4.4.0-session_save_path-segf.patch"
+
+ # we need to unpack the files here, the eclass doesn't handle this
+ cd ${WORKDIR}
+ unpack php-pcrelib-new-secpatch.tar.bz2
+ cd ${S}
+
+ # patch to fix PCRE library security issues, bug #102373
+ epatch ${FILESDIR}/php4.4.0-pcre-security.patch
+
+ # sobstitute the bundled PCRE library with a fixed version for bug #102373
+ einfo "Updating bundled PCRE library"
+ rm -rf ${S}/ext/pcre/pcrelib && mv -f ${WORKDIR}/pcrelib-new ${S}/ext/pcre/pcrelib || die "Unable to update the bundled PCRE library"
+}
+
+src_compile() {
+ # Every Apache2 MPM EXCEPT prefork needs Zend Thread Safety
+ if [ -n "${USE_APACHE2}" ]; then
+ APACHE2_MPM="`/usr/sbin/apache2 -l |egrep 'worker|perchild|leader|threadpool|prefork'|cut -d. -f1|sed -e 's/^[[:space:]]*//g;s/[[:space:]]+/ /g;'`"
+ einfo "Apache2 MPM: ${APACHE2_MPM}"
+ case "${APACHE2_MPM}" in
+ *prefork*) ;;
+ *) myconf="${myconf} --enable-experimental-zts" ; ewarn "Enabling ZTS for Apache2 MPM" ;;
+ esac;
+ fi
+
+ # use apache2
+ myconf="${myconf} --with-apxs${USE_APACHE2}=/usr/sbin/apxs${USE_APACHE2}"
+
+ # Do not build CLI SAPI module.
+ myconf="${myconf} --disable-cli --without-pear"
+
+ php-sapi_src_compile
+}
+
+
+src_install() {
+ PHP_INSTALLTARGETS="install"
+ php-sapi_src_install
+ einfo "Adding extra symlink to php.ini for Apache${USE_APACHE2}"
+ dodir /etc/apache${USE_APACHE2}/conf/
+ dodir ${PHPINIDIRECTORY}
+ dosym ${PHPINIDIRECTORY}/${PHPINIFILENAME} /etc/apache${USE_APACHE2}/conf/${PHPINIFILENAME}
+
+ einfo "Cleaning up a little"
+ rm -rf ${D}/usr/lib/apache${USE_APACHE2}/modules/libphp4.so
+ einfo "Adding extra symlink to Apache${USE_APACHE2} extramodules for PHP"
+ dosym /usr/lib/apache${USE_APACHE2}-extramodules ${PHPINIDIRECTORY}/lib
+ exeinto /usr/lib/apache${USE_APACHE2}-extramodules
+ einfo "Installing mod_php shared object now"
+ doexe .libs/libphp4.so
+
+ if [ -n "${USE_APACHE2}" ] ; then
+ einfo "Installing a Apache2 config for PHP (70_mod_php.conf)"
+ insinto /etc/apache2/conf/modules.d
+ doins ${FILESDIR}/70_mod_php.conf
+ else
+ einfo "Installing a Apache config for PHP (mod_php.conf)"
+ insinto /etc/apache/conf/addon-modules
+ doins ${FILESDIR}/mod_php.conf
+ dosym ${PHPINIDIRECTORY}/${PHPINIFILENAME} /etc/apache/conf/addon-modules/${PHPINIFILENAME}
+ fi
+}
+
+apache2msg() {
+ einfo "Edit /etc/conf.d/apache2 and add \"-D PHP4\" to APACHE2_OPTS"
+ ewarn "This is a CHANGE from previous behavior, which was \"-D PHP\""
+ ewarn "This is for the upcoming PHP5 support. The ebuild will attempt"
+ ewarn "to make this update between PHP and PHP4 automatically"
+}
+
+multiinstwarn() {
+ ewarn "Due to some previous bloopers with PHP and slotting, you may have"
+ ewarn "multiple instances of mod_php installed. Please look at the autoclean"
+ ewarn "output at the end of the emerge and unmerge all but relevant"
+ ewarn "instances."
+}
+
+apache2fix() {
+ if egrep -q -- '-D PHP\>' /etc/conf.d/apache2; then
+ einfo "Attemping to update /etc/conf.d/apache2 automatically for the PHP/PHP4 change."
+ local oldfile="/etc/conf.d/apache2.old.`date +%Y%m%d%H%M%S`"
+ cp /etc/conf.d/apache2 ${oldfile}
+ sed -re 's,-D PHP\>,-D PHP4,g' ${oldfile} <${oldfile} >/etc/conf.d/apache2
+ fi
+}
+
+
+pkg_preinst() {
+ multiinstwarn
+ [ "${APACHEVER}" -eq '2' ] && apache2fix
+ php-sapi_pkg_preinst
+}
+
+pkg_postinst() {
+ php-sapi_pkg_postinst
+ multiinstwarn
+ einfo "To have Apache run php programs, please do the following:"
+ if [ -n "${USE_APACHE2}" ]; then
+ apache2msg
+ else
+ einfo "1. Execute the command:"
+ einfo " \"emerge --config =${PF}\""
+ einfo "2. Edit /etc/conf.d/apache and add \"-D PHP4\" to APACHE_OPTS"
+ einfo "That will include the php mime types in your configuration"
+ einfo "automagically and setup Apache to load php when it starts."
+ fi
+}
+
+pkg_config() {
+ multiinstwarn
+ if [ -n "${USE_APACHE2}" ]; then
+ apache2msg
+ else
+ ${ROOT}/usr/sbin/apacheaddmod \
+ ${ROOT}/etc/apache/conf/apache.conf \
+ extramodules/libphp4.so mod_php4.c php4_module \
+ before=perl define=PHP4 addconf=conf/addon-modules/mod_php.conf
+ :;
+ fi
+}
diff --git a/dev-php/mod_php/mod_php-4.4.0-r9.ebuild b/dev-php/mod_php/mod_php-4.4.0-r9.ebuild
new file mode 100644
index 000000000000..df939d9b7861
--- /dev/null
+++ b/dev-php/mod_php/mod_php-4.4.0-r9.ebuild
@@ -0,0 +1,230 @@
+# Copyright 1999-2005 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-php/mod_php/mod_php-4.4.0-r9.ebuild,v 1.1 2005/11/04 12:12:57 chtekk Exp $
+
+IUSE="apache2"
+
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86"
+
+detectapache() {
+ # DO NOT REPLICATE THIS IN ANY OTHER PACKAGE WITHOUT PORTAGE DEVS PERMISSION
+ # IT IS BROKEN AND A TEMPORARY MEASURE!
+ # YOU'VE BEEN WARNED.
+ if [[ ${EBUILD_PHASE/depend} != ${EBUILD_PHASE} ]]; then
+ APACHEVER=1
+ return
+ fi
+ local domsg=
+ [ -n "$1" ] && domsg=1
+ HAVE_APACHE1=
+ HAVE_APACHE2=
+ has_version '=net-www/apache-1*' && HAVE_APACHE1=1
+ has_version '=net-www/apache-2*' && HAVE_APACHE2=1
+
+ [ -n "${HAVE_APACHE1}" ] && APACHEVER=1
+ [ -n "${HAVE_APACHE2}" ] && APACHEVER=2
+ [ -n "${HAVE_APACHE1}" ] && [ -n "${HAVE_APACHE2}" ] && APACHEVER='both'
+
+ case "${APACHEVER}" in
+ 1) [ -n "${domsg}" ] && einfo 'Apache1 only detected' ;;
+ 2) [ -n "${domsg}" ] && einfo 'Apache2 only detected';;
+ both)
+ if use apache2; then
+ [ -n "${domsg}" ] && einfo "Multiple Apache versions detected, using Apache2 (USE=apache2)"
+ APACHEVER=2
+ else
+ [ -n "${domsg}" ] && einfo 'Multiple Apache versions detected, using Apache1 (USE=-apache2)'
+ APACHEVER=1
+ fi ;;
+ *) if [ -n "${domsg}" ]; then
+ MSG="Unknown Apache version!"; eerror $MSG ; die $MSG
+ else
+ APACHEVER=0
+ fi; ;;
+ esac
+}
+
+detectapache
+
+SLOT="${APACHEVER}"
+[ "${APACHEVER}" -eq '2' ] && USE_APACHE2='2' || USE_APACHE2=''
+
+PHPSAPI="apache${APACHEVER}"
+#SRC_URI_BASE="http://downloads.php.net/ilia/" # for RC only
+
+# BIG FAT WARNING!
+# the php eclass requires the PHPSAPI setting!
+# In this case the PHPSAPI setting is dependant on the detectapache function
+# above this point as well!
+inherit php-sapi eutils apache-module flag-o-matic
+
+DESCRIPTION="Apache module for PHP"
+
+DEPEND_EXTRA=">=net-www/apache-1.3.33-r10
+ apache2? ( >=net-www/apache-2.0.54-r30 )"
+DEPEND="${DEPEND} ${DEPEND_EXTRA}"
+RDEPEND="${RDEPEND} ${DEPEND_EXTRA}"
+IUSE="${IUSE} debug"
+# for this revision only
+PDEPEND=">=${PHP_PROVIDER_PKG}-4.4.0"
+PROVIDE="${PROVIDE} virtual/httpd-php"
+
+# fixed PCRE library for security issues, bug #102373
+SRC_URI="${SRC_URI} http://gentoo.longitekk.com/php-pcrelib-new-secpatch.tar.bz2"
+
+# generalize some apache{,2} vars (defined by apache-module.eclass)
+if [ -n ${USE_APACHE2} ]; then
+ APACHE_MODULESDIR=${APACHE2_MODULESDIR}
+ APACHE_CONFDIR=${APACHE2_CONFDIR}
+else
+ APACHE_MODULESDIR=${APACHE_MODULESDIR}
+ APACHE_CONFDIR=${APACHE_CONFDIR}
+fi
+
+# Add a 'return 0' as we DON'T want the return code checked
+pkg_setup() {
+ use debug && einfo "Installing in SLOT=${SLOT}"
+ return 0
+}
+
+src_unpack() {
+ multiinstwarn
+ detectapache domsg
+ php-sapi_src_unpack
+ if [ "${ARCH}" == "amd64" ] ; then
+ epatch ${FILESDIR}/mod_php-4.3.4-amd64hack.diff
+ fi
+
+ # bug fix for security problem - bug #39952
+ # second revision as the apache2 stuff was resolved upstream
+ epatch ${FILESDIR}/mod_php-4.3.5-apache1security.diff
+
+ # stop php from activing the apache config, as we will do that ourselves
+ for i in configure sapi/apache/config.m4 sapi/apache2filter/config.m4 sapi/apache2handler/config.m4; do
+ sed -i.orig -e 's,-i -a -n php4,-i -n php4,g' $i
+ done
+
+ # fix imap symlink creation, bug #105351
+ use imap && epatch ${FILESDIR}/php4.4.0-imap-symlink.diff
+
+ # patch to fix pspell extension, bug #99312 (new patch by upstream)
+ use spell && epatch "${FILESDIR}/php4.4.0-pspell-ext-segf.patch"
+
+ # patch to fix safe_mode bypass in GD extension, bug #109669
+ if use gd || use gd-external ; then
+ epatch "${FILESDIR}/php4.4.0-gd_safe_mode.patch"
+ fi
+
+ # patch fo fix safe_mode bypass in CURL extension, bug #111032
+ use curl && epatch "${FILESDIR}/php4.4.0-curl_safemode.patch"
+
+ # patch $GLOBALS overwrite vulnerability, bug #111011 and bug #111014
+ epatch "${FILESDIR}/php4.4.0-globals_overwrite.patch"
+
+ # patch phpinfo() XSS vulnerability, bug #111015
+ epatch "${FILESDIR}/php4.4.0-phpinfo_xss.patch"
+
+ # patch open_basedir directory bypass, bug #102943
+ epatch "${FILESDIR}/php4.4.0-fopen_wrappers.patch"
+
+ # patch to fix session.save_path segfault and other issues in
+ # the apache2handler SAPI, bug #107602
+ epatch "${FILESDIR}/php4.4.0-session_save_path-segf.patch"
+
+ # we need to unpack the files here, the eclass doesn't handle this
+ cd ${WORKDIR}
+ unpack php-pcrelib-new-secpatch.tar.bz2
+ cd ${S}
+
+ # patch to fix PCRE library security issues, bug #102373
+ epatch ${FILESDIR}/php4.4.0-pcre-security.patch
+
+ # sobstitute the bundled PCRE library with a fixed version for bug #102373
+ einfo "Updating bundled PCRE library"
+ rm -rf ${S}/ext/pcre/pcrelib && mv -f ${WORKDIR}/pcrelib-new ${S}/ext/pcre/pcrelib || die "Unable to update the bundled PCRE library"
+}
+
+setup_environ() {
+ append-flags `apr-config --cppflags --cflags`
+}
+
+src_compile() {
+ setup_environ
+
+ # Every Apache2 MPM EXCEPT prefork needs Zend Thread Safety
+ if [ -n "${USE_APACHE2}" ]; then
+ APACHE2_MPM="`/usr/sbin/apache2 -l | egrep 'worker|perchild|leader|threadpool|prefork'|cut -d. -f1|sed -e 's/^[[:space:]]*//g;s/[[:space:]]+/ /g;'`"
+ einfo "Apache2 MPM: ${APACHE2_MPM}"
+ case "${APACHE2_MPM}" in
+ *prefork*) ;;
+ *peruser*) ;;
+ *) myconf="${myconf} --enable-experimental-zts" ; ewarn "Enabling ZTS for Apache2 MPM" ;;
+ esac;
+ fi
+
+ #use apache2
+ myconf="${myconf} --with-apxs${USE_APACHE2}=/usr/sbin/apxs${USE_APACHE2}"
+
+ # Do not build CLI SAPI module.
+ myconf="${myconf} --disable-cli --without-pear"
+
+ php-sapi_src_compile
+}
+
+src_install() {
+ PHP_INSTALLTARGETS="install"
+ php-sapi_src_install
+
+ dodir ${APACHE_CONFDIR}
+ dodir ${PHPINIDIRECTORY}
+
+ einfo "Cleaning up a little"
+ rm -rf ${D}${APACHE_MODULESDIR}/libphp4.so
+
+ exeinto ${APACHE_MODULESDIR}
+ einfo "Installing mod_php shared object now"
+ doexe .libs/libphp4.so
+
+ if [ -n "${USE_APACHE2}" ] ; then
+ einfo "Installing a Apache2 config for PHP (70_mod_php.conf)"
+ insinto ${APACHE2_MODULES_CONFDIR}
+ doins ${FILESDIR}/4.4.0-a2/70_mod_php.conf
+ else
+ einfo "Installing a Apache config for PHP (70_mod_php.conf)"
+ insinto ${APACHE1_MODULES_CONFDIR}
+ doins ${FILESDIR}/4.4.0-a1/70_mod_php.conf
+ fi
+}
+
+multiinstwarn() {
+ ewarn "Due to some previous bloopers with PHP and slotting, you may have"
+ ewarn "multiple instances of mod_php installed. Please look at the autoclean"
+ ewarn "output at the end of the emerge and unmerge all but relevant"
+ ewarn "instances."
+}
+
+apache2fix() {
+ if egrep -q -- '-D PHP\>' /etc/conf.d/apache2; then
+ einfo "Attemping to update /etc/conf.d/apache2 automatically for the PHP/PHP4 change."
+ local oldfile="/etc/conf.d/apache2.old.`date +%Y%m%d%H%M%S`"
+ cp /etc/conf.d/apache2 ${oldfile}
+ sed -re 's,-D PHP\>,-D PHP4,g' ${oldfile} <${oldfile} >/etc/conf.d/apache2
+ fi
+}
+
+
+pkg_preinst() {
+ multiinstwarn
+ [ "${APACHEVER}" -eq '2' ] && apache2fix
+ php-sapi_pkg_preinst
+}
+
+pkg_postinst() {
+ php-sapi_pkg_postinst
+ multiinstwarn
+ APACHE1_MOD_DEFINE="PHP4"
+ APACHE1_MOD_CONF="70_mod_php.conf"
+ APACHE2_MOD_DEFINE="PHP4"
+ APACHE2_MOD_CONF="70_mod_php.conf"
+ apache-module_pkg_postinst
+}