From dfba20a38d1ca9234ea3d9d314dcf288110ecc32 Mon Sep 17 00:00:00 2001 From: Michael Cummings Date: Fri, 30 Mar 2007 23:38:19 +0000 Subject: [PATCH] Fixes for mod_perl-2.0.3 re: bug 172676 Package-Manager: portage-2.1.2.2 --- www-apache/mod_perl/ChangeLog | 8 +- www-apache/mod_perl/Manifest | 25 ++- .../mod_perl/files/RegistryCooker.patch | 27 +++ .../mod_perl/files/digest-mod_perl-2.0.3-r1 | 3 + www-apache/mod_perl/mod_perl-2.0.3-r1.ebuild | 156 ++++++++++++++++++ 5 files changed, 211 insertions(+), 8 deletions(-) create mode 100644 www-apache/mod_perl/files/RegistryCooker.patch create mode 100644 www-apache/mod_perl/files/digest-mod_perl-2.0.3-r1 create mode 100644 www-apache/mod_perl/mod_perl-2.0.3-r1.ebuild diff --git a/www-apache/mod_perl/ChangeLog b/www-apache/mod_perl/ChangeLog index fa441336633e..dd748b0a2745 100644 --- a/www-apache/mod_perl/ChangeLog +++ b/www-apache/mod_perl/ChangeLog @@ -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 + +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) diff --git a/www-apache/mod_perl/Manifest b/www-apache/mod_perl/Manifest index 0db6410cdd66..e62e5ab42af5 100644 --- a/www-apache/mod_perl/Manifest +++ b/www-apache/mod_perl/Manifest @@ -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 index 000000000000..f95dc85ee6c0 --- /dev/null +++ b/www-apache/mod_perl/files/RegistryCooker.patch @@ -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 , Fred Moyer ] ++ + =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 index 000000000000..3678f6181c60 --- /dev/null +++ b/www-apache/mod_perl/files/digest-mod_perl-2.0.3-r1 @@ -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 index 000000000000..8e6c89770ddf --- /dev/null +++ b/www-apache/mod_perl/mod_perl-2.0.3-r1.ebuild @@ -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 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