add 1.99.17-r1 with @INC fiddling
authorRobert Coie <rac@gentoo.org>
Sun, 14 Nov 2004 02:10:02 +0000 (02:10 +0000)
committerRobert Coie <rac@gentoo.org>
Sun, 14 Nov 2004 02:10:02 +0000 (02:10 +0000)
dev-perl/mod_perl/ChangeLog
dev-perl/mod_perl/Manifest
dev-perl/mod_perl/files/digest-mod_perl-1.99.17-r1 [new file with mode: 0644]
dev-perl/mod_perl/files/mod_perl-1.99.17-Apache2.pm [new file with mode: 0644]
dev-perl/mod_perl/mod_perl-1.99.17-r1.ebuild [new file with mode: 0644]

index a2545cd1574b90202c8c77ad1c6420fc78e4fe25..5d29bd09243bea32901276b3e109db4b2338a8eb 100644 (file)
@@ -1,6 +1,12 @@
 # ChangeLog for dev-perl/mod_perl
 # Copyright 2002-2004 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/dev-perl/mod_perl/ChangeLog,v 1.44 2004/10/28 00:20:21 cardoe Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-perl/mod_perl/ChangeLog,v 1.45 2004/11/14 02:10:02 rac Exp $
+
+*mod_perl-1.99.17-r1 (13 Nov 2004)
+
+  13 Nov 2004; Robert Coie <rac@gentoo.org>
+  +files/mod_perl-1.99.17-Apache2.pm, +mod_perl-1.99.17-r1.ebuild:
+  Replace Apache2.pm to set @INC up properly
 
 *mod_perl-1.99.17 (27 Oct 2004)
 
index d8e2e73fb8e6da511b308cfc4927692dd942970b..4adad99a0437fa746da2b6320ac3db6ea3f92edb 100644 (file)
@@ -1,40 +1,33 @@
------BEGIN PGP SIGNED MESSAGE-----
-Hash: SHA1
-
-MD5 e48765f4129ef6e27824df62a47fd14a mod_perl-1.29.ebuild 2470
-MD5 b101308b1017072f3d62def1ed834ab1 mod_perl-1.99.09.ebuild 3673
-MD5 66a0226a2c0f697be1dabcaecac8adfa mod_perl-1.99.17.ebuild 3825
-MD5 e2d8f1bf77722def1dd432e26455c818 metadata.xml 305
-MD5 a366c1cb1f861c8f0041d9ce4e210698 mod_perl-1.99.10.ebuild 3824
-MD5 3178e29b098755dfc7c1139f61788cdc ChangeLog 5864
-MD5 8a0d2f0c7b7d8c36e2ddb832c504ed9f mod_perl-1.27-r2.ebuild 1817
 MD5 c614eea076228afa05a30a7f0dbadf2a mod_perl-1.27.ebuild 1417
+MD5 6c6187b2b66856c7754c391d928c742c ChangeLog 6054
+MD5 e2d8f1bf77722def1dd432e26455c818 metadata.xml 305
 MD5 8d2945f86f75caca1f479d2053b912ac mod_perl-1.99.16.ebuild 3813
-MD5 0525b089ad91f31dffd83c0d1300ffc4 mod_perl-1.99.11.ebuild 3783
 MD5 bfb9cdc72acb74032ddf255b4d1a5a2e mod_perl-1.27-r1.ebuild 1423
-MD5 a1141c430c0b7356ce812dd1bfd8854a mod_perl-1.99.08.ebuild 1237
+MD5 8a0d2f0c7b7d8c36e2ddb832c504ed9f mod_perl-1.27-r2.ebuild 1817
 MD5 883e4913a359e585ff84d4f53f629035 mod_perl-1.27-r4.ebuild 2179
-MD5 e749acb150e339917257be38febb568e files/mod_perl-1.99.10-nonukes.patch 777
-MD5 1e0341f9b7bd3c3f74c25e60eb3188c8 files/mod_perl-1.27-ipv6.patch 1207
-MD5 33270eaaa2c9bc9cef3a4a45afaeca34 files/digest-mod_perl-1.29 65
+MD5 e48765f4129ef6e27824df62a47fd14a mod_perl-1.29.ebuild 2470
+MD5 a1141c430c0b7356ce812dd1bfd8854a mod_perl-1.99.08.ebuild 1237
+MD5 b101308b1017072f3d62def1ed834ab1 mod_perl-1.99.09.ebuild 3673
+MD5 a366c1cb1f861c8f0041d9ce4e210698 mod_perl-1.99.10.ebuild 3824
+MD5 0525b089ad91f31dffd83c0d1300ffc4 mod_perl-1.99.11.ebuild 3783
+MD5 5ae689acb9f9ed419a3b1542bab72e5b mod_perl-1.99.17-r1.ebuild 4217
+MD5 66a0226a2c0f697be1dabcaecac8adfa mod_perl-1.99.17.ebuild 3825
 MD5 05455750ba5b64e18dbcfd113193e7cd files/digest-mod_perl-1.27 65
