Fixes for mod_perl-2.0.3 re: bug 172676
authorMichael Cummings <mcummings@gentoo.org>
Fri, 30 Mar 2007 23:38:19 +0000 (23:38 +0000)
committerMichael Cummings <mcummings@gentoo.org>
Fri, 30 Mar 2007 23:38:19 +0000 (23:38 +0000)
Package-Manager: portage-2.1.2.2

www-apache/mod_perl/ChangeLog
www-apache/mod_perl/Manifest
www-apache/mod_perl/files/RegistryCooker.patch [new file with mode: 0644]
www-apache/mod_perl/files/digest-mod_perl-2.0.3-r1 [new file with mode: 0644]
www-apache/mod_perl/mod_perl-2.0.3-r1.ebuild [new file with mode: 0644]

index fa441336633e60107b9eb8e3d30dc2a6152142d7..dd748b0a274567efa98e053ead52aa580843b984 100644 (file)
@@ -1,6 +1,12 @@
 # ChangeLog for www-apache/mod_perl
 # Copyright 2002-2007 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/www-apache/mod_perl/ChangeLog,v 1.38 2007/03/30 22:52:28 mcummings Exp $
+# $Header: /var/cvsroot/gentoo-x86/www-apache/mod_perl/ChangeLog,v 1.39 2007/03/30 23:38:19 mcummings Exp $
+
+*mod_perl-2.0.3-r1 (30 Mar 2007)
+
+  30 Mar 2007; Michael Cummings <mcummings@gentoo.org>
+  +files/RegistryCooker.patch, +mod_perl-2.0.3-r1.ebuild:
+  Fixes for mod_perl-2.0.3 re: bug 172676
 
 *mod_perl-1.30 (30 Mar 2007)
 
index 0db6410cdd668dcbb11a2ed5236e0f922f7ed54e..e62e5ab42af5d95c9ced583fdfce4d0c950ef73e 100644 (file)
@@ -29,6 +29,10 @@ AUX 75_mod_perl.conf 247 RMD160 0f6b40d6073ce43ab807bd7efb2c7c61f6b5ddd7 SHA1 7b
 MD5 2415e6be73ba155382b34b5e2fad4951 files/75_mod_perl.conf 247
 RMD160 0f6b40d6073ce43ab807bd7efb2c7c61f6b5ddd7 files/75_mod_perl.conf 247
 SHA256 d41bd8b379a7e936e35a4d475651d4778f542aa23ff2564ff46ebd772b08e6b1 files/75_mod_perl.conf 247
+AUX RegistryCooker.patch 1226 RMD160 21c434c214e1d6104a7aafd2330cbc70c717f768 SHA1 be4887aa6ba38a8cba5f1ceff1ccdd69e539a44c SHA256 f0d3e610cdac459de535143acf1f9a2a319327f9f956455a5279b02915e4a637
+MD5 88067cdc1201d7956d9eb8da7060a781 files/RegistryCooker.patch 1226
+RMD160 21c434c214e1d6104a7aafd2330cbc70c717f768 files/RegistryCooker.patch 1226
+SHA256 f0d3e610cdac459de535143acf1f9a2a319327f9f956455a5279b02915e4a637 files/RegistryCooker.patch 1226
 AUX apache2-mod_perl-startup.pl 485 RMD160 9bcfe312a3c76fac9fa89d4c6d26997e82b22f83 SHA1 71d4bde571f713cee328cd338453981842b94b98 SHA256 336c0c85ec9e1075b69c7b73e3ea2de1d7b091ce69bc1af75dd8e8302a6b84f7
 MD5 6dbf85f6df302959fc9decf11eb6e5f5 files/apache2-mod_perl-startup.pl 485
 RMD160 9bcfe312a3c76fac9fa89d4c6d26997e82b22f83 files/apache2-mod_perl-startup.pl 485
@@ -58,14 +62,18 @@ EBUILD mod_perl-2.0.2.ebuild 5282 RMD160 70d2f21d19b6497b027e0c936a89417da09e041
 MD5 e6627efdd23655e130a716a874fbc52b mod_perl-2.0.2.ebuild 5282
 RMD160 70d2f21d19b6497b027e0c936a89417da09e0418 mod_perl-2.0.2.ebuild 5282
 SHA256 2abb0d2c94d71481ab50da7d07d22047522e31065e4eac36a7b5e92c09c399eb mod_perl-2.0.2.ebuild 5282
