diff options
author | Michael Cummings <mcummings@gentoo.org> | 2005-08-08 09:35:43 +0000 |
---|---|---|
committer | Michael Cummings <mcummings@gentoo.org> | 2005-08-08 09:35:43 +0000 |
commit | af577a3e35c938d11a60615d8a29fc9d5ffeb8da (patch) | |
tree | 91b828c55cb3f931aa4e46c60bd890892132c0b7 /www-apache/mod_perl | |
parent | Added patch for gcc4 compatibility (and general sanity). (diff) | |
download | gentoo-2-af577a3e35c938d11a60615d8a29fc9d5ffeb8da.tar.gz gentoo-2-af577a3e35c938d11a60615d8a29fc9d5ffeb8da.tar.bz2 gentoo-2-af577a3e35c938d11a60615d8a29fc9d5ffeb8da.zip |
With help from rendhalver, split out the mod-perl2 conf/files so that both older and newer versions were available
(Portage version: 2.0.51.22-r1)
Diffstat (limited to 'www-apache/mod_perl')
-rw-r--r-- | www-apache/mod_perl/ChangeLog | 11 | ||||
-rw-r--r-- | www-apache/mod_perl/Manifest | 24 | ||||
-rw-r--r-- | www-apache/mod_perl/files/2.0.1/75_mod_perl.conf | 56 | ||||
-rw-r--r-- | www-apache/mod_perl/files/2.0.1/apache2-mod_perl-startup.pl | 24 | ||||
-rw-r--r-- | www-apache/mod_perl/files/75_mod_perl.conf | 51 | ||||
-rw-r--r-- | www-apache/mod_perl/files/apache2-mod_perl-startup.pl | 35 | ||||
-rw-r--r-- | www-apache/mod_perl/files/digest-mod_perl-2.0.1-r2 | 1 | ||||
-rw-r--r-- | www-apache/mod_perl/mod_perl-2.0.1-r1.ebuild | 8 | ||||
-rw-r--r-- | www-apache/mod_perl/mod_perl-2.0.1-r2.ebuild | 142 |
9 files changed, 275 insertions, 77 deletions
diff --git a/www-apache/mod_perl/ChangeLog b/www-apache/mod_perl/ChangeLog index d7ffae0ae393..ed77430ef065 100644 --- a/www-apache/mod_perl/ChangeLog +++ b/www-apache/mod_perl/ChangeLog @@ -1,6 +1,15 @@ # ChangeLog for www-apache/mod_perl # Copyright 2002-2005 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/www-apache/mod_perl/ChangeLog,v 1.7 2005/07/29 11:18:36 mcummings Exp $ +# $Header: /var/cvsroot/gentoo-x86/www-apache/mod_perl/ChangeLog,v 1.8 2005/08/08 09:35:43 mcummings Exp $ + +*mod_perl-2.0.1-r2 (08 Aug 2005) + + 08 Aug 2005; Michael Cummings <mcummings@gentoo.org> files/75_mod_perl.conf, + files/apache2-mod_perl-startup.pl, +files/2.0.1/75_mod_perl.conf, + +files/2.0.1/apache2-mod_perl-startup.pl, mod_perl-2.0.1-r1.ebuild, + +mod_perl-2.0.1-r2.ebuild: + With help from rendhalver, split out the mod-perl2 conf/files so that both + older and newer versions were available *mod_perl-2.0.1-r1 (29 Jul 2005) diff --git a/www-apache/mod_perl/Manifest b/www-apache/mod_perl/Manifest index 09c834788aac..229a6a528e6d 100644 --- a/www-apache/mod_perl/Manifest +++ b/www-apache/mod_perl/Manifest @@ -1,31 +1,25 @@ ------BEGIN PGP SIGNED MESSAGE----- -Hash: SHA1 - MD5 60f058ad097ebe2d34567d604b38d898 ChangeLog 9990 MD5 e2d8f1bf77722def1dd432e26455c818 metadata.xml 305 MD5 03b7e719ebc03b0bbdb703ce809b510b mod_perl-1.27-r1.ebuild 1419 MD5 77e5ef5905ee1527577ba7b9c27328d7 mod_perl-1.27-r2.ebuild 1438 MD5 e8751cafb99a9036567933b4b3c5d7d6 mod_perl-1.27-r4.ebuild 1813 MD5 f0f522c1a4dfb370f786da11f0dd6ff1 mod_perl-1.29.ebuild 2114 +MD5 7f0deba6d6f2978544e7d6672950c58a mod_perl-2.0.1-r1.ebuild 4826 MD5 8a3282dd3a16deb4647459f81ad70abe mod_perl-1.99.11.ebuild 3789 MD5 05f614537c52c42b923462192096468e mod_perl-1.99.16.ebuild 3804 -MD5 9293c485cac1e99074a4c4f7ae2f3608 mod_perl-2.0.1-r1.ebuild 4808 -MD5 4dcf07748f65bc0682e4d739ec14535d files/75_mod_perl.conf 1527 -MD5 39bbf08146125b9be7559d5c2d16b400 files/apache2-mod_perl-startup.pl 478 +MD5 7f0deba6d6f2978544e7d6672950c58a mod_perl-2.0.1-r2.ebuild 4826 +MD5 2415e6be73ba155382b34b5e2fad4951 files/75_mod_perl.conf 247 +MD5 bd8c3a03d35a34c5dc23ffdc76faa5cc files/apache2-mod_perl-startup.pl 811 MD5 05455750ba5b64e18dbcfd113193e7cd files/digest-mod_perl-1.27-r1 65 MD5 05455750ba5b64e18dbcfd113193e7cd files/digest-mod_perl-1.27-r2 65 MD5 05455750ba5b64e18dbcfd113193e7cd files/digest-mod_perl-1.27-r4 65 MD5 33270eaaa2c9bc9cef3a4a45afaeca34 files/digest-mod_perl-1.29 65 +MD5 8971805d7e08351fee8312e9f621398b files/digest-mod_perl-2.0.1-r1 67 MD5 278c6266498d8bef49b54f30774aa305 files/digest-mod_perl-1.99.11 69 MD5 13d314750ba5772dc7de4d9023d137ad files/digest-mod_perl-1.99.16 69 +MD5 0729531d2489b4ef91e247076f46ed1e files/mod_perl-2.0.1-sneak-tmpdir.patch 337 MD5 8c8ec63f03d3ffb51fa26b6df03a5710 files/mod_perl-1.99.16-sneak-tmpdir.patch 395 MD5 300bce7b1dad6fda0b18cfdbf592a828 files/mod_perl-1.99.17-Apache2.pm 1149 -MD5 0729531d2489b4ef91e247076f46ed1e files/mod_perl-2.0.1-sneak-tmpdir.patch 337 -MD5 8971805d7e08351fee8312e9f621398b files/digest-mod_perl-2.0.1-r1 67 ------BEGIN PGP SIGNATURE----- -Version: GnuPG v1.4.0 (GNU/Linux) - -iD8DBQFC6hCitG5z4I8BtQoRAqy3AKCAWqbkLlyMBY5rdTQxONpbO3osWwCePbQ+ -5QNEYeJ8W9YVBYgDkgWD25k= -=lhWa ------END PGP SIGNATURE----- +MD5 8971805d7e08351fee8312e9f621398b files/digest-mod_perl-2.0.1-r2 67 +MD5 39bbf08146125b9be7559d5c2d16b400 files/2.0.1/apache2-mod_perl-startup.pl 478 +MD5 4dcf07748f65bc0682e4d739ec14535d files/2.0.1/75_mod_perl.conf 1527 diff --git a/www-apache/mod_perl/files/2.0.1/75_mod_perl.conf b/www-apache/mod_perl/files/2.0.1/75_mod_perl.conf new file mode 100644 index 000000000000..96455b51e209 --- /dev/null +++ b/www-apache/mod_perl/files/2.0.1/75_mod_perl.conf @@ -0,0 +1,56 @@ +<IfDefine PERL> + <IfModule !mod_perl.c> + LoadModule perl_module modules/mod_perl.so + </IfModule> +</IfDefine> + +<IfModule mod_perl.c> + #PerlTrace all + PerlRequire "/etc/apache2/modules.d/apache2-mod_perl-startup.pl" + + #Provide two aliases to the same cgi-bin directory, + #to see the effects of the 2 different mod_perl modes + #for Apache2::Registry Mode + Alias /perl/ /var/www/localhost/perl/ + #for Apache2::Perlrun Mode + Alias /cgi-perl/ /var/www/localhost/perl/ + + <IfModule mod_access.c> + <Location /perl-status> + SetHandler perl-script + PerlResponseHandler Apache2::Status + Order deny,allow + Deny from all + Allow from 127.0.0.1 + </Location> + </IfModule> + + <Directory /home/*/public_html/perl> + SetHandler perl-script + PerlResponseHandler ModPerl::PerlRun + Options -Indexes ExecCGI + PerlOptions +ParseHeaders + </Directory> + + PerlModule ModPerl::Registry + #set Apache::Registry Mode for /perl Alias + # To set subdirectories to use perl set the following + # and comment the orignial: + # <Location ~ "^/perl/.*\.pl$"> + <Location "^/perl/*.pl> + SetHandler perl-script + PerlResponseHandler ModPerl::Registry + Options -Indexes ExecCGI + PerlSendHeader On + </Location> + + #set Apache::PerlRun Mode for /cgi-perl Alias + <Location /cgi-perl/*.pl> + SetHandler perl-script + PerlResponseHandler ModPerl::PerlRun + Options -Indexes ExecCGI + PerlSendHeader On + </Location> + +</ifModule> + diff --git a/www-apache/mod_perl/files/2.0.1/apache2-mod_perl-startup.pl b/www-apache/mod_perl/files/2.0.1/apache2-mod_perl-startup.pl new file mode 100644 index 000000000000..afc048ac125b --- /dev/null +++ b/www-apache/mod_perl/files/2.0.1/apache2-mod_perl-startup.pl @@ -0,0 +1,24 @@ +use lib qw(/home/httpd/perl); + +# enable if the mod_perl 1.0 compatibility is needed +#use Apache2::compat (); + +use ModPerl::Util (); #for CORE::GLOBAL::exit + +use Apache2::RequestRec (); +use Apache2::RequestIO (); +use Apache2::RequestUtil (); + +use Apache2::ServerRec (); +use Apache2::ServerUtil (); +use Apache2::Connection (); +use Apache2::Log (); + +use APR::Table (); + +use ModPerl::Registry (); + +use Apache2::Const -compile => ':common'; +use APR::Const -compile => ':common'; + +1; diff --git a/www-apache/mod_perl/files/75_mod_perl.conf b/www-apache/mod_perl/files/75_mod_perl.conf index 96455b51e209..4933e9af9fef 100644 --- a/www-apache/mod_perl/files/75_mod_perl.conf +++ b/www-apache/mod_perl/files/75_mod_perl.conf @@ -1,56 +1,11 @@ <IfDefine PERL> <IfModule !mod_perl.c> - LoadModule perl_module modules/mod_perl.so + LoadModule perl_module extramodules/mod_perl.so </IfModule> </IfDefine> <IfModule mod_perl.c> - #PerlTrace all - PerlRequire "/etc/apache2/modules.d/apache2-mod_perl-startup.pl" - - #Provide two aliases to the same cgi-bin directory, - #to see the effects of the 2 different mod_perl modes - #for Apache2::Registry Mode - Alias /perl/ /var/www/localhost/perl/ - #for Apache2::Perlrun Mode - Alias /cgi-perl/ /var/www/localhost/perl/ - - <IfModule mod_access.c> - <Location /perl-status> - SetHandler perl-script - PerlResponseHandler Apache2::Status - Order deny,allow - Deny from all - Allow from 127.0.0.1 - </Location> - </IfModule> - - <Directory /home/*/public_html/perl> - SetHandler perl-script - PerlResponseHandler ModPerl::PerlRun - Options -Indexes ExecCGI - PerlOptions +ParseHeaders - </Directory> - - PerlModule ModPerl::Registry - #set Apache::Registry Mode for /perl Alias - # To set subdirectories to use perl set the following - # and comment the orignial: - # <Location ~ "^/perl/.*\.pl$"> - <Location "^/perl/*.pl> - SetHandler perl-script - PerlResponseHandler ModPerl::Registry - Options -Indexes ExecCGI - PerlSendHeader On - </Location> - - #set Apache::PerlRun Mode for /cgi-perl Alias - <Location /cgi-perl/*.pl> - SetHandler perl-script - PerlResponseHandler ModPerl::PerlRun - Options -Indexes ExecCGI - PerlSendHeader On - </Location> - + #PerlTrace all + PerlRequire "/etc/apache2/conf/modules.d/apache2-mod_perl-startup.pl" </ifModule> diff --git a/www-apache/mod_perl/files/apache2-mod_perl-startup.pl b/www-apache/mod_perl/files/apache2-mod_perl-startup.pl index afc048ac125b..7e784cab5f04 100644 --- a/www-apache/mod_perl/files/apache2-mod_perl-startup.pl +++ b/www-apache/mod_perl/files/apache2-mod_perl-startup.pl @@ -1,24 +1,41 @@ +use Apache2 (); + use lib qw(/home/httpd/perl); # enable if the mod_perl 1.0 compatibility is needed -#use Apache2::compat (); +use Apache::compat (); +# preload all mp2 modules +use ModPerl::MethodLookup; +ModPerl::MethodLookup::preload_all_modules(); use ModPerl::Util (); #for CORE::GLOBAL::exit -use Apache2::RequestRec (); -use Apache2::RequestIO (); -use Apache2::RequestUtil (); +use Apache::RequestRec (); +use Apache::RequestIO (); +use Apache::RequestUtil (); -use Apache2::ServerRec (); -use Apache2::ServerUtil (); -use Apache2::Connection (); -use Apache2::Log (); +use Apache::ServerRec (); +use Apache::ServerUtil (); +use Apache::Connection (); +use Apache::Log (); use APR::Table (); use ModPerl::Registry (); -use Apache2::Const -compile => ':common'; +use Apache::Const -compile => ':common'; use APR::Const -compile => ':common'; +# end of mod_perl2 stuff + +#use Apache::Session (); +use CGI (); +use CGI::Cookie (); +use DBI; +#use Apache::Perldoc (); +use Apache::Status (); +use HTML::Mason (); +use HTML::Mason::ApacheHandler (); +use MasonX::Apache2Handler (); + 1; diff --git a/www-apache/mod_perl/files/digest-mod_perl-2.0.1-r2 b/www-apache/mod_perl/files/digest-mod_perl-2.0.1-r2 new file mode 100644 index 000000000000..9357f7c53bb0 --- /dev/null +++ b/www-apache/mod_perl/files/digest-mod_perl-2.0.1-r2 @@ -0,0 +1 @@ +MD5 fd9cb8ce794bb3ae3c8c288e18bf5b8f mod_perl-2.0.1.tar.gz 3694355 diff --git a/www-apache/mod_perl/mod_perl-2.0.1-r1.ebuild b/www-apache/mod_perl/mod_perl-2.0.1-r1.ebuild index 39f39205c448..df77e5342d1e 100644 --- a/www-apache/mod_perl/mod_perl-2.0.1-r1.ebuild +++ b/www-apache/mod_perl/mod_perl-2.0.1-r1.ebuild @@ -1,6 +1,6 @@ # Copyright 1999-2005 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.1-r1.ebuild,v 1.1 2005/07/29 11:18:36 mcummings Exp $ +# $Header: /var/cvsroot/gentoo-x86/www-apache/mod_perl/mod_perl-2.0.1-r1.ebuild,v 1.2 2005/08/08 09:35:43 mcummings Exp $ inherit apache-module perl-module eutils DESCRIPTION="An embedded Perl interpreter for Apache2" @@ -129,10 +129,10 @@ src_install() { #cp ${FILESDIR}/${P}-Apache2.pm ${D}/${vendorarch}/Apache2.pm insinto /etc/apache2/modules.d - doins ${FILESDIR}/75_mod_perl.conf \ - ${FILESDIR}/apache2-mod_perl-startup.pl + doins ${FILESDIR}/${PV}/75_mod_perl.conf \ + ${FILESDIR}/${PV}/apache2-mod_perl-startup.pl - dodoc ${FILESDIR}/75_mod_perl.conf Changes \ + dodoc ${FILESDIR}/${PV}/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} diff --git a/www-apache/mod_perl/mod_perl-2.0.1-r2.ebuild b/www-apache/mod_perl/mod_perl-2.0.1-r2.ebuild new file mode 100644 index 000000000000..bdf34746c95d --- /dev/null +++ b/www-apache/mod_perl/mod_perl-2.0.1-r2.ebuild @@ -0,0 +1,142 @@ +# Copyright 1999-2005 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.1-r2.ebuild,v 1.1 2005/08/08 09:35:43 mcummings Exp $ + +inherit apache-module perl-module eutils +DESCRIPTION="An embedded Perl interpreter for Apache2" +SRC_URI="mirror://cpan/authors/id/G/GO/GOZER/${P}.tar.gz" +HOMEPAGE="http://perl.apache.org/" + +LICENSE="GPL-2" +KEYWORDS="~x86 ~amd64 ~alpha ~ia64 ~sparc ~ppc ~ppc64" +IUSE="" +SLOT="1" + +# see bug 30087 for why sudo is in here +need_apache2 + +DEPEND="!dev-perl/Apache-Test + dev-lang/perl + >=perl-core/CGI-3.08 + >=dev-perl/Compress-Zlib-1.09 + >=net-www/apache-2.0.47 + app-admin/sudo" + +APACHE2_MOD_CONF="75_${PN}.conf apache2-mod_perl-startup.pl" +DOCFILES="Changes INSTALL LICENSE README STATUS" +APACHE2_MOD_DEFINE="PERL" + +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. + + # rendhalver - this got redone for 2.0.1 and seems to fix the make test problems + epatch ${FILESDIR}/${P}-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 \ + CCFLAGS="${CFLAGS} -fPIC" \ + TMPDIR=${T} \ + 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/lib/apache2/modules + make install \ + MODPERL_AP_LIBEXECDIR=${D}/usr/lib/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 -a docs ${D}/usr/share/doc/${PF} + cp -a 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 +} |