public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [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