+EBUILD mod_perl-2.0.3-r1.ebuild 5307 RMD160 729ad0cf58832f5ae5cad23c883d9a2fe95abefa SHA1 2f8426358222f46a61207d90b55645e97934e842 SHA256 7bd3c34fa96a51f26619e2d68bc66e0f9b5e39c1db3310855b65539cd0858fcb
+MD5 841ad086718e2845b625f1094dc12260 mod_perl-2.0.3-r1.ebuild 5307
+RMD160 729ad0cf58832f5ae5cad23c883d9a2fe95abefa mod_perl-2.0.3-r1.ebuild 5307
+SHA256 7bd3c34fa96a51f26619e2d68bc66e0f9b5e39c1db3310855b65539cd0858fcb mod_perl-2.0.3-r1.ebuild 5307
 EBUILD mod_perl-2.0.3.ebuild 5245 RMD160 26a66b54e3e472a9812d427ceaba5fe6aba69557 SHA1 820e26107f2ebfd5919fb74e3c18516c7c2fa89d SHA256 3e58626652473a55414a37804fcc904d4b7cf3e8b4ae2790c50be654e750e25e
 MD5 0595a729636dd8ce58715ffc935a606e mod_perl-2.0.3.ebuild 5245
 RMD160 26a66b54e3e472a9812d427ceaba5fe6aba69557 mod_perl-2.0.3.ebuild 5245
 SHA256 3e58626652473a55414a37804fcc904d4b7cf3e8b4ae2790c50be654e750e25e mod_perl-2.0.3.ebuild 5245
-MISC ChangeLog 15360 RMD160 3efeb4dd7e2894ace6ff94c8025bcf4db5939e7d SHA1 0f8f0cc130a1c4989cfeda2d758ae4e8ffc26648 SHA256 848f4272187fb4af637a73793990afc1d622e8d5e0f95545d6abb4dccbb9842e
-MD5 aa098197217f23262558476e3a6e744d ChangeLog 15360
-RMD160 3efeb4dd7e2894ace6ff94c8025bcf4db5939e7d ChangeLog 15360
-SHA256 848f4272187fb4af637a73793990afc1d622e8d5e0f95545d6abb4dccbb9842e ChangeLog 15360
+MISC ChangeLog 15550 RMD160 a5a61c0db87842f1d310649802c586f4b198edef SHA1 ff00198621e6a688b2530d5db65ba444e43c0f34 SHA256 0e5c1cf572937f8319196020e54db2bbe3917b82d0df93c197e31fa0b226ced3
+MD5 a6bed5902a69ba6311c6195b8c6634fc ChangeLog 15550
+RMD160 a5a61c0db87842f1d310649802c586f4b198edef ChangeLog 15550
+SHA256 0e5c1cf572937f8319196020e54db2bbe3917b82d0df93c197e31fa0b226ced3 ChangeLog 15550
 MISC metadata.xml 305 RMD160 647980838c590f54441a053916ea629e53e551c0 SHA1 99ef1deeae9a934fb6e46cf5fc4a5fcb8379a74a SHA256 f05dbef15061919972882cab07057e102760a542beba17d131194091401cd7ca
 MD5 e2d8f1bf77722def1dd432e26455c818 metadata.xml 305
 RMD160 647980838c590f54441a053916ea629e53e551c0 metadata.xml 305
@@ -85,10 +93,13 @@ SHA256 2891e5a85d9566e61ea1eef0f49ed3a867b67b9159f14792e6ca0a63e64ee585 files/di
 MD5 2cee3dc20b5fa45bf9b68d7c1d48ea0a files/digest-mod_perl-2.0.3 247
 RMD160 67aa385d26608262c1984a6d0e1049aad6100fa7 files/digest-mod_perl-2.0.3 247
 SHA256 8fa24b53fca491ae5c32d3ca402e74417c2d1cb21be10cbd73319ca869b154ba files/digest-mod_perl-2.0.3 247
+MD5 2cee3dc20b5fa45bf9b68d7c1d48ea0a files/digest-mod_perl-2.0.3-r1 247
+RMD160 67aa385d26608262c1984a6d0e1049aad6100fa7 files/digest-mod_perl-2.0.3-r1 247
+SHA256 8fa24b53fca491ae5c32d3ca402e74417c2d1cb21be10cbd73319ca869b154ba files/digest-mod_perl-2.0.3-r1 247
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v2.0.3 (GNU/Linux)
 
-iD8DBQFGDZSytG5z4I8BtQoRAu3YAKCC98u62Rd2RGzABEwdLXimHkdMeACdFC3H
-GmC5mJTCGPMRtyvEXa6YKsk=
-=16UZ
+iD8DBQFGDZ9ytG5z4I8BtQoRAnRBAJ4koT5pywJwqdwPs2BeNsz2uHH6dwCfV4rL
+hUv010j2iTozUKPhDfSfvNs=
+=Rpec
 -----END PGP SIGNATURE-----