-MD5 278c6266498d8bef49b54f30774aa305 files/digest-mod_perl-1.99.11 69
-MD5 39a4d91d1d90d32f90dea3c00a1680d7 files/apache2-mod_perl-startup.pl 483
 MD5 2415e6be73ba155382b34b5e2fad4951 files/75_mod_perl.conf 247
-MD5 13d314750ba5772dc7de4d9023d137ad files/digest-mod_perl-1.99.16 69
-MD5 1e0341f9b7bd3c3f74c25e60eb3188c8 files/mod_perl-1.29-ipv6.patch 1207
+MD5 e749acb150e339917257be38febb568e files/mod_perl-1.99.10-nonukes.patch 777
+MD5 39a4d91d1d90d32f90dea3c00a1680d7 files/apache2-mod_perl-startup.pl 483
+MD5 05455750ba5b64e18dbcfd113193e7cd files/digest-mod_perl-1.27-r1 65
 MD5 05455750ba5b64e18dbcfd113193e7cd files/digest-mod_perl-1.27-r2 65
+MD5 13d314750ba5772dc7de4d9023d137ad files/digest-mod_perl-1.99.16 69
 MD5 05455750ba5b64e18dbcfd113193e7cd files/digest-mod_perl-1.27-r4 65
-MD5 2937c8efc4e2d9dd8fff843ab63f5c14 files/digest-mod_perl-1.99.17 69
+MD5 33270eaaa2c9bc9cef3a4a45afaeca34 files/digest-mod_perl-1.29 65
 MD5 4869c6ea8e02d871a03455d28b6f6cfb files/digest-mod_perl-1.99.08 68
-MD5 5ff16293368688eefecc4a6066eb8914 files/digest-mod_perl-1.99.10 69
 MD5 5fb9123a821e261a210c5fca0ff94976 files/digest-mod_perl-1.99.09 68
+MD5 5ff16293368688eefecc4a6066eb8914 files/digest-mod_perl-1.99.10 69
+MD5 278c6266498d8bef49b54f30774aa305 files/digest-mod_perl-1.99.11 69
+MD5 1e0341f9b7bd3c3f74c25e60eb3188c8 files/mod_perl-1.27-ipv6.patch 1207
+MD5 1e0341f9b7bd3c3f74c25e60eb3188c8 files/mod_perl-1.29-ipv6.patch 1207
 MD5 8c8ec63f03d3ffb51fa26b6df03a5710 files/mod_perl-1.99.16-sneak-tmpdir.patch 395
-MD5 05455750ba5b64e18dbcfd113193e7cd files/digest-mod_perl-1.27-r1 65
------BEGIN PGP SIGNATURE-----
-Version: GnuPG v1.2.6 (GNU/Linux)
-
-iD8DBQFBgDtNFhz/XBeRBtARAvFfAKCY75Fw50z9X4TAgMvFBI67l1u/7gCgmE9h
-w+Y4gc5wI7VZMyGsAiR6cso=
-=EbrN
------END PGP SIGNATURE-----
+MD5 2937c8efc4e2d9dd8fff843ab63f5c14 files/digest-mod_perl-1.99.17 69
+MD5 300bce7b1dad6fda0b18cfdbf592a828 files/mod_perl-1.99.17-Apache2.pm 1149
+MD5 2937c8efc4e2d9dd8fff843ab63f5c14 files/digest-mod_perl-1.99.17-r1 69
diff --git a/dev-perl/mod_perl/files/digest-mod_perl-1.99.17-r1 b/dev-perl/mod_perl/files/digest-mod_perl-1.99.17-r1
new file mode 100644 (file)
index 0000000..86a6705
--- /dev/null
@@ -0,0 +1 @@
+MD5 ffb9d5c825b93d91e6c3a8885f7d5296 mod_perl-1.99_17.tar.gz 1368804
diff --git a/dev-perl/mod_perl/files/mod_perl-1.99.17-Apache2.pm b/dev-perl/mod_perl/files/mod_perl-1.99.17-Apache2.pm
new file mode 100644 (file)
index 0000000..a06332a
--- /dev/null
@@ -0,0 +1,48 @@
+package Apache2;
+
+sub BEGIN {
+  use Config;
+
+  @inc = ( '/etc/perl',
+          $Config{sitearchexp},
+          $Config{sitelibexp},
+          $Config{vendorarchexp},
+          $Config{vendorlibexp},
+          $Config{archlibexp},
+          $Config{privlibexp},
+        );
+
+  my @sfxs = split( / /, $Config{inc_version_list} );
+
+  # this fails if we have numbers over 9. the goal is to get newer
+  # versions earlier in the list.
+  @sfxs = sort { $b cmp $a } @sfxs;
+
+  my $site_pfx = $Config{sitelib_stem};
+  my $vend_pfx = $Config{vendorlib_stem};
+  for my $sfx ( @sfxs ) {
+    push( @inc, "$site_pfx/$sfx", "$vend_pfx/$sfx" );
+  }
+
+  push( @inc,
+       "/usr/local/lib/site_perl",
+       "/usr/lib/apache2",
+       "/usr/lib/apache2/lib/perl",
+      );
+
+  # no . here because it doesn't make sense for us
+
+  # ok, now prepend Apache2 subdirectories of anything and take out
+  # nonexistent directories.  a case could be made that leaving
+  # nonexistent directories on here would be a good idea, but i'm
+  # going to go with the "reduce clutter" goal for now.
+
+  @INC = ();
+  for my $cd ( @inc ) {
+    next unless -d $cd;
+    push( @INC, "$cd/Apache2" ) if -d "$cd/Apache2";
+    push( @INC, $cd );
+  }
+}
+
+1;
diff --git a/dev-perl/mod_perl/mod_perl-1.99.17-r1.ebuild b/dev-perl/mod_perl/mod_perl-1.99.17-r1.ebuild
new file mode 100644 (file)
index 0000000..bc5cbc3
--- /dev/null
@@ -0,0 +1,130 @@
+# Copyright 1999-2004 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-perl/mod_perl/mod_perl-1.99.17-r1.ebuild,v 1.1 2004/11/14 02:10:02 rac Exp $
+
+inherit eutils
+
+front=${PV%\.*}
+back=\_${PV##*\.}
+MY_PV=${PV:0:${#front}}${back}
+MY_P=${PN}-${MY_PV}
+S=${WORKDIR}/${MY_P}
+DESCRIPTION="An embedded Perl interpreter for Apache2"
+SRC_URI="http://perl.apache.org/dist/${MY_P}.tar.gz"
+HOMEPAGE="http://perl.apache.org/"
+
+LICENSE="GPL-2"
+KEYWORDS="~x86 ~amd64 ~alpha ~ia64 ~sparc ~ppc"
+IUSE=""
+SLOT="1"
+
+# see bug 30087 for why sudo is in here
+
+DEPEND="dev-lang/perl
+       =net-www/apache-2*
+       >=dev-perl/CGI-2.93
+       >=sys-apps/sed-4
+       app-admin/sudo"
+
+src_unpack() {
+       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.
+
+       epatch ${FILESDIR}/${PN}-1.99.16-sneak-tmpdir.patch
+}
+
+src_compile() {
+       perl Makefile.PL \
+               PREFIX=${D}/usr \
+               MP_TRACE=1 \
+               MP_DEBUG=1 \
+               MP_USE_DSO=3 \
+               MP_INST_APACHE2=1 \
+               MP_APXS=/usr/sbin/apxs2  \
+               CCFLAGS="${CFLAGS} -fPIC" \
+               INSTALLDIRS=vendor </dev/null || die
+
+       # reported that parallel make is broken in bug 30257
+       emake -j1 || die
+
+       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 [ "`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.
+
+       HOME="${T}/" make test
+}
+
+src_install() {
+       dodir /usr/lib/apache2-extramodules
+       make install \
+               MODPERL_AP_LIBEXECDIR=${D}/usr/lib/apache2-extramodules \
+               MODPERL_AP_INCLUDEDIR=${D}/usr/include/apache2 \
+               MP_INST_APACHE2=1 \
+               INSTALLDIRS=vendor || die
+
+       # 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.
+
+       eval $(perl -V:vendorarch)
+       cp ${FILESDIR}/${P}-Apache2.pm ${D}/${vendorarch}/Apache2.pm
+
+       insinto /etc/apache2/conf/modules.d
+       doins ${FILESDIR}/75_mod_perl.conf \
+               ${FILESDIR}/apache2-mod_perl-startup.pl
+
+       # take this out once all <15 versions are out of the tree
+       sed -i -e 's/Apache::Server /Apache::ServerRec /' ${D}/etc/apache2/conf/modules.d/apache2-mod_perl-startup.pl
+
+       dodoc ${FILESDIR}/75_mod_perl.conf Changes \
+               INSTALL LICENSE README STATUS
+       cp -a docs ${D}/usr/share/doc/${PF}
+       cp -a todo ${D}/usr/share/doc/${PF}
+}