apache herd package refresh
authorChristian Parpart <trapni@gentoo.org>
Thu, 13 Jan 2005 13:08:57 +0000 (13:08 +0000)
committerChristian Parpart <trapni@gentoo.org>
Thu, 13 Jan 2005 13:08:57 +0000 (13:08 +0000)
dev-php/mod_php/ChangeLog
dev-php/mod_php/Manifest
dev-php/mod_php/files/digest-mod_php-4.3.10-r1 [new file with mode: 0644]
dev-php/mod_php/files/digest-mod_php-5.0.2-r1 [new file with mode: 0644]
dev-php/mod_php/files/digest-mod_php-5.0.3-r1 [new file with mode: 0644]
dev-php/mod_php/mod_php-4.3.10-r1.ebuild [new file with mode: 0644]
dev-php/mod_php/mod_php-5.0.2-r1.ebuild [new file with mode: 0644]
dev-php/mod_php/mod_php-5.0.3-r1.ebuild [new file with mode: 0644]

index ddf582dcd27f61ebd1712de4075e76171438efbe..132e61e108705559bd828a2bc55ad65e6188aac0 100644 (file)
@@ -1,6 +1,13 @@
 # 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.198 2005/01/09 20:58:25 weeve Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-php/mod_php/ChangeLog,v 1.199 2005/01/13 13:08:57 trapni Exp $
+
+*mod_php-5.0.2-r1 (13 Jan 2005)
+
+  13 Jan 2005; Christian Parpart <trapni@gentoo.org>
+  +mod_php-4.3.10-r1.ebuild, +mod_php-5.0.2-r1.ebuild,
+  +mod_php-5.0.3-r1.ebuild:
+  apache herd package refresh
 
   09 Jan 2005; Jason Wever <weeve@gentoo.org> mod_php-5.0.3.ebuild:
   Added ~sparc keyword.
index 1f7e90cc3cf7741dea3e7a180bffbf3e7dc09319..92a837b47c996d475d7c37d255bca2547fd21849 100644 (file)
@@ -1,28 +1,34 @@
-MD5 482fe0c7a74e855ae4571b658a503567 ChangeLog 34918
+MD5 90e462b79b79e09f61b24ee4ebacc5d3 ChangeLog 35119
 MD5 38fe937e954ab7109395cefa86fcd2d4 metadata.xml 384
-MD5 3b4db25bfe82d2967bc9c607cccdb12c mod_php-5.0.0-r1.ebuild 4179
+MD5 dbbf99cf50bedee2f0103f1d31903327 mod_php-4.3.10.ebuild 6090
+MD5 60fb0cacf13ad87aa37d47d2b990a3f6 mod_php-5.0.3-r1.ebuild 4229
+MD5 f3da06c0bb470ad2782dfe207ce75e4e mod_php-4.3.8.ebuild 5916
+MD5 6c800aaecfc09d8cacf986e86b53fefe mod_php-4.3.9.ebuild 6027
 MD5 ab16ea4659012c51daf410c110d92895 mod_php-4.3.9_rc1.ebuild 6025
+MD5 3b4db25bfe82d2967bc9c607cccdb12c mod_php-5.0.0-r1.ebuild 4179
+MD5 f7e4a6694e3b06296830077b47d766da mod_php-5.0.0.ebuild 3995
 MD5 8dcccea239186458cae823a2b62b80d0 mod_php-5.0.1.ebuild 4244
-MD5 6c800aaecfc09d8cacf986e86b53fefe mod_php-4.3.9.ebuild 6027
+MD5 343587068f31576c4978a7982cb39284 mod_php-4.3.10-r1.ebuild 6292
 MD5 3da695dab52a3e7eeea983bf1c493fa1 mod_php-5.0.2.ebuild 4257
-MD5 dbbf99cf50bedee2f0103f1d31903327 mod_php-4.3.10.ebuild 6090
-MD5 f7e4a6694e3b06296830077b47d766da mod_php-5.0.0.ebuild 3995
-MD5 f3da06c0bb470ad2782dfe207ce75e4e mod_php-4.3.8.ebuild 5916
+MD5 41ee3d6ee7d1a42ba5d2c25148fbb9c3 mod_php-5.0.2-r1.ebuild 4167
 MD5 af7473ef5d3920861bd3e501e8d26882 mod_php-5.0.3.ebuild 4324
 MD5 79ed63479c494aeb2ed0bc7f5c059fb9 files/70_mod_php.conf 1022
-MD5 11f305b98b753ee023da8503a360762a files/digest-mod_php-5.0.0-r1 63
-MD5 cd07c33356df77acd61cd300f2869d19 files/php-5.0.0-httpauthfix.patch 518
+MD5 80c45eef4f54629e893249f869cff5c6 files/70_mod_php5.conf 484
+MD5 390a659097a43447e44ab5bdd59378b5 files/digest-mod_php-4.3.8 282
+MD5 aeed7aba3334e2f1437aa1ef48d850e8 files/digest-mod_php-4.3.9 205
 MD5 286ce4ea00fde75122c14fd35c3d4672 files/digest-mod_php-4.3.9_rc1 208
+MD5 11f305b98b753ee023da8503a360762a files/digest-mod_php-5.0.0 63
+MD5 11f305b98b753ee023da8503a360762a files/digest-mod_php-5.0.0-r1 63
 MD5 14d868f33e29b3c9a70b118e9da58dd0 files/digest-mod_php-5.0.1 63
-MD5 aeed7aba3334e2f1437aa1ef48d850e8 files/digest-mod_php-4.3.9 205
 MD5 4792b645fe6b66cd3f1b1ec88d4d20e8 files/digest-mod_php-5.0.2 63
-MD5 80c45eef4f54629e893249f869cff5c6 files/70_mod_php5.conf 484
-MD5 11f305b98b753ee023da8503a360762a files/digest-mod_php-5.0.0 63
+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
+MD5 cd07c33356df77acd61cd300f2869d19 files/php-5.0.0-httpauthfix.patch 518
 MD5 273799e60d5a41a1e6f5ac53781a152f files/php5_soap_persistence_session.diff 1976
-MD5 390a659097a43447e44ab5bdd59378b5 files/digest-mod_php-4.3.8 282
 MD5 0b0247c6314c5f7d6685268262edfd24 files/digest-mod_php-4.3.10 206
 MD5 89a3a3b437e24b7ccc044376843d8446 files/digest-mod_php-5.0.3 63
 MD5 ad986b02a371b2fea3b4ae5060c9dc81 files/stdint.diff 358
-MD5 7515e9b1dc298a0fb1c12d35a58c265d files/mod_php-4.3.4-amd64hack.diff 1028
-MD5 cceddd5c262e0ffef31d45b7da269851 files/mod_php.conf 148
-MD5 3bf664b414787f8f3c1dcbda5750aef4 files/mod_php-4.3.5-apache1security.diff 425
+MD5 0b0247c6314c5f7d6685268262edfd24 files/digest-mod_php-4.3.10-r1 206
+MD5 4792b645fe6b66cd3f1b1ec88d4d20e8 files/digest-mod_php-5.0.2-r1 63
+MD5 89a3a3b437e24b7ccc044376843d8446 files/digest-mod_php-5.0.3-r1 63
diff --git a/dev-php/mod_php/files/digest-mod_php-4.3.10-r1 b/dev-php/mod_php/files/digest-mod_php-4.3.10-r1
new file mode 100644 (file)
index 0000000..1cab79a
--- /dev/null
@@ -0,0 +1,3 @@
+MD5 7e56824dae9679c59a8234eb848aa542 php-4.3.10.tar.bz2 4026148
+MD5 912ff94309b762563d0542db5187315f php-4.3.2-fopen-url-secure.patch 416
+MD5 fbb6b365f4c0263b1dfd498aef092a77 php-4.3.6-includepath.diff 285
diff --git a/dev-php/mod_php/files/digest-mod_php-5.0.2-r1 b/dev-php/mod_php/files/digest-mod_php-5.0.2-r1
new file mode 100644 (file)
index 0000000..18677de
--- /dev/null
@@ -0,0 +1 @@
+MD5 579f82f3d6a61b669183b2ebce357a1e php-5.0.2.tar.bz2 4577974
diff --git a/dev-php/mod_php/files/digest-mod_php-5.0.3-r1 b/dev-php/mod_php/files/digest-mod_php-5.0.3-r1
new file mode 100644 (file)
index 0000000..eb20872
--- /dev/null
@@ -0,0 +1 @@
+MD5 fd26455febdddee0977ce226b9108d9c php-5.0.3.tar.bz2 4607759
diff --git a/dev-php/mod_php/mod_php-4.3.10-r1.ebuild b/dev-php/mod_php/mod_php-4.3.10-r1.ebuild
new file mode 100644 (file)
index 0000000..902120c
--- /dev/null
@@ -0,0 +1,209 @@
+# 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.10-r1.ebuild,v 1.1 2005/01/13 13:08:57 trapni Exp $
+
+IUSE="${IUSE} apache2"
+
+KEYWORDS="~x86"
+
+detectapache() {
+       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.26-r2
+                         apache2? ( >=net-www/apache-2.0.43-r1 )"
+DEPEND="${DEPEND} ${DEPEND_EXTRA}"
+RDEPEND="${RDEPEND} ${DEPEND_EXTRA}"
+IUSE="${IUSE} debug"
+# for this revision only
+PDEPEND=">=${PHP_PROVIDER_PKG}-4.3.10"
+PROVIDE="${PROVIDE} virtual/httpd-php-${PV}"
+
+# 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
+       [ "${ARCH}" == "sparc" ] && epatch ${FILESDIR}/stdint.diff
+
+       # 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
+}
+
+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*) ;;
+                       *) 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 ${APACHE_CONFDIR}
+       dodir ${PHPINIDIRECTORY}
+       dosym ${PHPINIDIRECTORY}/${PHPINIFILENAME} ${APACHE_CONFDIR}/${PHPINIFILENAME}
+
+       einfo "Cleaning up a little"
+       rm -rf ${D}${APACHE_MODULESDIR}/libphp4.so
+
+       einfo "Adding symlink to Apache${USE_APACHE2} modules for PHP"
+       dosym ${APACHE_MODULESDIR} ${PHPINIDIRECTORY}/lib
+       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}/70_mod_php.conf
+       else
+               einfo "Installing a Apache config for PHP (mod_php.conf)"
+               insinto ${APACHE1_MODULES_CONFDIR}
+               doins ${FILESDIR}/mod_php.conf
+               dosym ${PHPINIDIRECTORY}/${PHPINIFILENAME} ${APACHE1_MODULES_CONFDIR}/${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 " \"ebuild /var/db/pkg/${CATEGORY}/${PF}/${PF}.ebuild config\""
+               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/apache.conf \
+                       modules/libphp4.so mod_php4.c php4_module \
+                       before=perl define=PHP4 addconf=addon-modules/mod_php.conf
+                       :;
+       fi
+}
diff --git a/dev-php/mod_php/mod_php-5.0.2-r1.ebuild b/dev-php/mod_php/mod_php-5.0.2-r1.ebuild
new file mode 100644 (file)
index 0000000..b7be98c
--- /dev/null
@@ -0,0 +1,143 @@
+# 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-5.0.2-r1.ebuild,v 1.1 2005/01/13 13:08:57 trapni Exp $
+
+IUSE="${IUSE} apache2"
+
+KEYWORDS="~x86"
+PROVIDE="virtual/php-${PV} virtual/httpd-php-${PV}"
+
+detectapache() {
+       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}"
+MY_P="php-${PV}"
+
+# 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 php5-sapi eutils apache-module
+
+DESCRIPTION="Apache module for PHP 5"
+
+# provides all base PHP extras (eg PEAR, extension building stuff)
+DEPEND_EXTRA=">=${PHP_PROVIDER_PKG}-5.0.2
+                         >=net-www/apache-1.3.26-r2
+                         apache2? ( >=net-www/apache-2.0.50 )
+                         || ( >=net-www/apache-1.3.26-r2 >=net-www/apache-2.0.50 )"
+DEPEND="${DEPEND} ${DEPEND_EXTRA}"
+RDEPEND="${RDEPEND} ${DEPEND_EXTRA}"
+IUSE="${IUSE} debug"
+
+# 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() {
+       detectapache domsg
+
+       php5-sapi_src_unpack
+}
+
+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*) ;;
+                       *) my_conf="${my_conf} --enable-experimental-zts" ; ewarn "Enabling ZTS for Apache2 MPM" ;;
+               esac;
+       fi
+
+       #use apache2 \
+       my_conf="${my_conf} --with-apxs${USE_APACHE2}=/usr/sbin/apxs${USE_APACHE2}"
+
+       php5-sapi_src_compile
+}
+
+
+src_install() {
+       PHP_INSTALLTARGETS="install"
+       php5-sapi_src_install
+
+#      einfo "Adding extra symlink to Apache${USE_APACHE2} extramodules for PHP"
+#      dosym /usr/lib/apache${USE_APACHE2}-extramodules ${PHP_INI_DIR}/lib
+
+       if [ -n "${USE_APACHE2}" ] ; then
+               einfo "Installing a Apache2 config for PHP (70_mod_php5.conf)"
+               insinto ${APACHE2_MODULES_CONFDIR}
+               doins ${FILESDIR}/70_mod_php5.conf
+       else
+               einfo "Installing a Apache config for PHP (mod_php5.conf)"
+               insinto ${APACHE_MODULES_CONFDIR}
+               doins ${FILESDIR}/mod_php5.conf
+       fi
+}
+
+apache2msg() {
+       einfo "Edit /etc/conf.d/apache2 and add \"-D PHP5\" to APACHE2_OPTS"
+       ewarn "This is a change from the old \"-D PHP4\"!"
+}
+
+pkg_postinst() {
+       einfo "To have Apache run php programs, please do the following:"
+       if [ -n "${USE_APACHE2}" ]; then
+               apache2msg
+       else
+               einfo "1. Execute the command:"
+               einfo " \"ebuild /var/db/pkg/${CATEGORY}/${PF}/${PF}.ebuild config\""
+               einfo "2. Edit /etc/conf.d/apache and add \"-D PHP5\" 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."
+               ewarn "This is a change from the old \"-D PHP4\"!"
+       fi
+}
+
+pkg_config() {
+       if [ -n "${USE_APACHE2}" ]; then
+               apache2msg
+       else
+               ${ROOT}/usr/sbin/apacheaddmod \
+                       ${ROOT}/etc/apache/conf/apache.conf \
+                       extramodules/libphp5.so mod_php5.c php5_module \
+                       before=perl define=PHP5 addconf=conf/addon-modules/mod_php.conf
+                       :;
+       fi
+}
diff --git a/dev-php/mod_php/mod_php-5.0.3-r1.ebuild b/dev-php/mod_php/mod_php-5.0.3-r1.ebuild
new file mode 100644 (file)
index 0000000..4c4159b
--- /dev/null
@@ -0,0 +1,145 @@
+# 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-5.0.3-r1.ebuild,v 1.1 2005/01/13 13:08:57 trapni Exp $
+
+IUSE="${IUSE} apache2"
+
+KEYWORDS="~x86"
+PROVIDE="virtual/php-${PV} virtual/httpd-php-${PV}"
+
+detectapache() {
+       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}"
+MY_P="php-${PV}"
+
+# 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 php5-sapi eutils apache-module
+
+DESCRIPTION="Apache module for PHP 5"
+
+# provides all base PHP extras (eg PEAR, extension building stuff)
+DEPEND_EXTRA=">=${PHP_PROVIDER_PKG}-5.0.3
+                         >=net-www/apache-1.3.26-r2
+                         apache2? ( >=net-www/apache-2.0.50 )
+                         || ( >=net-www/apache-1.3.26-r2 >=net-www/apache-2.0.50 )"
+DEPEND="${DEPEND} ${DEPEND_EXTRA}"
+RDEPEND="${RDEPEND} ${DEPEND_EXTRA}"
+IUSE="${IUSE} debug"
+
+# 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() {
+       detectapache domsg
+
+       php5-sapi_src_unpack
+       [ "${ARCH}" == "sparc" ] && epatch ${FILESDIR}/stdint.diff
+       
+}
+
+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*) ;;
+                       *) my_conf="${my_conf} --enable-experimental-zts" ; ewarn "Enabling ZTS for Apache2 MPM" ;;
+               esac;
+       fi
+
+       #use apache2 \
+       my_conf="${my_conf} --with-apxs${USE_APACHE2}=/usr/sbin/apxs${USE_APACHE2}"
+
+       php5-sapi_src_compile
+}
+
+
+src_install() {
+       PHP_INSTALLTARGETS="install"
+       php5-sapi_src_install
+
+#      einfo "Adding extra symlink to Apache${USE_APACHE2} extramodules for PHP"
+#      dosym /usr/lib/apache${USE_APACHE2}-extramodules ${PHP_INI_DIR}/lib
+
+       if [ -n "${USE_APACHE2}" ] ; then
+               einfo "Installing a Apache2 config for PHP (70_mod_php5.conf)"
+               insinto ${APACHE2_MODULES_CONFDIR}
+               doins ${FILESDIR}/70_mod_php5.conf
+       else
+               einfo "Installing a Apache config for PHP (mod_php5.conf)"
+               insinto ${APACHE_MODULES_CONFDIR}
+               doins ${FILESDIR}/mod_php5.conf
+       fi
+}
+
+apache2msg() {
+       einfo "Edit /etc/conf.d/apache2 and add \"-D PHP5\" to APACHE2_OPTS"
+       ewarn "This is a change from the old \"-D PHP4\"!"
+}
+
+pkg_postinst() {
+       einfo "To have Apache run php programs, please do the following:"
+       if [ -n "${USE_APACHE2}" ]; then
+               apache2msg
+       else
+               einfo "1. Execute the command:"
+               einfo " \"ebuild /var/db/pkg/${CATEGORY}/${PF}/${PF}.ebuild config\""
+               einfo "2. Edit /etc/conf.d/apache and add \"-D PHP5\" 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."
+               ewarn "This is a change from the old \"-D PHP4\"!"
+       fi
+}
+
+pkg_config() {
+       if [ -n "${USE_APACHE2}" ]; then
+               apache2msg
+       else
+               ${ROOT}/usr/sbin/apacheaddmod \
+                       ${ROOT}/etc/apache/conf/apache.conf \
+                       extramodules/libphp5.so mod_php5.c php5_module \
+                       before=perl define=PHP5 addconf=conf/addon-modules/mod_php.conf
+                       :;
+       fi
+}