diff --git a/www-apache/mod_perl/files/RegistryCooker.patch b/www-apache/mod_perl/files/RegistryCooker.patch
new file mode 100644 (file)
index 0000000..f95dc85
--- /dev/null
@@ -0,0 +1,27 @@
+diff -Naurp mod_perl-2.0.3-old/Changes mod_perl-2.0.3/Changes
+--- mod_perl-2.0.3-old/Changes 2006-11-29 03:02:17.000000000 -0500
++++ mod_perl-2.0.3/Changes     2007-03-30 19:05:50.000000000 -0400
+@@ -10,6 +10,11 @@ Also refer to the Apache::Test changes l
+ =over 3
++=item 2.0.4-dev
++
++fix unescaped variable interprolation in regular expression
++[Randal L. Schwartz <merlyn[at]stonehenge.com>, Fred Moyer <fred[at]redhotpenguin.com>] 
++
+ =item 2.0.3 November 28, 2006
+ Prevent things in %INC that are not stat() able
+diff -Naurp mod_perl-2.0.3-old/ModPerl-Registry/lib/ModPerl/RegistryCooker.pm mod_perl-2.0.3/ModPerl-Registry/lib/ModPerl/RegistryCooker.pm
+--- mod_perl-2.0.3-old/ModPerl-Registry/lib/ModPerl/RegistryCooker.pm  2006-11-19 18:31:41.000000000 -0500
++++ mod_perl-2.0.3/ModPerl-Registry/lib/ModPerl/RegistryCooker.pm      2007-03-30 19:08:05.000000000 -0400
+@@ -337,7 +337,7 @@ sub namespace_from_uri {
+     my $self = shift;
+     my $path_info = $self->{REQ}->path_info;
+-    my $script_name = $path_info && $self->{URI} =~ /$path_info$/
++    my $script_name = $path_info && $self->{URI} =~ /\Q$path_info\E$/
+         ? substr($self->{URI}, 0, length($self->{URI}) - length($path_info))
+         : $self->{URI};
diff --git a/www-apache/mod_perl/files/digest-mod_perl-2.0.3-r1 b/www-apache/mod_perl/files/digest-mod_perl-2.0.3-r1
new file mode 100644 (file)
index 0000000..3678f61
--- /dev/null
@@ -0,0 +1,3 @@
+MD5 b40e2adf67c6be15a0041af1c67b6997 mod_perl-2.0.3.tar.gz 3714974
+RMD160 29662a131c1bef6e4adc551d4467d12931a4d919 mod_perl-2.0.3.tar.gz 3714974
+SHA256 df257f233ed6a5c9f8589d6e059563f816bf417f164fc3364a2a434de13045f2 mod_perl-2.0.3.tar.gz 3714974
diff --git a/www-apache/mod_perl/mod_perl-2.0.3-r1.ebuild b/www-apache/mod_perl/mod_perl-2.0.3-r1.ebuild
new file mode 100644 (file)
index 0000000..8e6c897
--- /dev/null
@@ -0,0 +1,156 @@
+# Copyright 1999-2007 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/www-apache/mod_perl/mod_perl-2.0.3-r1.ebuild,v 1.1 2007/03/30 23:38:19 mcummings Exp $
+
+inherit apache-module perl-module eutils multilib
+DESCRIPTION="An embedded Perl interpreter for Apache2"
+SRC_URI="mirror://cpan/authors/id/P/PG/PGOLLUCCI/${P}.tar.gz"
+HOMEPAGE="http://perl.apache.org/"
+
+LICENSE="GPL-2"
+KEYWORDS="~alpha ~amd64 ~ia64 ~ppc ~ppc64 ~sparc ~x86"
+IUSE=""
+SLOT="1"
+
+
+# see bug 30087 for why sudo is in here
+DEPEND=">=dev-perl/Apache-Test-1.27
+       >=virtual/perl-CGI-3.08
+       >=dev-perl/Compress-Zlib-1.09
+       app-admin/sudo"
+RDEPEND="${DEPEND}"
+
+APACHE2_MOD_CONF="75_${PN}.conf apache2-mod_perl-startup.pl"
+DOCFILES="Changes INSTALL LICENSE README STATUS"
+APACHE2_MOD_DEFINE="PERL"
+
+need_apache2
+
+src_unpack() {
+       INSTALLED_MPM="$(/usr/sbin/apxs2 -q MPM_NAME)"
+       eval `perl '-V:useithreads'`
+       ITHREADS="${useithreads}"
+       if [ "${INSTALLED_MPM}" != "prefork" ]; then
+               if [ "${ITHREADS}" == "undef" ]; then
+                       eerror "You cannot build mod_perl on a threaded apache"
+                       eerror "with an unthreaded perl. You must either emerge"
+                       eerror "perl with ithreads in your USE flags, or emerge"
+                       eerror "apache without threading support"
+                       die
+               fi
+       fi
+
+       unpack ${A}
+
+       cd ${S}
+
+       # I am not entirely happy with this solution, but here's what's
+       # going on here if someone wants to take a stab at another
+       # approach.  When userpriv compilation is off, then the make
+       # process drops to user "nobody" to run the test servers.  This
+       # server is closed, and then the socket is rebound using
+       # SO_REUSEADDR.  If the same user does this, there is no problem,
+       # and the socket may be rebound immediately.  If a different user
+       # (yes, in my testing, even root) attempts to rebind, it fails.
+       # Since the "is the socket available yet" code and the
+       # second-batch bind call both run as root, this will fail.  
+
+       # The upstream settings on my test machine cause the second batch
+       # of tests to fail, believing the socket to still be in use.  I
+       # tried patching various parts to make them run as the user
+       # specified in $config->{vars}{user} using getpwnam, but found
+       # this patch to be fairly intrusive, because the userid must be
+       # restored and the patch must be applied to multiple places.
+
+       # For now, we will simply extend the timeout in hopes that in the
+       # non-userpriv case, the socket will clear from the kernel tables
+       # normally, and the tests will proceed.
+
+       # If anybody is still having problems, then commenting out "make
+       # test" below should allow the software to build properly.
+
+       # Robert Coie <rac@gentoo.org> 2003.05.06
+
+       sed -i -e "s/sleep \$_/sleep \$_ << 2/" ${S}/Apache-Test/lib/Apache/TestServer.pm || die "problem editing TestServer.pm"
+
+       # i wonder if this is the same sandbox issue, but TMPDIR is not
+       # getting through via SetEnv.  sneak it through here.
+
+       # Bug 172676
+       epatch "${FILESDIR}/RegistryCooker.patch"
+
+       # rendhalver - this got redone for 2.0.1 and seems to fix the make test problems
+       epatch ${FILESDIR}/mod_perl-2.0.1-sneak-tmpdir.patch
+}
+
+src_compile() {
+       perl Makefile.PL \
+               PREFIX=${D}/usr \
+               MP_TRACE=1 \
+               MP_DEBUG=1 \
+               MP_USE_DSO=1 \
+               MP_APXS=/usr/sbin/apxs2  \
+               INSTALLDIRS=vendor </dev/null || die
+
+       # reported that parallel make is broken in bug 30257
+       emake -j1 || die
+
+       # mcummings - disabling tests right, there's a bug i haven't found an override for
+       # rendhalver - i seem to have fixed this so turning them back on again. 
+       # yet that sets /tmp as your tmp dir
+       #hasq maketest $FEATURES && src_test
+}
+
+src_test() {
+       # make test notes whether it is running as root, and drops
+       # privileges all the way to "nobody" if so, so we must adjust
+       # write permissions accordingly in this case.
+
+       # IF YOU SUDO TO EMERGE AND HAVE !env_reset set testing will fail!
+
+       if [ "`id -u`" == '0' ]; then
+               chown nobody:nobody ${WORKDIR}
+               chown nobody:nobody ${T}
+       fi
+
+       # this does not || die because of bug 21325.  kudos to smark for
+       # the idea of setting HOME.
+
+       TMPDIR="${T}" HOME="${T}/" make test
+}
+
+src_install() {
+       dodir /usr/$(get_libdir)/apache2/modules
+       make install \
+               MODPERL_AP_LIBEXECDIR=${D}/usr/$(get_libdir)/apache2/modules \
+               MODPERL_AP_INCLUDEDIR=${D}/usr/include/apache2 \
+               MP_INST_APACHE2=1 \
+               INSTALLDIRS=vendor || die
+
+       # rendhalver - fix the perllocal.pod that gets installed
+       # it seems to me that this has been getting installed for ages
+
+       fixlocalpod
+
+       # this is an attempt to get @INC in line with /usr/bin/perl.
+       # there is blib garbage in the mainstream one that can only be
+       # useful during internal testing, so we wait until here and then
+       # just go with a clean slate.  should be much easier to see what's
+       # happening and revert if problematic.
+
+       # this is not needed anymore because Apache2.pm no longer exists
+       #eval $(perl -V:vendorarch)
+       #cp ${FILESDIR}/${P}-Apache2.pm ${D}/${vendorarch}/Apache2.pm
+
+       insinto /etc/apache2/modules.d
+       doins ${FILESDIR}/${PV}/75_mod_perl.conf \
+               ${FILESDIR}/${PV}/apache2-mod_perl-startup.pl
+
+       dodoc ${FILESDIR}/${PV}/75_mod_perl.conf Changes \
+               INSTALL LICENSE README STATUS
+       cp -pPR docs ${D}/usr/share/doc/${PF}
+       cp -pPR todo ${D}/usr/share/doc/${PF}
+       for FILE in `grep -lr portage ${D}/*|grep -v ".so"`; do
+               sed -i -e "s:${D}:/:g" ${FILE}
+       done
+}