From: "Sam James" <sam@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: www-apache/mod_perl/, www-apache/mod_perl/files/
Date: Wed, 5 Jul 2023 00:38:47 +0000 (UTC) [thread overview]
Message-ID: <1688517502.7cc1e787332e9a2217e560abf40bbd3d10403ce0.sam@gentoo> (raw)
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
+}
next reply other threads:[~2023-07-05 0:38 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-07-05 0:38 Sam James [this message]
-- strict thread matches above, loose matches on Subject: below --
2022-06-28 14:32 [gentoo-commits] repo/gentoo:master commit in: www-apache/mod_perl/, www-apache/mod_perl/files/ David Seifert
2021-05-22 14:52 Andreas K. Hüttel
2018-12-21 23:39 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
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1688517502.7cc1e787332e9a2217e560abf40bbd3d10403ce0.sam@gentoo \
--to=sam@gentoo.org \
--cc=gentoo-commits@lists.gentoo.org \
--cc=gentoo-dev@lists.gentoo.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox