* [gentoo-commits] repo/gentoo:master commit in: www-apache/mod_perl/, www-apache/mod_perl/files/
@ 2015-12-29 9:10 Tobias Klausmann
0 siblings, 0 replies; 9+ messages in thread
From: Tobias Klausmann @ 2015-12-29 9:10 UTC (permalink / raw
To: gentoo-commits
commit: ff626b3e8835f83406c28bdfee3f213b75d192ab
Author: Tobias Klausmann <klausman <AT> gentoo <DOT> org>
AuthorDate: Tue Dec 29 09:08:13 2015 +0000
Commit: Tobias Klausmann <klausman <AT> gentoo <DOT> org>
CommitDate: Tue Dec 29 09:09:48 2015 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ff626b3e
www-apache/mod_perl Fix Perl initialization
Newer (>=5.22) versions of Perl require initialization to be handled
differently. The added patch comes from mod_perl's SVN, commit #1717474,
plus a few adaptations to apply cleanly.
Gentoo-Bug: 554794
Package-Manager: portage-2.2.26
.../mod_perl/files/mod_perl_init_b554794.patch | 241 +++++++++++++++++++++
www-apache/mod_perl/mod_perl-2.0.8-r3.ebuild | 165 ++++++++++++++
2 files changed, 406 insertions(+)
diff --git a/www-apache/mod_perl/files/mod_perl_init_b554794.patch b/www-apache/mod_perl/files/mod_perl_init_b554794.patch
new file mode 100644
index 0000000..b33a34a
--- /dev/null
+++ b/www-apache/mod_perl/files/mod_perl_init_b554794.patch
@@ -0,0 +1,241 @@
+--- a/src/modules/perl/modperl_env.c.orig 2015-12-28 11:42:26.604632457 +0100
++++ b/src/modules/perl/modperl_env.c 2015-12-28 12:36:35.305228288 +0100
+@@ -120,6 +120,7 @@
+ const apr_array_header_t *array;
+ apr_table_entry_t *elts;
+
++ modperl_env_init(aTHX);
+ modperl_env_untie(mg_flags);
+
+ array = apr_table_elts(table);
+@@ -431,13 +432,11 @@
+ }
+
+ /* to store the original virtual tables
+- * these are global, not per-interpreter
++ * handy access to perl's original virtual tables
+ */
+-static MGVTBL MP_PERL_vtbl_env;
+-static MGVTBL MP_PERL_vtbl_envelem;
+
+ #define MP_PL_vtbl_call(name, meth) \
+- MP_PERL_vtbl_##name.svt_##meth(aTHX_ sv, mg)
++ PL_vtbl_##name.svt_##meth(aTHX_ sv, mg)
+
+ #define MP_dENV_KEY \
+ STRLEN klen; \
+@@ -534,6 +533,26 @@
+ return 0;
+ }
+
++static int modperl_env_magic_copy(pTHX_ SV *sv, MAGIC *mg, SV *nsv, const char *name, I32 namlen)
++{
++ MP_TRACE_e(MP_FUNC, "setting up %%ENV element magic");
++ sv_magicext(nsv, mg->mg_obj, toLOWER(mg->mg_type), &MP_vtbl_envelem, name, namlen);
++
++ return 1;
++}
++
++static int modperl_env_magic_local_all(pTHX_ SV *nsv, MAGIC *mg)
++{
++ MAGIC *nmg;
++ MP_TRACE_e(MP_FUNC, "localizing %%ENV");
++ nmg = sv_magicext(nsv, mg->mg_obj, mg->mg_type, &MP_vtbl_env, (char*)NULL, 0);
++ nmg->mg_ptr = mg->mg_ptr;
++ nmg->mg_flags |= MGf_COPY;
++ nmg->mg_flags |= MGf_LOCAL;
++
++ return 1;
++}
++
+ static int modperl_env_magic_set(pTHX_ SV *sv, MAGIC *mg)
+ {
+ request_rec *r = (request_rec *)EnvMgObj;
+@@ -625,15 +644,18 @@
+ #endif
+
+ /* override %ENV virtual tables with our own */
+-static MGVTBL MP_vtbl_env = {
++MGVTBL MP_vtbl_env = {
+ 0,
+ modperl_env_magic_set_all,
+ 0,
+ modperl_env_magic_clear_all,
+- 0
++ 0,
++ modperl_env_magic_copy,
++ 0,
++ modperl_env_magic_local_all
+ };
+
+-static MGVTBL MP_vtbl_envelem = {
++MGVTBL MP_vtbl_envelem = {
+ 0,
+ modperl_env_magic_set,
+ 0,
+@@ -641,20 +663,62 @@
+ 0
+ };
+
+-void modperl_env_init(void)
++void modperl_env_init(pTHX)
+ {
+- /* save originals */
+- StructCopy(&PL_vtbl_env, &MP_PERL_vtbl_env, MGVTBL);
+- StructCopy(&PL_vtbl_envelem, &MP_PERL_vtbl_envelem, MGVTBL);
++ MAGIC *mg;
+
+- /* replace with our versions */
+- StructCopy(&MP_vtbl_env, &PL_vtbl_env, MGVTBL);
+- StructCopy(&MP_vtbl_envelem, &PL_vtbl_envelem, MGVTBL);
++ /* Find the 'E' magic on %ENV */
++ if (!my_perl)
++ return;
++ if (!PL_envgv)
++ return;
++ if (!SvRMAGICAL(ENVHV))
++ return;
++ mg = mg_find((const SV *)ENVHV, PERL_MAGIC_env);
++ if (!mg)
++ return;
++
++ /* Ignore it if it isn't perl's original version */
++ if (mg->mg_virtual != &PL_vtbl_env)
++ return;
++
++ MP_TRACE_e(MP_FUNC, "env_init - ptr: %x obj: %x flags: %x",
++ mg->mg_ptr, mg->mg_obj, mg->mg_flags);
++
++ /* Remove it */
++ mg_free_type((SV*)ENVHV, PERL_MAGIC_env);
++
++ /* Add our version instead */
++ mg = sv_magicext((SV*)ENVHV, (SV*)NULL, PERL_MAGIC_env, &MP_vtbl_env, (char*)NULL, 0);
++ mg->mg_flags |= MGf_COPY;
++ mg->mg_flags |= MGf_LOCAL;
+ }
+
+-void modperl_env_unload(void)
++void modperl_env_unload(pTHX)
+ {
+- /* restore originals */
+- StructCopy(&MP_PERL_vtbl_env, &PL_vtbl_env, MGVTBL);
+- StructCopy(&MP_PERL_vtbl_envelem, &PL_vtbl_envelem, MGVTBL);
++ MAGIC *mg;
++
++ /* Find the 'E' magic on %ENV */
++ if (!my_perl)
++ return;
++ if (!PL_envgv)
++ return;
++ if (!SvRMAGICAL(ENVHV))
++ return;
++ mg = mg_find((const SV *)ENVHV, PERL_MAGIC_env);
++ if (!mg)
++ return;
++
++ /* Ignore it if it isn't our version */
++ if (mg->mg_virtual != &MP_vtbl_env)
++ return;
++
++ MP_TRACE_e(MP_FUNC, "env_unload - ptr: %x obj: %x flags: %x",
++ mg->mg_ptr, mg->mg_obj, mg->mg_flags);
++
++ /* Remove it */
++ mg_free_type((SV*)ENVHV, PERL_MAGIC_env);
++
++ /* Restore perl's original version */
++ sv_magicext((SV*)ENVHV, (SV*)NULL, PERL_MAGIC_env, &PL_vtbl_env, (char*)NULL, 0);
+ }
+--- a/src/modules/perl/modperl_env.h.orig 2015-12-28 11:42:34.868727490 +0100
++++ b/src/modules/perl/modperl_env.h 2015-12-28 12:37:47.730041274 +0100
+@@ -28,7 +28,7 @@
+ MP_magical_tie(ENVHV, mg_flags)
+
+ #define modperl_envelem_tie(sv, key, klen) \
+- sv_magic(sv, (SV *)NULL, 'e', key, klen)
++ sv_magicext(sv, (SV *)NULL, PERL_MAGIC_envelem, &MP_vtbl_envelem, key, klen)
+
+ void modperl_env_hash_keys(pTHX);
+
+@@ -58,8 +58,11 @@
+
+ void modperl_env_request_untie(pTHX_ request_rec *r);
+
+-void modperl_env_init(void);
++void modperl_env_init(pTHX);
+
+-void modperl_env_unload(void);
++void modperl_env_unload(pTHX);
++
++MGVTBL MP_vtbl_env;
++MGVTBL MP_vtbl_envelem;
+
+ #endif /* MODPERL_ENV_H */
+Index: trunk/src/modules/perl/modperl_perl.c
+===================================================================
+--- trunk/src/modules/perl/modperl_perl.c (revision 1717473)
++++ trunk/src/modules/perl/modperl_perl.c (revision 1717474)
+@@ -181,6 +181,8 @@
+ }
+ }
+
++ modperl_env_unload(perl);
++
+ perl_destruct(perl);
+
+ /* XXX: big bug in 5.6.1 fixed in 5.7.2+
+Index: trunk/src/modules/perl/mod_perl.c
+===================================================================
+--- trunk/src/modules/perl/mod_perl.c (revision 1717473)
++++ trunk/src/modules/perl/mod_perl.c (revision 1717474)
+@@ -262,6 +262,8 @@
+ exit(1);
+ }
+
++ modperl_env_init(aTHX);
++
+ /* suspend END blocks to be run at server shutdown */
+ endav = PL_endav;
+ PL_endav = (AV *)NULL;
+@@ -576,9 +578,6 @@
+ /* modifies PL_ppaddr */
+ modperl_perl_pp_set_all();
+
+- /* modifies PL_vtbl_env{elem} */
+- modperl_env_init();
+-
+ return APR_SUCCESS;
+ }
+
+@@ -597,8 +596,6 @@
+
+ MP_TRACE_i(MP_FUNC, "mod_perl sys term");
+
+- modperl_env_unload();
+-
+ modperl_perl_pp_unset_all();
+
+ PERL_SYS_TERM();
+Index: trunk/t/response/TestModperl/env.pm
+===================================================================
+--- trunk/t/response/TestModperl/env.pm (revision 1717473)
++++ trunk/t/response/TestModperl/env.pm (revision 1717474)
+@@ -15,7 +15,7 @@
+ sub handler {
+ my $r = shift;
+
+- plan $r, tests => 23 + keys(%ENV);
++ plan $r, tests => 23 + 3 * keys(%ENV);
+
+ my $env = $r->subprocess_env;
+
+@@ -75,6 +75,8 @@
+ for my $key (sort keys %ENV) {
+ eval { delete $ENV{$key}; };
+ ok t_cmp($@, '', $key);
++ ok t_cmp($ENV{$key}, undef, "ENV{$key} is empty");
++ ok t_cmp($env->get($key), undef, "subprocess_env($key) is empty");
+ }
+
+ Apache2::Const::OK;
diff --git a/www-apache/mod_perl/mod_perl-2.0.8-r3.ebuild b/www-apache/mod_perl/mod_perl-2.0.8-r3.ebuild
new file mode 100644
index 0000000..bdd6215
--- /dev/null
+++ b/www-apache/mod_perl/mod_perl-2.0.8-r3.ebuild
@@ -0,0 +1,165 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+inherit depend.apache apache-module perl-module eutils
+
+DESCRIPTION="An embedded Perl interpreter for Apache2"
+HOMEPAGE="https://projects.apache.org/projects/mod_perl.html"
+SRC_URI="mirror://apache/perl/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="1"
+KEYWORDS=""
+IUSE="debug"
+
+# Make sure we always use the latest Apache-Test version or even check the
+# version of the bundled Apache-Test!
+#
+# We need both, apache and perl but either apache without threads or perl with
+# ithreads, bug 373943
+DEPEND="
+ >=dev-perl/Apache-Test-1.360
+ >=dev-perl/CGI-3.08
+ dev-lang/perl[ithreads]
+ www-servers/apache
+"
+RDEPEND="${DEPEND}"
+PDEPEND=">=dev-perl/Apache-Reload-0.11
+ >=dev-perl/Apache-SizeLimit-0.95"
+
+APACHE2_MOD_FILE="${S}/src/modules/perl/mod_perl.so"
+APACHE2_MOD_CONF="2.0.3/75_${PN}"
+APACHE2_MOD_DEFINE="PERL"
+
+SRC_TEST="do"
+
+DOCFILES="Changes INSTALL README STATUS"
+
+need_apache2_4
+
+src_prepare() {
+ perl-module_src_prepare
+
+ # 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"
+
+ # rendhalver - this got redone for 2.0.1 and seems to fix the make test problems
+ epatch "${FILESDIR}"/${PN}-2.0.1-sneak-tmpdir.patch
+ epatch "${FILESDIR}"/${PN}-2.0.4-inline.patch #550244
+
+ # bug 352724
+ epatch "${FILESDIR}/${P}-bundled-Apache-Test.patch"
+ rm -rf Apache-{Test,Reload,SizeLimit}/ lib/Bundle/
+ sed -i \
+ -e 's:^Apache-\(Reload\|SizeLimit\|Test\).*::' \
+ -e 's:^lib/Bundle/Apache2.pm::' \
+ MANIFEST || die
+
+ # 410453
+ epatch "${FILESDIR}/use-client_ip-client_add-instead-of-remote_ip-remote.patch"
+ epatch "${FILESDIR}/use-log.level-instead-of-loglevel.patch"
+
+ # 554794
+ epatch "${FILESDIR}/mod_perl_init_b554794.patch"
+}
+
+src_configure() {
+ local debug=$(usex debug 1 0)
+ perl Makefile.PL \
+ PREFIX="${EPREFIX}"/usr \
+ INSTALLDIRS=vendor \
+ MP_USE_DSO=1 \
+ MP_APXS=${APXS} \
+ MP_APR_CONFIG=/usr/bin/apr-1-config \
+ MP_TRACE=${debug} \
+ MP_DEBUG=${debug} \
+ || die
+}
+
+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}" "${T}"
+ fi
+
+ # this does not || die because of bug 21325. kudos to smark for
+ # the idea of setting HOME.
+ TMPDIR="${T}" HOME="${T}/" perl-module_src_test
+}
+
+src_install() {
+ apache-module_src_install
+
+ default
+#emake DESTDIR="${D}" install || die
+
+ # TODO: add some stuff from docs/ back?
+
+ # rendhalver - fix the perllocal.pod that gets installed
+ # it seems to me that this has been getting installed for ages
+ perl_delete_localpod
+ # Remove empty .bs files as well
+ perl_delete_packlist
+
+ insinto "${APACHE_MODULES_CONFDIR}"
+ doins "${FILESDIR}"/2.0.3/apache2-mod_perl-startup.pl
+
+ # 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.
+
+ # Sorry for this evil hack...
+ perl_set_version # just to be sure...
+ sed -i \
+ -e "s,-I${S}/[^[:space:]\"\']\+[[:space:]]\?,,g" \
+ -e "s,-typemap[[:space:]]${S}/[^[:space:]\"\']\+[[:space:]]\?,,g" \
+ -e "s,${S}\(/[^[:space:]\"\']\+\)\?,/,g" \
+ "${D}/${VENDOR_ARCH}/Apache2/BuildConfig.pm" || die
+
+ for fname in $(find "${D}" -type f -not -name '*.so'); do
+ grep -q "\(${D}\|${S}\)" "${fname}" && ewarn "QA: File contains a temporary path ${fname}"
+ sed -i -e "s:\(${D}\|${S}\):/:g" ${fname}
+ done
+ # All the rest
+ perl_remove_temppath
+}
+
+pkg_postinst() {
+ apache-module_pkg_postinst
+}
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: www-apache/mod_perl/, www-apache/mod_perl/files/
@ 2016-01-09 20:10 Andreas Hüttel
0 siblings, 0 replies; 9+ messages in thread
From: Andreas Hüttel @ 2016-01-09 20:10 UTC (permalink / raw
To: gentoo-commits
commit: 26dbb9c470dc0126d8eb9cbb26a3ff4818069915
Author: Andreas K. Hüttel <dilfridge <AT> gentoo <DOT> org>
AuthorDate: Sat Jan 9 20:09:54 2016 +0000
Commit: Andreas Hüttel <dilfridge <AT> gentoo <DOT> org>
CommitDate: Sat Jan 9 20:10:13 2016 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=26dbb9c4
Add a snapshot from upstream SVN
Package-Manager: portage-2.2.26
www-apache/mod_perl/Manifest | 1 +
...perl-2.0.10_pre201601-bundled-Apache-Test.patch | 123 +++++++++++++++
.../mod_perl/mod_perl-2.0.10_pre201601.ebuild | 165 +++++++++++++++++++++
3 files changed, 289 insertions(+)
diff --git a/www-apache/mod_perl/Manifest b/www-apache/mod_perl/Manifest
index 74557b1..3c73173 100644
--- a/www-apache/mod_perl/Manifest
+++ b/www-apache/mod_perl/Manifest
@@ -1 +1,2 @@
+DIST mod_perl-2.0.10_pre201601.tar.gz 3854229 SHA256 a89c23b66b21c600b74a48125c02c91159c07b08cc07fb4f55015e8e07713697 SHA512 04e57e79031374f3ec432e950fb9f79d1202da9dfc0d86a5137b7346c18f313a4e58ecfffed51efd7e6494baec86b22a42d6712ce5f7824f9f479c05bac00659 WHIRLPOOL 5d37b067aa945cafc0cc7a1f1b27257d8409f6804f22880ae7fd6c21424bbd2c07bace483d95590d255678725f67d081741978cff24cfc91716c08294547e622
DIST mod_perl-2.0.8.tar.gz 3790026 SHA256 35dc1b7a40a90a395ce88bba2df84f22289975f34d1757de6d715560c20a20e6 SHA512 d5090651699c4436fe8d0a525226543c971aa05db337dc1b1e89023183df1c7dd8b8775f3a0f7d3b9ec40e8c058ac23bd24141cf15a5fe5806226d634dfb4c87 WHIRLPOOL d22e1c353339b08ad752e9f9c7fc0ec4d6a173c4cd3004380b14098e1028737e0eb69d2f56dbe0da3cbfb01b31232c5073d7edb28bf4fed6b2ccd67b09ad7080
diff --git a/www-apache/mod_perl/files/mod_perl-2.0.10_pre201601-bundled-Apache-Test.patch b/www-apache/mod_perl/files/mod_perl-2.0.10_pre201601-bundled-Apache-Test.patch
new file mode 100644
index 0000000..af53cad
--- /dev/null
+++ b/www-apache/mod_perl/files/mod_perl-2.0.10_pre201601-bundled-Apache-Test.patch
@@ -0,0 +1,123 @@
+diff -ruN mod_perl-2.0.10_pre201601.orig/Makefile.PL mod_perl-2.0.10_pre201601/Makefile.PL
+--- mod_perl-2.0.10_pre201601.orig/Makefile.PL 2015-05-13 10:01:18.000000000 +0200
++++ mod_perl-2.0.10_pre201601/Makefile.PL 2016-01-09 21:02:00.000000000 +0100
+@@ -25,7 +25,7 @@
+
+ }
+
+-use lib qw(lib Apache-Test/lib);
++use lib qw(lib);
+
+ use Config;
+ use File::Spec::Functions;
+@@ -122,15 +122,6 @@
+
+ sub configure {
+
+- # mod_perl test suite relies on having Apache-Test bundled with
+- # the mod_perl source, since any pre-installed version may not do
+- # the right thing
+- unless (-d "Apache-Test") {
+- error "Can't find a sub-directory Apache-Test. " .
+- "Make sure that you are using a complete source distribution";
+- exit 1;
+- }
+-
+ set_modperl_version();
+
+ if ($old_modperl_version) {
+@@ -853,14 +844,9 @@
+ run_subtests ::
+ cd ModPerl-Registry && $(MAKE) test
+
+-run_subtests ::
+- cd Apache-Reload && $(MAKE) test
+-
+ EOF
+
+ $preamble .= <<'EOF' unless $build->mpm_is_threaded();
+-run_subtests ::
+- cd Apache-SizeLimit && $(MAKE) test
+
+ EOF
+
+@@ -871,42 +857,6 @@
+ return $preamble;
+ }
+
+-sub MY::postamble {
+- my $self = shift;
+-
+- my $string = $self->ModPerl::BuildMM::MY::postamble;
+-
+- if (!WIN32) {
+- $string .= <<'EOF';
+-rpm: dist
+- @[ -d $(PWD)/rpm ] || mkdir $(PWD)/rpm
+- rpmbuild -ta --define "_rpmdir $(PWD)/rpm" \
+- --define "_srcrpmdir $(PWD)/rpm" \
+- $(DISTVNAME).tar.gz
+- @mv $(PWD)/rpm/*/*.rpm $(PWD)/rpm/
+- @rm -rf $(PWD)/rpm/*/
+-
+-EOF
+- }
+-
+- $string .= <<'EOF';
+-mydist : Apache-Test/META.yml mod_perl.spec manifest tardist
+-
+-mod_perl.spec: build/make_rpm_spec
+- $(PERL) build/make_rpm_spec
+-
+-Apache-Test/META.yml:
+- cd Apache-Test && make metafile
+-
+-tag :
+- svn copy https://svn.apache.org/repos/asf/perl/modperl/trunk https://svn.apache.org/repos/asf/perl/modperl/branches/release/$(VERSION_SYM)
+- svn copy https://svn.apache.org/repos/asf/perl/modperl/branches/release/$(VERSION_SYM) https://svn.apache.org/repos/asf/perl/modperl/tags/$(VERSION_SYM)
+- svn copy https://svn.apache.org/repos/asf/perl/modperl/docs/trunk https://svn.apache.org/repos/asf/perl/modperl/docs/tags/$(VERSION_SYM)
+-EOF
+-
+- return $string;
+-}
+-
+ # this is a workaround so that ModPerl::MM will move MY::constants
+ # away, and Apache-Test/Makefile.PL which has its own MY::constants
+ # won't get complaints on MY::constants redefined
+diff -ruN mod_perl-2.0.10_pre201601.orig/lib/ModPerl/BuildMM.pm mod_perl-2.0.10_pre201601/lib/ModPerl/BuildMM.pm
+--- mod_perl-2.0.10_pre201601.orig/lib/ModPerl/BuildMM.pm 2015-04-01 18:19:18.000000000 +0200
++++ mod_perl-2.0.10_pre201601/lib/ModPerl/BuildMM.pm 2016-01-09 21:04:34.000000000 +0100
+@@ -39,12 +39,10 @@
+ ModPerl::MM::override_eu_mm_mv_all_methods(@methods);
+ use strict 'refs';
+
+-my $apache_test_dir = catdir Cwd::getcwd(), "Apache-Test", "lib";
+-
+ #to override MakeMaker MOD_INSTALL macro
+ sub mod_install {
+ q{$(PERL) -I$(INST_LIB) -I$(PERL_LIB) \\}."\n" .
+- qq{-I$apache_test_dir -MModPerl::BuildMM \\}."\n" .
++ qq{-MModPerl::BuildMM \\}."\n" .
+ q{-e "ExtUtils::Install::install({@ARGV},'$(VERBINST)',0,'$(UNINST)');"}."\n";
+ }
+
+@@ -271,7 +269,7 @@
+
+ push @target,
+ '$(FULLPERL) -I$(INST_LIB) ' .
+- "-I$apache_test_dir -MModPerl::BuildMM " .
++ "-MModPerl::BuildMM " .
+ "-e ModPerl::BuildMM::glue_pod $pm $podpath $blib";
+
+ # Win32 doesn't normally install man pages
+diff -ruN mod_perl-2.0.10_pre201601.orig/lib/ModPerl/Manifest.pm mod_perl-2.0.10_pre201601/lib/ModPerl/Manifest.pm
+--- mod_perl-2.0.10_pre201601.orig/lib/ModPerl/Manifest.pm 2015-05-13 09:23:09.000000000 +0200
++++ mod_perl-2.0.10_pre201601/lib/ModPerl/Manifest.pm 2016-01-09 21:04:50.000000000 +0100
+@@ -119,7 +119,6 @@
+ t/apr-ext/perlio
+ # PAUSE breaks if a dist has more than one META.yml. the top-level
+ # META.yml already excludes Apache-Test from indexing
+-Apache-Test/META.yml
+ # exclude Apache-Test/MANIFEST since it confuses the mp2 build (e.g it
+ # wants Apache-Test/META.yml which we don't supply, see above)
+ Apache-Test/MANIFEST
diff --git a/www-apache/mod_perl/mod_perl-2.0.10_pre201601.ebuild b/www-apache/mod_perl/mod_perl-2.0.10_pre201601.ebuild
new file mode 100644
index 0000000..722d40c
--- /dev/null
+++ b/www-apache/mod_perl/mod_perl-2.0.10_pre201601.ebuild
@@ -0,0 +1,165 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit depend.apache apache-module perl-module eutils
+
+DESCRIPTION="An embedded Perl interpreter for Apache2"
+HOMEPAGE="https://projects.apache.org/projects/mod_perl.html"
+#SRC_URI="mirror://apache/perl/${P}.tar.gz"
+SRC_URI="http://dev.gentoo.org/~dilfridge/distfiles/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="1"
+KEYWORDS=""
+IUSE="debug"
+
+# Make sure we always use the latest Apache-Test version or even check the
+# version of the bundled Apache-Test!
+#
+# We need both, apache and perl but either apache without threads or perl with
+# ithreads, bug 373943
+DEPEND="
+ >=dev-perl/Apache-Test-1.360
+ >=dev-perl/CGI-3.08
+ dev-lang/perl[ithreads]
+ www-servers/apache
+"
+RDEPEND="${DEPEND}"
+PDEPEND=">=dev-perl/Apache-Reload-0.11
+ >=dev-perl/Apache-SizeLimit-0.95"
+
+APACHE2_MOD_FILE="${S}/src/modules/perl/mod_perl.so"
+APACHE2_MOD_CONF="2.0.3/75_${PN}"
+APACHE2_MOD_DEFINE="PERL"
+
+SRC_TEST="do"
+
+DOCFILES="Changes INSTALL README STATUS"
+
+need_apache2
+
+src_prepare() {
+ perl-module_src_prepare
+
+ # 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"
+
+ # rendhalver - this got redone for 2.0.1 and seems to fix the make test problems
+ epatch "${FILESDIR}"/${PN}-2.0.1-sneak-tmpdir.patch
+ epatch "${FILESDIR}"/${PN}-2.0.4-inline.patch #550244
+
+ # bug 352724
+ epatch "${FILESDIR}/${P}-bundled-Apache-Test.patch"
+ rm -rf Apache-{Test,Reload,SizeLimit}/ lib/Bundle/
+
+# sed -i \
+# -e 's:^Apache-\(Reload\|SizeLimit\|Test\).*::' \
+# -e 's:^lib/Bundle/Apache2.pm::' \
+# MANIFEST || die
+# uncomment this once we're packaging a proper release again
+
+ # 410453
+ epatch "${FILESDIR}/use-client_ip-client_add-instead-of-remote_ip-remote.patch"
+ epatch "${FILESDIR}/use-log.level-instead-of-loglevel.patch"
+}
+
+src_configure() {
+ local debug=$(usex debug 1 0)
+ perl Makefile.PL \
+ PREFIX="${EPREFIX}"/usr \
+ INSTALLDIRS=vendor \
+ MP_USE_DSO=1 \
+ MP_APXS=${APXS} \
+ MP_APR_CONFIG=/usr/bin/apr-1-config \
+ MP_TRACE=${debug} \
+ MP_DEBUG=${debug} \
+ || die
+}
+
+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}" "${T}"
+ fi
+
+ # this does not || die because of bug 21325. kudos to smark for
+ # the idea of setting HOME.
+ TMPDIR="${T}" HOME="${T}/" perl-module_src_test
+}
+
+src_install() {
+ apache-module_src_install
+
+ default
+#emake DESTDIR="${D}" install || die
+
+ # TODO: add some stuff from docs/ back?
+
+ # rendhalver - fix the perllocal.pod that gets installed
+ # it seems to me that this has been getting installed for ages
+ perl_delete_localpod
+ # Remove empty .bs files as well
+ perl_delete_packlist
+
+ insinto "${APACHE_MODULES_CONFDIR}"
+ doins "${FILESDIR}"/2.0.3/apache2-mod_perl-startup.pl
+
+ # 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.
+
+ # Sorry for this evil hack...
+ perl_set_version # just to be sure...
+ sed -i \
+ -e "s,-I${S}/[^[:space:]\"\']\+[[:space:]]\?,,g" \
+ -e "s,-typemap[[:space:]]${S}/[^[:space:]\"\']\+[[:space:]]\?,,g" \
+ -e "s,${S}\(/[^[:space:]\"\']\+\)\?,/,g" \
+ "${D}/${VENDOR_ARCH}/Apache2/BuildConfig.pm" || die
+
+ for fname in $(find "${D}" -type f -not -name '*.so'); do
+ grep -q "\(${D}\|${S}\)" "${fname}" && ewarn "QA: File contains a temporary path ${fname}"
+ sed -i -e "s:\(${D}\|${S}\):/:g" ${fname}
+ done
+ # All the rest
+ perl_remove_temppath
+}
+
+pkg_postinst() {
+ apache-module_pkg_postinst
+}
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: www-apache/mod_perl/, www-apache/mod_perl/files/
@ 2016-10-01 12:00 Andreas Hüttel
0 siblings, 0 replies; 9+ messages in thread
From: Andreas Hüttel @ 2016-10-01 12:00 UTC (permalink / raw
To: gentoo-commits
commit: 5b1864cdd9a0e05afe4f401698f7f7dffab97f9f
Author: Andreas K. Hüttel <dilfridge <AT> gentoo <DOT> org>
AuthorDate: Sat Oct 1 11:46:29 2016 +0000
Commit: Andreas Hüttel <dilfridge <AT> gentoo <DOT> org>
CommitDate: Sat Oct 1 11:59:54 2016 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5b1864cd
www-apache/mod_perl: Version bump to 2.0.10-rc1 with more or less complete rework; tests should pass now
Package-Manager: portage-2.3.1
www-apache/mod_perl/Manifest | 1 +
.../mod_perl-2.0.10_rc1-Gentoo-not-Unix.patch | 36 ++++++
.../mod_perl-2.0.10_rc1-bundled-Apache-Test.patch | 80 ++++++++++++
www-apache/mod_perl/mod_perl-2.0.10_rc1.ebuild | 137 +++++++++++++++++++++
4 files changed, 254 insertions(+)
diff --git a/www-apache/mod_perl/Manifest b/www-apache/mod_perl/Manifest
index 3c73173..f57c1e5 100644
--- a/www-apache/mod_perl/Manifest
+++ b/www-apache/mod_perl/Manifest
@@ -1,2 +1,3 @@
+DIST mod_perl-2.0.10-rc1.tar.gz 3845157 SHA256 d01da2b8b8acd9e2f4853f130f142259296310fb961bb3c55ad029b5a8d5d7af SHA512 9c99de8d553bce98786d6e99a78abdb39ecc411b82456a0cec0a667bd5d274c5978fd76ca4e9489d06e6661c64ab60b281fc8c741289777b1e0d067114a7a904 WHIRLPOOL 827f9f64524de44456a091e7fb558997e9ec8901a887d2b8d5767545cd330d4a0b18e6a6b2e00b31e36ac365d1b7c5b7aaad6aa5404a05e330f2c0ddae82497e
DIST mod_perl-2.0.10_pre201601.tar.gz 3854229 SHA256 a89c23b66b21c600b74a48125c02c91159c07b08cc07fb4f55015e8e07713697 SHA512 04e57e79031374f3ec432e950fb9f79d1202da9dfc0d86a5137b7346c18f313a4e58ecfffed51efd7e6494baec86b22a42d6712ce5f7824f9f479c05bac00659 WHIRLPOOL 5d37b067aa945cafc0cc7a1f1b27257d8409f6804f22880ae7fd6c21424bbd2c07bace483d95590d255678725f67d081741978cff24cfc91716c08294547e622
DIST mod_perl-2.0.8.tar.gz 3790026 SHA256 35dc1b7a40a90a395ce88bba2df84f22289975f34d1757de6d715560c20a20e6 SHA512 d5090651699c4436fe8d0a525226543c971aa05db337dc1b1e89023183df1c7dd8b8775f3a0f7d3b9ec40e8c058ac23bd24141cf15a5fe5806226d634dfb4c87 WHIRLPOOL d22e1c353339b08ad752e9f9c7fc0ec4d6a173c4cd3004380b14098e1028737e0eb69d2f56dbe0da3cbfb01b31232c5073d7edb28bf4fed6b2ccd67b09ad7080
diff --git a/www-apache/mod_perl/files/mod_perl-2.0.10_rc1-Gentoo-not-Unix.patch b/www-apache/mod_perl/files/mod_perl-2.0.10_rc1-Gentoo-not-Unix.patch
new file mode 100644
index 00000000..578878f
--- /dev/null
+++ b/www-apache/mod_perl/files/mod_perl-2.0.10_rc1-Gentoo-not-Unix.patch
@@ -0,0 +1,36 @@
+Tests fail because the server banner contains "Gentoo" instead of "Unix". Disable them.
+
+
+diff -ruN mod_perl-2.0.10-rc1.orig/t/response/TestAPI/server_const.pm mod_perl-2.0.10-rc1/t/response/TestAPI/server_const.pm
+--- mod_perl-2.0.10-rc1.orig/t/response/TestAPI/server_const.pm 2016-09-30 14:45:31.000000000 +0200
++++ mod_perl-2.0.10-rc1/t/response/TestAPI/server_const.pm 2016-10-01 13:18:02.359794404 +0200
+@@ -25,7 +25,7 @@
+
+ my $r = shift;
+
+- plan $r, tests => 6;
++ plan $r, tests => 4;
+
+ # test Apache2::ServerUtil constant subroutines
+
+@@ -45,13 +45,13 @@
+ ok t_cmp($server_descr, qr!\bworld domination series/2\.0\b!,
+ 'Apache2::ServerUtil::get_server_description() -- component');
+
+- # assuming ServerTokens Full (default) the banner equals description
+- ok t_cmp(Apache2::ServerUtil::get_server_banner, $server_descr,
+- 'Apache2::ServerUtil::get_server_banner()');
+-
+- # version is just an alias for banner
+- ok t_cmp(Apache2::ServerUtil::get_server_version, $server_descr,
+- 'Apache2::ServerUtil::get_server_version()');
++# # assuming ServerTokens Full (default) the banner equals description
++# ok t_cmp(Apache2::ServerUtil::get_server_banner, $server_descr,
++# 'Apache2::ServerUtil::get_server_banner()');
++
++# # version is just an alias for banner
++# ok t_cmp(Apache2::ServerUtil::get_server_version, $server_descr,
++# 'Apache2::ServerUtil::get_server_version()');
+
+ Apache2::Const::OK;
+ }
diff --git a/www-apache/mod_perl/files/mod_perl-2.0.10_rc1-bundled-Apache-Test.patch b/www-apache/mod_perl/files/mod_perl-2.0.10_rc1-bundled-Apache-Test.patch
new file mode 100644
index 00000000..e8ec5d0
--- /dev/null
+++ b/www-apache/mod_perl/files/mod_perl-2.0.10_rc1-bundled-Apache-Test.patch
@@ -0,0 +1,80 @@
+diff -ruN mod_perl-2.0.10-rc1.orig/Makefile.PL mod_perl-2.0.10-rc1/Makefile.PL
+--- mod_perl-2.0.10-rc1.orig/Makefile.PL 2016-09-30 14:45:23.000000000 +0200
++++ mod_perl-2.0.10-rc1/Makefile.PL 2016-10-01 00:35:17.140862642 +0200
+@@ -25,7 +25,7 @@
+
+ }
+
+-use lib qw(lib Apache-Test/lib);
++use lib qw(lib);
+
+ use Config;
+ use File::Spec::Functions;
+@@ -122,15 +122,6 @@
+
+ sub configure {
+
+- # mod_perl test suite relies on having Apache-Test bundled with
+- # the mod_perl source, since any pre-installed version may not do
+- # the right thing
+- unless (-d "Apache-Test") {
+- error "Can't find a sub-directory Apache-Test. " .
+- "Make sure that you are using a complete source distribution";
+- exit 1;
+- }
+-
+ set_modperl_version();
+
+ if ($old_modperl_version) {
+@@ -853,14 +844,9 @@
+ run_subtests ::
+ cd ModPerl-Registry && $(MAKE) test
+
+-run_subtests ::
+- cd Apache-Reload && $(MAKE) test
+-
+ EOF
+
+ $preamble .= <<'EOF' unless $build->mpm_is_threaded();
+-run_subtests ::
+- cd Apache-SizeLimit && $(MAKE) test
+
+ EOF
+
+diff -ruN mod_perl-2.0.10-rc1.orig/lib/ModPerl/BuildMM.pm mod_perl-2.0.10-rc1/lib/ModPerl/BuildMM.pm
+--- mod_perl-2.0.10-rc1.orig/lib/ModPerl/BuildMM.pm 2016-09-30 14:45:23.000000000 +0200
++++ mod_perl-2.0.10-rc1/lib/ModPerl/BuildMM.pm 2016-10-01 00:35:17.140862642 +0200
+@@ -39,12 +39,10 @@
+ ModPerl::MM::override_eu_mm_mv_all_methods(@methods);
+ use strict 'refs';
+
+-my $apache_test_dir = catdir Cwd::getcwd(), "Apache-Test", "lib";
+-
+ #to override MakeMaker MOD_INSTALL macro
+ sub mod_install {
+ q{$(PERL) -I$(INST_LIB) -I$(PERL_LIB) \\}."\n" .
+- qq{-I$apache_test_dir -MModPerl::BuildMM \\}."\n" .
++ qq{-MModPerl::BuildMM \\}."\n" .
+ q{-e "ExtUtils::Install::install({@ARGV},'$(VERBINST)',0,'$(UNINST)');"}."\n";
+ }
+
+@@ -271,7 +269,7 @@
+
+ push @target,
+ '$(FULLPERL) -I$(INST_LIB) ' .
+- "-I$apache_test_dir -MModPerl::BuildMM " .
++ "-MModPerl::BuildMM " .
+ "-e ModPerl::BuildMM::glue_pod $pm $podpath $blib";
+
+ # Win32 doesn't normally install man pages
+diff -ruN mod_perl-2.0.10-rc1.orig/lib/ModPerl/Manifest.pm mod_perl-2.0.10-rc1/lib/ModPerl/Manifest.pm
+--- mod_perl-2.0.10-rc1.orig/lib/ModPerl/Manifest.pm 2016-09-30 14:45:23.000000000 +0200
++++ mod_perl-2.0.10-rc1/lib/ModPerl/Manifest.pm 2016-10-01 00:35:17.140862642 +0200
+@@ -119,7 +119,6 @@
+ t/apr-ext/perlio
+ # PAUSE breaks if a dist has more than one META.yml. the top-level
+ # META.yml already excludes Apache-Test from indexing
+-Apache-Test/META.yml
+ # exclude Apache-Test/MANIFEST since it confuses the mp2 build (e.g it
+ # wants Apache-Test/META.yml which we don't supply, see above)
+ Apache-Test/MANIFEST
diff --git a/www-apache/mod_perl/mod_perl-2.0.10_rc1.ebuild b/www-apache/mod_perl/mod_perl-2.0.10_rc1.ebuild
new file mode 100644
index 00000000..3de1718
--- /dev/null
+++ b/www-apache/mod_perl/mod_perl-2.0.10_rc1.ebuild
@@ -0,0 +1,137 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit depend.apache apache-module perl-module eutils
+
+DESCRIPTION="An embedded Perl interpreter for Apache2"
+HOMEPAGE="https://perl.apache.org/"
+#SRC_URI="mirror://apache/perl/${P}.tar.gz"
+SRC_URI="https://dist.apache.org/repos/dist/dev/perl/mod_perl-2.0.10-rc1.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="1"
+KEYWORDS="~amd64 ~x86"
+IUSE="debug test apache2_mpms_event apache2_mpms_worker apache2_mpms_prefork"
+
+S=${WORKDIR}/${P/_rc1/-rc1}
+
+SRC_TEST=do
+
+# Apache::Reload, Apache::SizeLimit, and Apache::Test are force-unbundled.
+# The minimum versions requested here are the bundled versions.
+
+# The test dependencies are from CPAN (Bundle::Apache2).
+
+# When all MPMs are disabled via useflags, the apache ebuild selects a
+# default one, which will likely need threading...
+
+RDEPEND="
+ >=dev-perl/Apache-Test-1.400.0
+ >=www-servers/apache-2.0.47
+ apache2_mpms_event? ( dev-lang/perl[ithreads] )
+ apache2_mpms_worker? ( dev-lang/perl[ithreads] )
+ !apache2_mpms_event? ( !apache2_mpms_worker? ( !apache2_mpms_prefork? ( dev-lang/perl[ithreads] ) ) )
+"
+DEPEND="${RDEPEND}
+ dev-perl/Module-Build
+ test? (
+ >=dev-perl/CGI-3.110.0
+ dev-perl/Chatbot-Eliza
+ dev-perl/Devel-Symdump
+ dev-perl/HTML-Parser
+ dev-perl/IPC-Run3
+ dev-perl/libwww-perl
+ www-servers/apache[apache2_modules_version,-apache2_modules_unique_id]
+ )
+"
+PDEPEND="
+ >=dev-perl/Apache-Reload-0.130.0
+ >=dev-perl/Apache-SizeLimit-0.970.0
+"
+
+APACHE2_MOD_FILE="${S}/src/modules/perl/mod_perl.so"
+APACHE2_MOD_CONF="2.0.3/75_${PN}"
+APACHE2_MOD_DEFINE="PERL"
+
+need_apache2
+
+PATCHES=(
+ "${FILESDIR}/${PN}"-2.0.1-sneak-tmpdir.patch # seems to fix the make test problem
+ "${FILESDIR}/${PN}"-2.0.4-inline.patch # 550244
+ "${FILESDIR}/${PN}"-2.0.10_rc1-bundled-Apache-Test.patch # 352724
+ "${FILESDIR}/${PN}"-2.0.10_rc1-Gentoo-not-Unix.patch
+)
+
+src_prepare() {
+ perl-module_src_prepare
+
+ # chainsaw unbundling
+ rm -rf Apache-{Test,Reload,SizeLimit}/ lib/Bundle/
+}
+
+src_configure() {
+ local debug=$(usex debug 1 0)
+ myconf=(
+ MP_USE_DSO=1
+ MP_APXS=${APXS}
+ MP_APR_CONFIG=/usr/bin/apr-1-config
+ MP_TRACE=${debug}
+ MP_DEBUG=${debug}
+ )
+
+ perl-module_src_configure
+}
+
+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}" "${T}"
+ fi
+
+ # We force verbose tests for now to get meaningful bug reports.
+ MAKEOPTS+=" -j1"
+ TMPDIR="${T}" HOME="${T}/" TEST_VERBOSE=1 perl-module_src_test
+}
+
+src_install() {
+ apache-module_src_install
+
+ default
+
+ perl_delete_localpod
+ perl_delete_packlist
+
+ insinto "${APACHE_MODULES_CONFDIR}"
+ doins "${FILESDIR}"/2.0.3/apache2-mod_perl-startup.pl
+
+ # 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.
+
+ perl_set_version
+ sed -i \
+ -e "s,-I${S}/[^[:space:]\"\']\+[[:space:]]\?,,g" \
+ -e "s,-typemap[[:space:]]${S}/[^[:space:]\"\']\+[[:space:]]\?,,g" \
+ -e "s,${S}\(/[^[:space:]\"\']\+\)\?,/,g" \
+ "${D}/${VENDOR_ARCH}/Apache2/BuildConfig.pm" || die
+
+ for fname in $(find "${D}" -type f -not -name '*.so'); do
+ grep -q "\(${D}\|${S}\)" "${fname}" && ewarn "QA: File contains a temporary path ${fname}"
+ sed -i -e "s:\(${D}\|${S}\):/:g" ${fname}
+ done
+
+ perl_remove_temppath
+}
+
+pkg_postinst() {
+ apache-module_pkg_postinst
+}
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: www-apache/mod_perl/, www-apache/mod_perl/files/
@ 2017-04-19 21:40 Andreas Hüttel
0 siblings, 0 replies; 9+ messages in thread
From: Andreas Hüttel @ 2017-04-19 21:40 UTC (permalink / raw
To: gentoo-commits
commit: cbe143c6f22c7742de05401bcd8f6d275da6a0cf
Author: Andreas K. Hüttel <dilfridge <AT> gentoo <DOT> org>
AuthorDate: Wed Apr 19 21:40:18 2017 +0000
Commit: Andreas Hüttel <dilfridge <AT> gentoo <DOT> org>
CommitDate: Wed Apr 19 21:40:18 2017 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=cbe143c6
www-apache/mod_perl: Remove old
Package-Manager: Portage-2.3.5, Repoman-2.3.2
www-apache/mod_perl/Manifest | 1 -
...perl-2.0.10_pre201601-bundled-Apache-Test.patch | 123 ----------------
...ip-client_add-instead-of-remote_ip-remote.patch | 47 ------
.../files/use-log.level-instead-of-loglevel.patch | 27 ----
.../mod_perl/mod_perl-2.0.10_pre201601.ebuild | 164 ---------------------
5 files changed, 362 deletions(-)
diff --git a/www-apache/mod_perl/Manifest b/www-apache/mod_perl/Manifest
index 1206f881c3c..2fb03577734 100644
--- a/www-apache/mod_perl/Manifest
+++ b/www-apache/mod_perl/Manifest
@@ -1,3 +1,2 @@
DIST mod_perl-2.0.10.tar.gz 3846211 SHA256 d1cf83ed4ea3a9dfceaa6d9662ff645177090749881093051020bf42f9872b64 SHA512 0bf1a885cb32a3393e95f87e71983097613e263b9052dbf22494663b506e36a25d0256afed24285232276d9f43ebd3adaa18b91129bfb62116a8ccb023855bca WHIRLPOOL 5ca9c3d961292a36d6be08e6f619385d54dd3551fc27a7387f53604e9971429c732fc988df50c35b1d62d520bab763fe4d127beb09aef86209583f2ef0d21eaf
-DIST mod_perl-2.0.10_pre201601.tar.gz 3854229 SHA256 a89c23b66b21c600b74a48125c02c91159c07b08cc07fb4f55015e8e07713697 SHA512 04e57e79031374f3ec432e950fb9f79d1202da9dfc0d86a5137b7346c18f313a4e58ecfffed51efd7e6494baec86b22a42d6712ce5f7824f9f479c05bac00659 WHIRLPOOL 5d37b067aa945cafc0cc7a1f1b27257d8409f6804f22880ae7fd6c21424bbd2c07bace483d95590d255678725f67d081741978cff24cfc91716c08294547e622
DIST mod_perl-2.0.8.tar.gz 3790026 SHA256 35dc1b7a40a90a395ce88bba2df84f22289975f34d1757de6d715560c20a20e6 SHA512 d5090651699c4436fe8d0a525226543c971aa05db337dc1b1e89023183df1c7dd8b8775f3a0f7d3b9ec40e8c058ac23bd24141cf15a5fe5806226d634dfb4c87 WHIRLPOOL d22e1c353339b08ad752e9f9c7fc0ec4d6a173c4cd3004380b14098e1028737e0eb69d2f56dbe0da3cbfb01b31232c5073d7edb28bf4fed6b2ccd67b09ad7080
diff --git a/www-apache/mod_perl/files/mod_perl-2.0.10_pre201601-bundled-Apache-Test.patch b/www-apache/mod_perl/files/mod_perl-2.0.10_pre201601-bundled-Apache-Test.patch
deleted file mode 100644
index af53cad6559..00000000000
--- a/www-apache/mod_perl/files/mod_perl-2.0.10_pre201601-bundled-Apache-Test.patch
+++ /dev/null
@@ -1,123 +0,0 @@
-diff -ruN mod_perl-2.0.10_pre201601.orig/Makefile.PL mod_perl-2.0.10_pre201601/Makefile.PL
---- mod_perl-2.0.10_pre201601.orig/Makefile.PL 2015-05-13 10:01:18.000000000 +0200
-+++ mod_perl-2.0.10_pre201601/Makefile.PL 2016-01-09 21:02:00.000000000 +0100
-@@ -25,7 +25,7 @@
-
- }
-
--use lib qw(lib Apache-Test/lib);
-+use lib qw(lib);
-
- use Config;
- use File::Spec::Functions;
-@@ -122,15 +122,6 @@
-
- sub configure {
-
-- # mod_perl test suite relies on having Apache-Test bundled with
-- # the mod_perl source, since any pre-installed version may not do
-- # the right thing
-- unless (-d "Apache-Test") {
-- error "Can't find a sub-directory Apache-Test. " .
-- "Make sure that you are using a complete source distribution";
-- exit 1;
-- }
--
- set_modperl_version();
-
- if ($old_modperl_version) {
-@@ -853,14 +844,9 @@
- run_subtests ::
- cd ModPerl-Registry && $(MAKE) test
-
--run_subtests ::
-- cd Apache-Reload && $(MAKE) test
--
- EOF
-
- $preamble .= <<'EOF' unless $build->mpm_is_threaded();
--run_subtests ::
-- cd Apache-SizeLimit && $(MAKE) test
-
- EOF
-
-@@ -871,42 +857,6 @@
- return $preamble;
- }
-
--sub MY::postamble {
-- my $self = shift;
--
-- my $string = $self->ModPerl::BuildMM::MY::postamble;
--
-- if (!WIN32) {
-- $string .= <<'EOF';
--rpm: dist
-- @[ -d $(PWD)/rpm ] || mkdir $(PWD)/rpm
-- rpmbuild -ta --define "_rpmdir $(PWD)/rpm" \
-- --define "_srcrpmdir $(PWD)/rpm" \
-- $(DISTVNAME).tar.gz
-- @mv $(PWD)/rpm/*/*.rpm $(PWD)/rpm/
-- @rm -rf $(PWD)/rpm/*/
--
--EOF
-- }
--
-- $string .= <<'EOF';
--mydist : Apache-Test/META.yml mod_perl.spec manifest tardist
--
--mod_perl.spec: build/make_rpm_spec
-- $(PERL) build/make_rpm_spec
--
--Apache-Test/META.yml:
-- cd Apache-Test && make metafile
--
--tag :
-- svn copy https://svn.apache.org/repos/asf/perl/modperl/trunk https://svn.apache.org/repos/asf/perl/modperl/branches/release/$(VERSION_SYM)
-- svn copy https://svn.apache.org/repos/asf/perl/modperl/branches/release/$(VERSION_SYM) https://svn.apache.org/repos/asf/perl/modperl/tags/$(VERSION_SYM)
-- svn copy https://svn.apache.org/repos/asf/perl/modperl/docs/trunk https://svn.apache.org/repos/asf/perl/modperl/docs/tags/$(VERSION_SYM)
--EOF
--
-- return $string;
--}
--
- # this is a workaround so that ModPerl::MM will move MY::constants
- # away, and Apache-Test/Makefile.PL which has its own MY::constants
- # won't get complaints on MY::constants redefined
-diff -ruN mod_perl-2.0.10_pre201601.orig/lib/ModPerl/BuildMM.pm mod_perl-2.0.10_pre201601/lib/ModPerl/BuildMM.pm
---- mod_perl-2.0.10_pre201601.orig/lib/ModPerl/BuildMM.pm 2015-04-01 18:19:18.000000000 +0200
-+++ mod_perl-2.0.10_pre201601/lib/ModPerl/BuildMM.pm 2016-01-09 21:04:34.000000000 +0100
-@@ -39,12 +39,10 @@
- ModPerl::MM::override_eu_mm_mv_all_methods(@methods);
- use strict 'refs';
-
--my $apache_test_dir = catdir Cwd::getcwd(), "Apache-Test", "lib";
--
- #to override MakeMaker MOD_INSTALL macro
- sub mod_install {
- q{$(PERL) -I$(INST_LIB) -I$(PERL_LIB) \\}."\n" .
-- qq{-I$apache_test_dir -MModPerl::BuildMM \\}."\n" .
-+ qq{-MModPerl::BuildMM \\}."\n" .
- q{-e "ExtUtils::Install::install({@ARGV},'$(VERBINST)',0,'$(UNINST)');"}."\n";
- }
-
-@@ -271,7 +269,7 @@
-
- push @target,
- '$(FULLPERL) -I$(INST_LIB) ' .
-- "-I$apache_test_dir -MModPerl::BuildMM " .
-+ "-MModPerl::BuildMM " .
- "-e ModPerl::BuildMM::glue_pod $pm $podpath $blib";
-
- # Win32 doesn't normally install man pages
-diff -ruN mod_perl-2.0.10_pre201601.orig/lib/ModPerl/Manifest.pm mod_perl-2.0.10_pre201601/lib/ModPerl/Manifest.pm
---- mod_perl-2.0.10_pre201601.orig/lib/ModPerl/Manifest.pm 2015-05-13 09:23:09.000000000 +0200
-+++ mod_perl-2.0.10_pre201601/lib/ModPerl/Manifest.pm 2016-01-09 21:04:50.000000000 +0100
-@@ -119,7 +119,6 @@
- t/apr-ext/perlio
- # PAUSE breaks if a dist has more than one META.yml. the top-level
- # META.yml already excludes Apache-Test from indexing
--Apache-Test/META.yml
- # exclude Apache-Test/MANIFEST since it confuses the mp2 build (e.g it
- # wants Apache-Test/META.yml which we don't supply, see above)
- Apache-Test/MANIFEST
diff --git a/www-apache/mod_perl/files/use-client_ip-client_add-instead-of-remote_ip-remote.patch b/www-apache/mod_perl/files/use-client_ip-client_add-instead-of-remote_ip-remote.patch
deleted file mode 100644
index 1a695b85409..00000000000
--- a/www-apache/mod_perl/files/use-client_ip-client_add-instead-of-remote_ip-remote.patch
+++ /dev/null
@@ -1,47 +0,0 @@
-From 3fb7843aa2aa992be430068929f4e1cc7787a233 Mon Sep 17 00:00:00 2001
-From: Martin Jansa <Martin.Jansa@gmail.com>
-Date: Tue, 3 Apr 2012 19:25:41 +0200
-Subject: [PATCH] use client_ip/client_add instead of remote_ip/remote_addr
-
-Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
----
- xs/maps/apache2_structures.map | 4 ++--
- xs/tables/current/Apache2/StructureTable.pm | 4 ++--
- 2 files changed, 4 insertions(+), 4 deletions(-)
-
-diff --git a/xs/maps/apache2_structures.map b/xs/maps/apache2_structures.map
-index f86ec93..c0fcf78 100644
---- a/xs/maps/apache2_structures.map
-+++ b/xs/maps/apache2_structures.map
-@@ -106,8 +106,8 @@ $ limit_req_fields
- < local_addr
- < local_ip
- < local_host
--< remote_addr
-- remote_ip
-+< client_addr
-+ client_ip
- < remote_host
- - remote_logname
- < aborted
-diff --git a/xs/tables/current/Apache2/StructureTable.pm b/xs/tables/current/Apache2/StructureTable.pm
-index af50be1..0c0465a 100644
---- a/xs/tables/current/Apache2/StructureTable.pm
-+++ b/xs/tables/current/Apache2/StructureTable.pm
-@@ -2708,11 +2708,11 @@ $Apache2::StructureTable = [
- },
- {
- 'type' => 'apr_sockaddr_t *',
-- 'name' => 'remote_addr'
-+ 'name' => 'client_addr'
- },
- {
- 'type' => 'char *',
-- 'name' => 'remote_ip'
-+ 'name' => 'client_ip'
- },
- {
- 'type' => 'char *',
---
-1.7.8.5
-
diff --git a/www-apache/mod_perl/files/use-log.level-instead-of-loglevel.patch b/www-apache/mod_perl/files/use-log.level-instead-of-loglevel.patch
deleted file mode 100644
index aeb8d98af79..00000000000
--- a/www-apache/mod_perl/files/use-log.level-instead-of-loglevel.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From 0d6ac25c1c7871be52e8399c6e8bc8509ed5f3d9 Mon Sep 17 00:00:00 2001
-From: Martin Jansa <Martin.Jansa@gmail.com>
-Date: Tue, 3 Apr 2012 19:30:33 +0200
-Subject: [PATCH] use log.level instead of loglevel
-
-Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
----
- xs/maps/apache2_structures.map | 2 +-
- xs/tables/current/Apache2/StructureTable.pm | 2 +-
- 2 files changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/xs/tables/current/Apache2/StructureTable.pm b/xs/tables/current/Apache2/StructureTable.pm
-index 0c0465a..439184e 100644
---- a/xs/tables/current/Apache2/StructureTable.pm
-+++ b/xs/tables/current/Apache2/StructureTable.pm
-@@ -3245,7 +3245,7 @@ $Apache2::StructureTable = [
- },
- {
- 'type' => 'int',
-- 'name' => 'loglevel'
-+ 'name' => 'log.level'
- },
- {
- 'type' => 'int',
---
-1.7.8.5
-
diff --git a/www-apache/mod_perl/mod_perl-2.0.10_pre201601.ebuild b/www-apache/mod_perl/mod_perl-2.0.10_pre201601.ebuild
deleted file mode 100644
index d4a442f4df2..00000000000
--- a/www-apache/mod_perl/mod_perl-2.0.10_pre201601.ebuild
+++ /dev/null
@@ -1,164 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-inherit depend.apache apache-module perl-module eutils
-
-DESCRIPTION="An embedded Perl interpreter for Apache2"
-HOMEPAGE="https://projects.apache.org/projects/mod_perl.html"
-#SRC_URI="mirror://apache/perl/${P}.tar.gz"
-SRC_URI="http://dev.gentoo.org/~dilfridge/distfiles/${P}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="1"
-KEYWORDS="alpha amd64 ~arm ~ppc ~ppc64 x86"
-IUSE="debug"
-
-# Make sure we always use the latest Apache-Test version or even check the
-# version of the bundled Apache-Test!
-#
-# We need both, apache and perl but either apache without threads or perl with
-# ithreads, bug 373943
-DEPEND="
- >=dev-perl/Apache-Test-1.360
- >=dev-perl/CGI-3.08
- dev-lang/perl[ithreads]
- www-servers/apache
-"
-RDEPEND="${DEPEND}"
-PDEPEND=">=dev-perl/Apache-Reload-0.11
- >=dev-perl/Apache-SizeLimit-0.95"
-
-APACHE2_MOD_FILE="${S}/src/modules/perl/mod_perl.so"
-APACHE2_MOD_CONF="2.0.3/75_${PN}"
-APACHE2_MOD_DEFINE="PERL"
-
-SRC_TEST="do"
-
-DOCFILES="Changes INSTALL README STATUS"
-
-need_apache2
-
-src_prepare() {
- perl-module_src_prepare
-
- # 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"
-
- # rendhalver - this got redone for 2.0.1 and seems to fix the make test problems
- epatch "${FILESDIR}"/${PN}-2.0.1-sneak-tmpdir.patch
- epatch "${FILESDIR}"/${PN}-2.0.4-inline.patch #550244
-
- # bug 352724
- epatch "${FILESDIR}/${P}-bundled-Apache-Test.patch"
- rm -rf Apache-{Test,Reload,SizeLimit}/ lib/Bundle/
-
-# sed -i \
-# -e 's:^Apache-\(Reload\|SizeLimit\|Test\).*::' \
-# -e 's:^lib/Bundle/Apache2.pm::' \
-# MANIFEST || die
-# uncomment this once we're packaging a proper release again
-
- # 410453
- epatch "${FILESDIR}/use-client_ip-client_add-instead-of-remote_ip-remote.patch"
- epatch "${FILESDIR}/use-log.level-instead-of-loglevel.patch"
-}
-
-src_configure() {
- local debug=$(usex debug 1 0)
- perl Makefile.PL \
- PREFIX="${EPREFIX}"/usr \
- INSTALLDIRS=vendor \
- MP_USE_DSO=1 \
- MP_APXS=${APXS} \
- MP_APR_CONFIG=/usr/bin/apr-1-config \
- MP_TRACE=${debug} \
- MP_DEBUG=${debug} \
- || die
-}
-
-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}" "${T}"
- fi
-
- # this does not || die because of bug 21325. kudos to smark for
- # the idea of setting HOME.
- TMPDIR="${T}" HOME="${T}/" perl-module_src_test
-}
-
-src_install() {
- apache-module_src_install
-
- default
-#emake DESTDIR="${D}" install || die
-
- # TODO: add some stuff from docs/ back?
-
- # rendhalver - fix the perllocal.pod that gets installed
- # it seems to me that this has been getting installed for ages
- perl_delete_localpod
- # Remove empty .bs files as well
- perl_delete_packlist
-
- insinto "${APACHE_MODULES_CONFDIR}"
- doins "${FILESDIR}"/2.0.3/apache2-mod_perl-startup.pl
-
- # 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.
-
- # Sorry for this evil hack...
- perl_set_version # just to be sure...
- sed -i \
- -e "s,-I${S}/[^[:space:]\"\']\+[[:space:]]\?,,g" \
- -e "s,-typemap[[:space:]]${S}/[^[:space:]\"\']\+[[:space:]]\?,,g" \
- -e "s,${S}\(/[^[:space:]\"\']\+\)\?,/,g" \
- "${D}/${VENDOR_ARCH}/Apache2/BuildConfig.pm" || die
-
- for fname in $(find "${D}" -type f -not -name '*.so'); do
- grep -q "\(${D}\|${S}\)" "${fname}" && ewarn "QA: File contains a temporary path ${fname}"
- sed -i -e "s:\(${D}\|${S}\):/:g" ${fname}
- done
- # All the rest
- perl_remove_temppath
-}
-
-pkg_postinst() {
- apache-module_pkg_postinst
-}
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: www-apache/mod_perl/, www-apache/mod_perl/files/
@ 2017-04-30 11:32 Andreas Hüttel
0 siblings, 0 replies; 9+ messages in thread
From: Andreas Hüttel @ 2017-04-30 11:32 UTC (permalink / raw
To: gentoo-commits
commit: 87b4594255ffbc32de676c9a636a1278d4d9db18
Author: Andreas K. Hüttel <dilfridge <AT> gentoo <DOT> org>
AuthorDate: Sun Apr 30 11:30:24 2017 +0000
Commit: Andreas Hüttel <dilfridge <AT> gentoo <DOT> org>
CommitDate: Sun Apr 30 11:31:33 2017 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=87b45942
www-apache/mod_perl: Remove old
Package-Manager: Portage-2.3.5, Repoman-2.3.2
www-apache/mod_perl/Manifest | 1 -
.../files/mod_perl-2.0.8-bundled-Apache-Test.patch | 127 -----------------
www-apache/mod_perl/mod_perl-2.0.8.ebuild | 156 ---------------------
3 files changed, 284 deletions(-)
diff --git a/www-apache/mod_perl/Manifest b/www-apache/mod_perl/Manifest
index 2fb03577734..d725f21537d 100644
--- a/www-apache/mod_perl/Manifest
+++ b/www-apache/mod_perl/Manifest
@@ -1,2 +1 @@
DIST mod_perl-2.0.10.tar.gz 3846211 SHA256 d1cf83ed4ea3a9dfceaa6d9662ff645177090749881093051020bf42f9872b64 SHA512 0bf1a885cb32a3393e95f87e71983097613e263b9052dbf22494663b506e36a25d0256afed24285232276d9f43ebd3adaa18b91129bfb62116a8ccb023855bca WHIRLPOOL 5ca9c3d961292a36d6be08e6f619385d54dd3551fc27a7387f53604e9971429c732fc988df50c35b1d62d520bab763fe4d127beb09aef86209583f2ef0d21eaf
-DIST mod_perl-2.0.8.tar.gz 3790026 SHA256 35dc1b7a40a90a395ce88bba2df84f22289975f34d1757de6d715560c20a20e6 SHA512 d5090651699c4436fe8d0a525226543c971aa05db337dc1b1e89023183df1c7dd8b8775f3a0f7d3b9ec40e8c058ac23bd24141cf15a5fe5806226d634dfb4c87 WHIRLPOOL d22e1c353339b08ad752e9f9c7fc0ec4d6a173c4cd3004380b14098e1028737e0eb69d2f56dbe0da3cbfb01b31232c5073d7edb28bf4fed6b2ccd67b09ad7080
diff --git a/www-apache/mod_perl/files/mod_perl-2.0.8-bundled-Apache-Test.patch b/www-apache/mod_perl/files/mod_perl-2.0.8-bundled-Apache-Test.patch
deleted file mode 100644
index 2e4da922aea..00000000000
--- a/www-apache/mod_perl/files/mod_perl-2.0.8-bundled-Apache-Test.patch
+++ /dev/null
@@ -1,127 +0,0 @@
---- a/Makefile.PL
-+++ b/Makefile.PL
-@@ -24,7 +24,7 @@ BEGIN {
-
- }
-
--use lib qw(lib Apache-Test/lib);
-+use lib qw(lib);
-
- use Config;
- use File::Spec::Functions;
-@@ -117,16 +117,6 @@ sub get_DEFINE {
- }
-
- sub configure {
--
-- # mod_perl test suite relies on having Apache-Test bundled with
-- # the mod_perl source, since any pre-installed version may not do
-- # the right thing
-- unless (-d "Apache-Test") {
-- error "Can't find a sub-directory Apache-Test. " .
-- "Make sure that you are using a complete source distribution";
-- exit 1;
-- }
--
- set_modperl_version();
-
- if ($old_modperl_version) {
-@@ -798,14 +788,9 @@ run_tests : test_clean
- run_subtests ::
- cd ModPerl-Registry && $(MAKE) test
-
--run_subtests ::
-- cd Apache-Reload && $(MAKE) test
--
- EOF
-
- $preamble .= <<'EOF' unless $build->mpm_is_threaded();
--run_subtests ::
-- cd Apache-SizeLimit && $(MAKE) test
-
- EOF
-
-@@ -816,37 +801,6 @@ EOF
- return $preamble;
- }
-
--sub MY::postamble {
-- my $self = shift;
--
-- my $string = $self->ModPerl::BuildMM::MY::postamble;
--
-- $string .= <<'EOF';
--mydist : Apache-Test/META.yml mod_perl.spec manifest tardist
--
--rpm: dist
-- @[ -d $(PWD)/rpm ] || mkdir $(PWD)/rpm
-- rpmbuild -ta --define "_rpmdir $(PWD)/rpm" \
-- --define "_srcrpmdir $(PWD)/rpm" \
-- $(DISTVNAME).tar.gz
-- @mv $(PWD)/rpm/*/*.rpm $(PWD)/rpm/
-- @rm -rf $(PWD)/rpm/*/
--
--mod_perl.spec: build/make_rpm_spec
-- $(PERL) build/make_rpm_spec
--
--Apache-Test/META.yml:
-- cd Apache-Test && make metafile
--
--tag :
-- svn copy https://svn.apache.org/repos/asf/perl/modperl/trunk https://svn.apache.org/repos/asf/perl/modperl/branches/release/$(VERSION_SYM)
-- svn copy https://svn.apache.org/repos/asf/perl/modperl/branches/release/$(VERSION_SYM) https://svn.apache.org/repos/asf/perl/modperl/tags/$(VERSION_SYM)
-- svn copy https://svn.apache.org/repos/asf/perl/modperl/docs/trunk https://svn.apache.org/repos/asf/perl/modperl/docs/tags/$(VERSION_SYM)
--EOF
--
-- return $string;
--}
--
- # this is a workaround so that ModPerl::MM will move MY::constants
- # away, and Apache-Test/Makefile.PL which has its own MY::constants
- # won't get complaints on MY::constants redefined
---- a/ModPerl-Registry/Makefile.PL
-+++ b/ModPerl-Registry/Makefile.PL
-@@ -14,7 +14,7 @@ use Apache::TestMM qw(test clean);
-
- # prerequisites
- my %require = (
-- "Apache::Test" => "", # any version will do?
-+ "Apache::Test" => 0, # any version will do?
- );
-
- my @scripts = qw(t/TEST t/SMOKE);
---- a/lib/ModPerl/BuildMM.pm
-+++ b/lib/ModPerl/BuildMM.pm
-@@ -38,12 +38,10 @@ my @methods = grep *{$stash->{$_}}{CODE}
- ModPerl::MM::override_eu_mm_mv_all_methods(@methods);
- use strict 'refs';
-
--my $apache_test_dir = catdir Cwd::getcwd(), "Apache-Test", "lib";
--
- #to override MakeMaker MOD_INSTALL macro
- sub mod_install {
- q{$(PERL) -I$(INST_LIB) -I$(PERL_LIB) \\}."\n" .
-- qq{-I$apache_test_dir -MModPerl::BuildMM \\}."\n" .
-+ qq{-MModPerl::BuildMM \\}."\n" .
- q{-e "ExtUtils::Install::install({@ARGV},'$(VERBINST)',0,'$(UNINST)');"}."\n";
- }
-
-@@ -269,7 +267,7 @@ sub ModPerl::BuildMM::MY::postamble {
-
- push @target,
- '$(FULLPERL) -I$(INST_LIB) ' .
-- "-I$apache_test_dir -MModPerl::BuildMM " .
-+ "-MModPerl::BuildMM " .
- "-e ModPerl::BuildMM::glue_pod $pm $podpath $blib";
-
- # Win32 doesn't normally install man pages
---- a/lib/ModPerl/Manifest.pm
-+++ b/lib/ModPerl/Manifest.pm
-@@ -33,7 +33,6 @@ our @EXPORT_OK = qw(mkmanifest);
- my @add_files = qw{
- MANIFEST
- mod_perl.spec
-- Apache-Test/META.yml
- };
-
- sub get_svn_files {
diff --git a/www-apache/mod_perl/mod_perl-2.0.8.ebuild b/www-apache/mod_perl/mod_perl-2.0.8.ebuild
deleted file mode 100644
index e53722324e0..00000000000
--- a/www-apache/mod_perl/mod_perl-2.0.8.ebuild
+++ /dev/null
@@ -1,156 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="5"
-
-inherit depend.apache apache-module perl-module eutils
-
-DESCRIPTION="An embedded Perl interpreter for Apache2"
-SRC_URI="mirror://apache/perl/${P}.tar.gz"
-HOMEPAGE="https://projects.apache.org/projects/mod_perl.html"
-
-LICENSE="GPL-2"
-KEYWORDS="alpha amd64 ppc ppc64 x86"
-IUSE="debug"
-SLOT="1"
-
-# Make sure we always use the latest Apache-Test version or even check the
-# version of the bundled Apache-Test!
-#
-# We need both, apache and perl but either apache without threads or perl with
-# ithreads, bug 373943
-DEPEND="<www-servers/apache-2.4
- >=dev-perl/Apache-Test-1.360
- >=dev-perl/CGI-3.08
- dev-lang/perl
- www-servers/apache
- || ( www-servers/apache[-threads] dev-lang/perl[ithreads] )"
-RDEPEND="${DEPEND}"
-PDEPEND=">=dev-perl/Apache-Reload-0.11
- >=dev-perl/Apache-SizeLimit-0.95"
-
-APACHE2_MOD_FILE="${S}/src/modules/perl/mod_perl.so"
-APACHE2_MOD_CONF="2.0.3/75_${PN}.2.2"
-APACHE2_MOD_DEFINE="PERL"
-
-SRC_TEST="do"
-
-DOCFILES="Changes INSTALL README STATUS"
-
-need_apache2
-
-src_prepare() {
- perl-module_src_prepare
-
- # 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"
-
- # 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
-
- # bug 352724
- epatch "${FILESDIR}/${P}-bundled-Apache-Test.patch"
- rm -rf Apache-{Test,Reload,SizeLimit}/ lib/Bundle/
- sed -i -e 's:^Apache-\(Reload\|SizeLimit\|Test\).*::' \
- -e 's:^lib/Bundle/Apache2.pm::' MANIFEST || die
-}
-
-src_configure() {
- local myargs=
-
- if use debug; then
- myargs="MP_TRACE=1 MP_DEBUG=1"
- else
- myargs="MP_TRACE=0 MP_DEBUG=0"
- fi
-
- perl Makefile.PL \
- PREFIX="${EPREFIX}"/usr \
- INSTALLDIRS=vendor \
- MP_USE_DSO=1 \
- MP_APXS=${APXS} \
- ${myargs} || die
-}
-
-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}/" perl-module_src_test
-}
-
-src_install() {
- apache-module_src_install
-
- emake DESTDIR="${D}" install || die
-
- # TODO: add some stuff from docs/ back?
-
- # rendhalver - fix the perllocal.pod that gets installed
- # it seems to me that this has been getting installed for ages
- perl_delete_localpod
- # Remove empty .bs files as well
- perl_delete_packlist
-
- insinto "${APACHE_MODULES_CONFDIR}"
- doins "${FILESDIR}"/2.0.3/apache2-mod_perl-startup.pl || 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.
-
- # Sorry for this evil hack...
- perl_set_version # just to be sure...
- sed -i -e "s,-I${S}/[^[:space:]\"\']\+[[:space:]]\?,,g" \
- -e "s,-typemap[[:space:]]${S}/[^[:space:]\"\']\+[[:space:]]\?,,g" \
- -e "s,${S}\(/[^[:space:]\"\']\+\)\?,/,g" "${D}/${VENDOR_ARCH}/Apache2/BuildConfig.pm" || die
-
- for fname in $(find "${D}" -type f -not -name '*.so'); do
- grep -q "\(${D}\|${S}\)" "${fname}" && ewarn "QA: File contains a temporary path ${fname}"
- sed -i -e "s:\(${D}\|${S}\):/:g" ${fname}
- done
- # All the rest
- perl_remove_temppath
-}
-
-pkg_postinst() {
- apache-module_pkg_postinst
-}
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: www-apache/mod_perl/, www-apache/mod_perl/files/
@ 2018-12-21 23:39 Andreas K. Hüttel
0 siblings, 0 replies; 9+ messages in thread
From: Andreas K. Hüttel @ 2018-12-21 23:39 UTC (permalink / raw
To: gentoo-commits
commit: a51f0209d1d749e4749c6bab33ba130549892f66
Author: Andreas K. Hüttel <dilfridge <AT> gentoo <DOT> org>
AuthorDate: Fri Dec 21 23:38:43 2018 +0000
Commit: Andreas K. Hüttel <dilfridge <AT> gentoo <DOT> org>
CommitDate: Fri Dec 21 23:39:12 2018 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a51f0209
www-apache/mod_perl: Partly fix tests, bug 614684
Partly fix tests; the breakage was *not* caused by Perl,
but by Apache 2.4 (as opposed to Apache 2.2). Patches from
Debian.
Still fails with a similar problem (syntax error in test
config file, bc. of old Apache syntax).
Bug: https://bugs.gentoo.org/614684
Package-Manager: Portage-2.3.52, Repoman-2.3.12
Signed-off-by: Andreas K. Hüttel <dilfridge <AT> gentoo.org>
.../files/mod_perl-2.0.10-apache24-tests-1.patch | 33 ++++++++++++++++++++++
.../files/mod_perl-2.0.10-apache24-tests-2.patch | 23 +++++++++++++++
www-apache/mod_perl/mod_perl-2.0.10.ebuild | 4 ++-
3 files changed, 59 insertions(+), 1 deletion(-)
diff --git a/www-apache/mod_perl/files/mod_perl-2.0.10-apache24-tests-1.patch b/www-apache/mod_perl/files/mod_perl-2.0.10-apache24-tests-1.patch
new file mode 100644
index 00000000000..822fb4e8755
--- /dev/null
+++ b/www-apache/mod_perl/files/mod_perl-2.0.10-apache24-tests-1.patch
@@ -0,0 +1,33 @@
+From f4dd0394f0975892b51a889f023d0e207553a656 Mon Sep 17 00:00:00 2001
+From: Niko Tyni <ntyni@debian.org>
+Date: Fri, 23 Dec 2016 18:27:23 +0200
+Subject: [PATCH 1/2] Fix t/apache/read.t HTTP syntax for Apache 2.4.25
+ compatibility
+
+HTTP/1.1 RFC 7230, section 2.6. "Protocol Versioning" says the HTTP name
+is case sensitive. Starting with Apache 2.4.25, using lower case will
+make the server issue a 400 Bad request response, causing a test failure.
+
+https://tools.ietf.org/html/rfc7230#section-2.6
+
+Bug-Debian: https://bugs.debian.org/849082
+---
+ t/apache/read.t | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/t/apache/read.t b/t/apache/read.t
+index 83670c9..9f7f504 100644
+--- a/t/apache/read.t
++++ b/t/apache/read.t
+@@ -24,7 +24,7 @@ close $fh;
+
+ my $size = length $data;
+
+-for my $string ("POST $location http/1.0",
++for my $string ("POST $location HTTP/1.0",
+ "Content-length: $size",
+ "") {
+ my $line = "$string\r\n";
+--
+2.11.0
+
diff --git a/www-apache/mod_perl/files/mod_perl-2.0.10-apache24-tests-2.patch b/www-apache/mod_perl/files/mod_perl-2.0.10-apache24-tests-2.patch
new file mode 100644
index 00000000000..29e24cc770d
--- /dev/null
+++ b/www-apache/mod_perl/files/mod_perl-2.0.10-apache24-tests-2.patch
@@ -0,0 +1,23 @@
+Author: Stefan Fritsch <sf@sfritsch.de>
+Source: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=849082
+
+--- ./t/filter/TestFilter/in_bbs_inject_header.pm.orig 2016-10-27 22:11:16.000000000 +0200
++++ ./t/filter/TestFilter/in_bbs_inject_header.pm 2016-12-24 06:55:19.049606491 +0100
+@@ -181,7 +181,7 @@
+
+ if ($data and $data =~ /^POST/) {
+ # demonstrate how to add a header while processing other headers
+- my $header = "$header1_key: $header1_val\n";
++ my $header = "$header1_key: $header1_val\r\n";
+ push @{ $ctx->{buckets} }, APR::Bucket->new($c->bucket_alloc, $header);
+ debug "queued header [$header]";
+ }
+@@ -199,7 +199,7 @@
+ # we hit the headers and body separator, which is a good
+ # time to add extra headers:
+ for my $key (keys %headers) {
+- my $header = "$key: $headers{$key}\n";
++ my $header = "$key: $headers{$key}\r\n";
+ push @{ $ctx->{buckets} }, APR::Bucket->new($c->bucket_alloc, $header);
+ debug "queued header [$header]";
+ }
diff --git a/www-apache/mod_perl/mod_perl-2.0.10.ebuild b/www-apache/mod_perl/mod_perl-2.0.10.ebuild
index f83252b19f5..ea0cffbccc0 100644
--- a/www-apache/mod_perl/mod_perl-2.0.10.ebuild
+++ b/www-apache/mod_perl/mod_perl-2.0.10.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2017 Gentoo Foundation
+# Copyright 1999-2018 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=5
@@ -60,6 +60,8 @@ PATCHES=(
"${FILESDIR}/${PN}"-2.0.4-inline.patch # 550244
"${FILESDIR}/${PN}"-2.0.10_rc1-bundled-Apache-Test.patch # 352724
"${FILESDIR}/${PN}"-2.0.10_rc1-Gentoo-not-Unix.patch
+ "${FILESDIR}/${PN}"-2.0.10-apache24-tests-1.patch # 614684
+ "${FILESDIR}/${PN}"-2.0.10-apache24-tests-2.patch # 614684
)
src_prepare() {
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: www-apache/mod_perl/, www-apache/mod_perl/files/
@ 2021-05-22 14:52 Andreas K. Hüttel
0 siblings, 0 replies; 9+ messages in thread
From: Andreas K. Hüttel @ 2021-05-22 14:52 UTC (permalink / raw
To: gentoo-commits
commit: a7ef121be2bf04a4a82693e0aa240374f3ff45bc
Author: Andreas K. Hüttel <dilfridge <AT> gentoo <DOT> org>
AuthorDate: Sat May 22 14:52:15 2021 +0000
Commit: Andreas K. Hüttel <dilfridge <AT> gentoo <DOT> org>
CommitDate: Sat May 22 14:52:15 2021 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a7ef121b
www-apache/mod_perl: Fix build with Perl 5.34
Closes: https://bugs.gentoo.org/791403
Package-Manager: Portage-3.0.18, Repoman-3.0.2
Signed-off-by: Andreas K. Hüttel <dilfridge <AT> gentoo.org>
www-apache/mod_perl/files/mod_perl-2.0.11-perl534.patch | 17 +++++++++++++++++
www-apache/mod_perl/mod_perl-2.0.11.ebuild | 1 +
2 files changed, 18 insertions(+)
diff --git a/www-apache/mod_perl/files/mod_perl-2.0.11-perl534.patch b/www-apache/mod_perl/files/mod_perl-2.0.11-perl534.patch
new file mode 100644
index 00000000000..c6c5bed4ed0
--- /dev/null
+++ b/www-apache/mod_perl/files/mod_perl-2.0.11-perl534.patch
@@ -0,0 +1,17 @@
+
+Fix build for perl >= 5.33.7
+
+Patch by Leon Timmermans <fawaka@gmail.com> from https://github.com/Perl/perl5/issues/18617
+
+
+--- perl/modperl/trunk/src/modules/perl/modperl_perl.c 2021/04/20 13:48:02 1889013
++++ perl/modperl/trunk/src/modules/perl/modperl_perl.c 2021/04/20 13:55:29 1889014
+@@ -268,7 +268,7 @@
+ #ifdef MP_NEED_HASH_SEED_FIXUP
+ if (MP_init_hash_seed_set) {
+ #if MP_PERL_VERSION_AT_LEAST(5, 17, 6)
+- memcpy(&PL_hash_seed, &MP_init_hash_seed,
++ memcpy(PL_hash_seed, &MP_init_hash_seed,
+ sizeof(PL_hash_seed) > sizeof(MP_init_hash_seed) ?
+ sizeof(MP_init_hash_seed) : sizeof(PL_hash_seed));
+ PL_hash_seed_set = MP_init_hash_seed_set;
diff --git a/www-apache/mod_perl/mod_perl-2.0.11.ebuild b/www-apache/mod_perl/mod_perl-2.0.11.ebuild
index 3248c243ac0..77fb5135e3a 100644
--- a/www-apache/mod_perl/mod_perl-2.0.11.ebuild
+++ b/www-apache/mod_perl/mod_perl-2.0.11.ebuild
@@ -62,6 +62,7 @@ PATCHES=(
"${FILESDIR}/${PN}"-2.0.10_rc1-bundled-Apache-Test.patch # 352724
"${FILESDIR}/${PN}"-2.0.10_rc1-Gentoo-not-Unix.patch
"${FILESDIR}/${PN}"-2.0.11-ranlib.patch # 728554
+ "${FILESDIR}/${PN}"-2.0.11-perl534.patch # 791403
)
src_prepare() {
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: www-apache/mod_perl/, www-apache/mod_perl/files/
@ 2022-06-28 14:32 David Seifert
0 siblings, 0 replies; 9+ messages in thread
From: David Seifert @ 2022-06-28 14:32 UTC (permalink / raw
To: gentoo-commits
commit: b0d403ffa033acba47631a0e345ada2ae9015958
Author: David Seifert <soap <AT> gentoo <DOT> org>
AuthorDate: Tue Jun 28 14:32:34 2022 +0000
Commit: David Seifert <soap <AT> gentoo <DOT> org>
CommitDate: Tue Jun 28 14:32:34 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b0d403ff
www-apache/mod_perl: update EAPI 5 -> 7
Closes: https://bugs.gentoo.org/828739
Signed-off-by: David Seifert <soap <AT> gentoo.org>
www-apache/mod_perl/files/mod_perl-2.0.1-sneak-tmpdir.patch | 4 ++--
www-apache/mod_perl/files/mod_perl-2.0.11-perl534.patch | 4 ++--
.../{mod_perl-2.0.11.ebuild => mod_perl-2.0.11-r1.ebuild} | 13 ++++++++-----
3 files changed, 12 insertions(+), 9 deletions(-)
diff --git a/www-apache/mod_perl/files/mod_perl-2.0.1-sneak-tmpdir.patch b/www-apache/mod_perl/files/mod_perl-2.0.1-sneak-tmpdir.patch
index 0930278aeba3..40c88c83eb87 100644
--- a/www-apache/mod_perl/files/mod_perl-2.0.1-sneak-tmpdir.patch
+++ b/www-apache/mod_perl/files/mod_perl-2.0.1-sneak-tmpdir.patch
@@ -1,5 +1,5 @@
---- t/conf/modperl_extra.pl.orig 2005-05-16 18:27:45.000000000 +1000
-+++ t/conf/modperl_extra.pl 2005-05-16 18:34:46.000000000 +1000
+--- a/t/conf/modperl_extra.pl
++++ b/t/conf/modperl_extra.pl
@@ -136,6 +136,8 @@
sub test_modperl_env {
# see t/response/TestModperl/env.pm
diff --git a/www-apache/mod_perl/files/mod_perl-2.0.11-perl534.patch b/www-apache/mod_perl/files/mod_perl-2.0.11-perl534.patch
index c6c5bed4ed0c..77db5f65263d 100644
--- a/www-apache/mod_perl/files/mod_perl-2.0.11-perl534.patch
+++ b/www-apache/mod_perl/files/mod_perl-2.0.11-perl534.patch
@@ -4,8 +4,8 @@ Fix build for perl >= 5.33.7
Patch by Leon Timmermans <fawaka@gmail.com> from https://github.com/Perl/perl5/issues/18617
---- perl/modperl/trunk/src/modules/perl/modperl_perl.c 2021/04/20 13:48:02 1889013
-+++ perl/modperl/trunk/src/modules/perl/modperl_perl.c 2021/04/20 13:55:29 1889014
+--- a/src/modules/perl/modperl_perl.c
++++ b/src/modules/perl/modperl_perl.c
@@ -268,7 +268,7 @@
#ifdef MP_NEED_HASH_SEED_FIXUP
if (MP_init_hash_seed_set) {
diff --git a/www-apache/mod_perl/mod_perl-2.0.11.ebuild b/www-apache/mod_perl/mod_perl-2.0.11-r1.ebuild
similarity index 95%
rename from www-apache/mod_perl/mod_perl-2.0.11.ebuild
rename to www-apache/mod_perl/mod_perl-2.0.11-r1.ebuild
index 77fb5135e3a3..3b0cc28a4471 100644
--- a/www-apache/mod_perl/mod_perl-2.0.11.ebuild
+++ b/www-apache/mod_perl/mod_perl-2.0.11-r1.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=5
+EAPI=7
-inherit depend.apache apache-module perl-module eutils
+inherit depend.apache apache-module perl-module
DESCRIPTION="An embedded Perl interpreter for Apache2"
HOMEPAGE="https://perl.apache.org/ https://projects.apache.org/project.html?perl-mod_perl"
@@ -15,7 +15,7 @@ KEYWORDS="amd64 ~arm ppc ppc64 x86"
IUSE="debug ithreads test"
RESTRICT="!test? ( test )"
-SRC_TEST=do
+DIST_TEST=do
# Apache::Reload, Apache::SizeLimit, and Apache::Test are force-unbundled.
# The minimum versions requested here are the bundled versions.
@@ -73,6 +73,8 @@ src_prepare() {
}
src_configure() {
+ _init_apache2_late
+
local debug=$(usex debug 1 0)
local nothreads=$(usex ithreads 0 1)
myconf=(
@@ -108,7 +110,8 @@ src_install() {
default
perl_delete_localpod
- perl_delete_packlist
+ perl_fix_packlist
+ perl_delete_emptybsdir
insinto "${APACHE_MODULES_CONFDIR}"
doins "${FILESDIR}"/2.0.3/apache2-mod_perl-startup.pl
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: www-apache/mod_perl/, www-apache/mod_perl/files/
@ 2023-07-05 0:38 Sam James
0 siblings, 0 replies; 9+ messages in thread
From: Sam James @ 2023-07-05 0:38 UTC (permalink / raw
To: gentoo-commits
commit: 7cc1e787332e9a2217e560abf40bbd3d10403ce0
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Wed Jul 5 00:32:32 2023 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Wed Jul 5 00:38:22 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7cc1e787
www-apache/mod_perl: add 2.0.12
Closes: https://bugs.gentoo.org/835357
Signed-off-by: Sam James <sam <AT> gentoo.org>
www-apache/mod_perl/Manifest | 1 +
.../mod_perl/files/mod_perl-2.0.12-avoid-pch.patch | 22 ++++
.../mod_perl/files/mod_perl-2.0.12-perl538.patch | 25 ++++
www-apache/mod_perl/mod_perl-2.0.12.ebuild | 144 +++++++++++++++++++++
4 files changed, 192 insertions(+)
diff --git a/www-apache/mod_perl/Manifest b/www-apache/mod_perl/Manifest
index 238175ecb66c..5e94a56ae488 100644
--- a/www-apache/mod_perl/Manifest
+++ b/www-apache/mod_perl/Manifest
@@ -1 +1,2 @@
DIST mod_perl-2.0.11.tar.gz 3848147 BLAKE2B 8eeef6d1fadbf9d2e3bcff33c5114e588f032c2497f5191b1edd30da8bce72eadf5ea62482ec8ece7d7fde308c8c41d6682d1a325760c627bee75c3ce8cf6272 SHA512 f232b215ccb9217f69ccced8a037470e5975900b9a6fcc5a2e4674e6559d21f026547c1b97c48109352043946dc22539dd38004759be16ad5cfcb3a96973dfdf
+DIST mod_perl-2.0.12.tar.gz 3848030 BLAKE2B fe4e57d76f7e7a79f171a96d2bab65743eeae45528c0bc3a8bc8ef6d91bb875d3857799f7d65cbf590994c30699a8646dbc905d76551fb97151d0827222a9ba2 SHA512 890dca0950847e32180485cabbeffbf236af2c92c7df957a233c210022b5172957eddb1db3e9281b87cd438d2fa404a05ae99c7eda098267c68d5e9262b400b0
diff --git a/www-apache/mod_perl/files/mod_perl-2.0.12-avoid-pch.patch b/www-apache/mod_perl/files/mod_perl-2.0.12-avoid-pch.patch
new file mode 100644
index 000000000000..989d472831f7
--- /dev/null
+++ b/www-apache/mod_perl/files/mod_perl-2.0.12-avoid-pch.patch
@@ -0,0 +1,22 @@
+Avoid sandbox denial while attempting to generate PCH:
+```
+F: fopen_wr
+S: deny
+P: /usr/include/apr-1/apr.h.gch
+A: /usr/include/apr-1/apr.h.gch
+R: /usr/include/apr-1/apr.h.gch
+C: /usr/libexec/gcc/x86_64-pc-linux-gnu/13/cc1 -quiet /usr/include/apr-1/apr.h -quiet -dM -dumpdir a- -dumpbase apr.h -dumpbase-ext .h -mtune=generic -march=x86-64 -o /tmp/ccfl5N0L.s --output-pch /usr/include/apr-1/apr.h.gch
+```
+
+Sent upstream by email on 2023-07-05.
+--- a/lib/Apache2/Build.pm
++++ b/lib/Apache2/Build.pm
+@@ -1502,7 +1502,7 @@ sub get_apr_config {
+ };
+ }
+ else {
+- my @command = ($self->perl_config('cpp'), '-dM', $header);
++ my @command = ($self->perl_config('cpp'), '-E', '-dM', $header);
+ open $fh, '-|', @command or do {
+ error "Unable to preprocess $header with @command: $!";
+ return undef;
diff --git a/www-apache/mod_perl/files/mod_perl-2.0.12-perl538.patch b/www-apache/mod_perl/files/mod_perl-2.0.12-perl538.patch
new file mode 100644
index 000000000000..3932dffe4a68
--- /dev/null
+++ b/www-apache/mod_perl/files/mod_perl-2.0.12-perl538.patch
@@ -0,0 +1,25 @@
+https://github.com/apache/mod_perl/commit/991cfeca9bac185f191510e0064f174d45718e6a
+
+From 991cfeca9bac185f191510e0064f174d45718e6a Mon Sep 17 00:00:00 2001
+From: Steve Hay <stevehay@apache.org>
+Date: Tue, 27 Jun 2023 08:38:15 +0000
+Subject: [PATCH] Stop using do_open9() - this deprecated function was removed
+ in 5.37.1
+
+Patch by Jitka Plesnikova <jplesnik@redhat.com> from https://rt.cpan.org/Ticket/Display.html?id=148451
+
+git-svn-id: https://svn.apache.org/repos/asf/perl/modperl/trunk@1910623 13f79535-47bb-0310-9956-ffa450edef68
+--- a/src/modules/perl/modperl_io.c
++++ b/src/modules/perl/modperl_io.c
+@@ -116,8 +116,8 @@ modperl_io_perlio_override_stdhandle(pTHX_ request_rec *r, int mode)
+ save_gp(handle, 1);
+
+ sv_setref_pv(sv, "Apache2::RequestRec", (void*)r);
+- status = do_open9(handle, mode == O_RDONLY ? "<:Apache2" : ">:Apache2",
+- 9, FALSE, mode, 0, (PerlIO *)NULL, sv, 1);
++ status = do_openn(handle, mode == O_RDONLY ? "<:Apache2" : ">:Apache2",
++ 9, FALSE, mode, 0, (PerlIO *)NULL, &sv, 1);
+ if (status == 0) {
+ Perl_croak(aTHX_ "Failed to open STD%s: %" SVf,
+ mode == O_RDONLY ? "IN" : "OUT", get_sv("!", TRUE));
+
diff --git a/www-apache/mod_perl/mod_perl-2.0.12.ebuild b/www-apache/mod_perl/mod_perl-2.0.12.ebuild
new file mode 100644
index 000000000000..cf5c08e8fa9b
--- /dev/null
+++ b/www-apache/mod_perl/mod_perl-2.0.12.ebuild
@@ -0,0 +1,144 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+DIST_TEST=do
+inherit depend.apache apache-module perl-module
+
+DESCRIPTION="An embedded Perl interpreter for Apache2"
+HOMEPAGE="https://perl.apache.org/ https://projects.apache.org/project.html?perl-mod_perl"
+SRC_URI="mirror://apache/perl/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="1"
+KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~riscv ~x86"
+IUSE="debug ithreads test"
+RESTRICT="!test? ( test )"
+
+# Apache::Reload, Apache::SizeLimit, and Apache::Test are force-unbundled.
+# The minimum versions requested here are the bundled versions.
+
+# The test dependencies are from CPAN (Bundle::Apache2).
+
+# When all MPMs are disabled via useflags, the apache ebuild selects a
+# default one, which will likely need threading.
+
+RDEPEND="
+ dev-lang/perl[ithreads=]
+ >=dev-perl/Apache-Test-1.420.0
+ >=www-servers/apache-2.0.47
+ >=dev-libs/apr-util-1.4
+ !ithreads? ( www-servers/apache[-apache2_mpms_event,-apache2_mpms_worker,apache2_mpms_prefork] )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ dev-perl/Module-Build
+ test? (
+ >=dev-perl/CGI-3.110.0
+ dev-perl/Chatbot-Eliza
+ dev-perl/Devel-Symdump
+ dev-perl/HTML-Parser
+ dev-perl/IPC-Run3
+ dev-perl/libwww-perl
+ www-servers/apache[apache2_modules_version,-apache2_modules_unique_id]
+ !www-apache/mpm_itk
+ )
+"
+PDEPEND="
+ >=dev-perl/Apache-Reload-0.130.0
+ >=dev-perl/Apache-SizeLimit-0.970.0
+"
+
+APACHE2_MOD_FILE="${S}/src/modules/perl/mod_perl.so"
+APACHE2_MOD_CONF="2.0.3/75_${PN}"
+APACHE2_MOD_DEFINE="PERL"
+
+need_apache2
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-2.0.1-sneak-tmpdir.patch # seems to fix the make test problem
+ "${FILESDIR}"/${PN}-2.0.4-inline.patch # 550244
+ "${FILESDIR}"/${PN}-2.0.10_rc1-bundled-Apache-Test.patch # 352724
+ "${FILESDIR}"/${PN}-2.0.10_rc1-Gentoo-not-Unix.patch
+ "${FILESDIR}"/${PN}-2.0.11-ranlib.patch # 728554
+ "${FILESDIR}"/${PN}-2.0.12-perl538.patch
+ "${FILESDIR}"/${PN}-2.0.12-avoid-pch.patch
+)
+
+src_prepare() {
+ perl-module_src_prepare
+
+ # chainsaw unbundling
+ rm -rf Apache-{Test,Reload,SizeLimit}/ lib/Bundle/ || die
+}
+
+src_configure() {
+ _init_apache2_late
+
+ local debug=$(usex debug 1 0)
+ local nothreads=$(usex ithreads 0 1)
+ myconf=(
+ MP_USE_DSO=1
+ MP_APXS=${APXS}
+ MP_APR_CONFIG=/usr/bin/apr-1-config
+ MP_TRACE=${debug}
+ MP_DEBUG=${debug}
+ MP_NO_THREADS=${nothreads}
+ )
+
+ perl-module_src_configure
+}
+
+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}" "${T}" || die
+ fi
+
+ # We force verbose tests for now to get meaningful bug reports.
+ MAKEOPTS+=" -j1"
+ TMPDIR="${T}" HOME="${T}/" TEST_VERBOSE=1 LC_TIME=C perl-module_src_test
+}
+
+src_install() {
+ apache-module_src_install
+
+ default
+
+ perl_delete_localpod
+ perl_fix_packlist
+ perl_delete_emptybsdir
+
+ insinto "${APACHE_MODULES_CONFDIR}"
+ doins "${FILESDIR}"/2.0.3/apache2-mod_perl-startup.pl
+
+ # 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.
+
+ perl_set_version
+ sed -i \
+ -e "s,-I${S}/[^[:space:]\"\']\+[[:space:]]\?,,g" \
+ -e "s,-typemap[[:space:]]${S}/[^[:space:]\"\']\+[[:space:]]\?,,g" \
+ -e "s,${S}\(/[^[:space:]\"\']\+\)\?,/,g" \
+ "${D}/${VENDOR_ARCH}/Apache2/BuildConfig.pm" || die
+
+ local fname
+ for fname in $(find "${D}" -type f -not -name '*.so'); do
+ grep -q "\(${D}\|${S}\)" "${fname}" && ewarn "QA: File contains a temporary path ${fname}"
+ sed -i -e "s:\(${D}\|${S}\):/:g" ${fname} || die
+ done
+
+ perl_remove_temppath
+}
+
+pkg_postinst() {
+ apache-module_pkg_postinst
+}
^ permalink raw reply related [flat|nested] 9+ messages in thread
end of thread, other threads:[~2023-07-05 0:38 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-12-21 23:39 [gentoo-commits] repo/gentoo:master commit in: www-apache/mod_perl/, www-apache/mod_perl/files/ Andreas K. Hüttel
-- strict thread matches above, loose matches on Subject: below --
2023-07-05 0:38 Sam James
2022-06-28 14:32 David Seifert
2021-05-22 14:52 Andreas K. Hüttel
2017-04-30 11:32 Andreas Hüttel
2017-04-19 21:40 Andreas Hüttel
2016-10-01 12:00 Andreas Hüttel
2016-01-09 20:10 Andreas Hüttel
2015-12-29 9:10 Tobias Klausmann
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox