Gentoo Archives: gentoo-commits

From: "Andreas Hüttel" <dilfridge@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: www-apache/mod_perl/, www-apache/mod_perl/files/
Date: Sat, 01 Oct 2016 13:17:34
Message-Id: 1475323194.5b1864cdd9a0e05afe4f401698f7f7dffab97f9f.dilfridge@gentoo
1 commit: 5b1864cdd9a0e05afe4f401698f7f7dffab97f9f
2 Author: Andreas K. Hüttel <dilfridge <AT> gentoo <DOT> org>
3 AuthorDate: Sat Oct 1 11:46:29 2016 +0000
4 Commit: Andreas Hüttel <dilfridge <AT> gentoo <DOT> org>
5 CommitDate: Sat Oct 1 11:59:54 2016 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5b1864cd
7
8 www-apache/mod_perl: Version bump to 2.0.10-rc1 with more or less complete rework; tests should pass now
9
10 Package-Manager: portage-2.3.1
11
12 www-apache/mod_perl/Manifest | 1 +
13 .../mod_perl-2.0.10_rc1-Gentoo-not-Unix.patch | 36 ++++++
14 .../mod_perl-2.0.10_rc1-bundled-Apache-Test.patch | 80 ++++++++++++
15 www-apache/mod_perl/mod_perl-2.0.10_rc1.ebuild | 137 +++++++++++++++++++++
16 4 files changed, 254 insertions(+)
17
18 diff --git a/www-apache/mod_perl/Manifest b/www-apache/mod_perl/Manifest
19 index 3c73173..f57c1e5 100644
20 --- a/www-apache/mod_perl/Manifest
21 +++ b/www-apache/mod_perl/Manifest
22 @@ -1,2 +1,3 @@
23 +DIST mod_perl-2.0.10-rc1.tar.gz 3845157 SHA256 d01da2b8b8acd9e2f4853f130f142259296310fb961bb3c55ad029b5a8d5d7af SHA512 9c99de8d553bce98786d6e99a78abdb39ecc411b82456a0cec0a667bd5d274c5978fd76ca4e9489d06e6661c64ab60b281fc8c741289777b1e0d067114a7a904 WHIRLPOOL 827f9f64524de44456a091e7fb558997e9ec8901a887d2b8d5767545cd330d4a0b18e6a6b2e00b31e36ac365d1b7c5b7aaad6aa5404a05e330f2c0ddae82497e
24 DIST mod_perl-2.0.10_pre201601.tar.gz 3854229 SHA256 a89c23b66b21c600b74a48125c02c91159c07b08cc07fb4f55015e8e07713697 SHA512 04e57e79031374f3ec432e950fb9f79d1202da9dfc0d86a5137b7346c18f313a4e58ecfffed51efd7e6494baec86b22a42d6712ce5f7824f9f479c05bac00659 WHIRLPOOL 5d37b067aa945cafc0cc7a1f1b27257d8409f6804f22880ae7fd6c21424bbd2c07bace483d95590d255678725f67d081741978cff24cfc91716c08294547e622
25 DIST mod_perl-2.0.8.tar.gz 3790026 SHA256 35dc1b7a40a90a395ce88bba2df84f22289975f34d1757de6d715560c20a20e6 SHA512 d5090651699c4436fe8d0a525226543c971aa05db337dc1b1e89023183df1c7dd8b8775f3a0f7d3b9ec40e8c058ac23bd24141cf15a5fe5806226d634dfb4c87 WHIRLPOOL d22e1c353339b08ad752e9f9c7fc0ec4d6a173c4cd3004380b14098e1028737e0eb69d2f56dbe0da3cbfb01b31232c5073d7edb28bf4fed6b2ccd67b09ad7080
26
27 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
28 new file mode 100644
29 index 00000000..578878f
30 --- /dev/null
31 +++ b/www-apache/mod_perl/files/mod_perl-2.0.10_rc1-Gentoo-not-Unix.patch
32 @@ -0,0 +1,36 @@
33 +Tests fail because the server banner contains "Gentoo" instead of "Unix". Disable them.
34 +
35 +
36 +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
37 +--- mod_perl-2.0.10-rc1.orig/t/response/TestAPI/server_const.pm 2016-09-30 14:45:31.000000000 +0200
38 ++++ mod_perl-2.0.10-rc1/t/response/TestAPI/server_const.pm 2016-10-01 13:18:02.359794404 +0200
39 +@@ -25,7 +25,7 @@
40 +
41 + my $r = shift;
42 +
43 +- plan $r, tests => 6;
44 ++ plan $r, tests => 4;
45 +
46 + # test Apache2::ServerUtil constant subroutines
47 +
48 +@@ -45,13 +45,13 @@
49 + ok t_cmp($server_descr, qr!\bworld domination series/2\.0\b!,
50 + 'Apache2::ServerUtil::get_server_description() -- component');
51 +
52 +- # assuming ServerTokens Full (default) the banner equals description
53 +- ok t_cmp(Apache2::ServerUtil::get_server_banner, $server_descr,
54 +- 'Apache2::ServerUtil::get_server_banner()');
55 +-
56 +- # version is just an alias for banner
57 +- ok t_cmp(Apache2::ServerUtil::get_server_version, $server_descr,
58 +- 'Apache2::ServerUtil::get_server_version()');
59 ++# # assuming ServerTokens Full (default) the banner equals description
60 ++# ok t_cmp(Apache2::ServerUtil::get_server_banner, $server_descr,
61 ++# 'Apache2::ServerUtil::get_server_banner()');
62 ++
63 ++# # version is just an alias for banner
64 ++# ok t_cmp(Apache2::ServerUtil::get_server_version, $server_descr,
65 ++# 'Apache2::ServerUtil::get_server_version()');
66 +
67 + Apache2::Const::OK;
68 + }
69
70 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
71 new file mode 100644
72 index 00000000..e8ec5d0
73 --- /dev/null
74 +++ b/www-apache/mod_perl/files/mod_perl-2.0.10_rc1-bundled-Apache-Test.patch
75 @@ -0,0 +1,80 @@
76 +diff -ruN mod_perl-2.0.10-rc1.orig/Makefile.PL mod_perl-2.0.10-rc1/Makefile.PL
77 +--- mod_perl-2.0.10-rc1.orig/Makefile.PL 2016-09-30 14:45:23.000000000 +0200
78 ++++ mod_perl-2.0.10-rc1/Makefile.PL 2016-10-01 00:35:17.140862642 +0200
79 +@@ -25,7 +25,7 @@
80 +
81 + }
82 +
83 +-use lib qw(lib Apache-Test/lib);
84 ++use lib qw(lib);
85 +
86 + use Config;
87 + use File::Spec::Functions;
88 +@@ -122,15 +122,6 @@
89 +
90 + sub configure {
91 +
92 +- # mod_perl test suite relies on having Apache-Test bundled with
93 +- # the mod_perl source, since any pre-installed version may not do
94 +- # the right thing
95 +- unless (-d "Apache-Test") {
96 +- error "Can't find a sub-directory Apache-Test. " .
97 +- "Make sure that you are using a complete source distribution";
98 +- exit 1;
99 +- }
100 +-
101 + set_modperl_version();
102 +
103 + if ($old_modperl_version) {
104 +@@ -853,14 +844,9 @@
105 + run_subtests ::
106 + cd ModPerl-Registry && $(MAKE) test
107 +
108 +-run_subtests ::
109 +- cd Apache-Reload && $(MAKE) test
110 +-
111 + EOF
112 +
113 + $preamble .= <<'EOF' unless $build->mpm_is_threaded();
114 +-run_subtests ::
115 +- cd Apache-SizeLimit && $(MAKE) test
116 +
117 + EOF
118 +
119 +diff -ruN mod_perl-2.0.10-rc1.orig/lib/ModPerl/BuildMM.pm mod_perl-2.0.10-rc1/lib/ModPerl/BuildMM.pm
120 +--- mod_perl-2.0.10-rc1.orig/lib/ModPerl/BuildMM.pm 2016-09-30 14:45:23.000000000 +0200
121 ++++ mod_perl-2.0.10-rc1/lib/ModPerl/BuildMM.pm 2016-10-01 00:35:17.140862642 +0200
122 +@@ -39,12 +39,10 @@
123 + ModPerl::MM::override_eu_mm_mv_all_methods(@methods);
124 + use strict 'refs';
125 +
126 +-my $apache_test_dir = catdir Cwd::getcwd(), "Apache-Test", "lib";
127 +-
128 + #to override MakeMaker MOD_INSTALL macro
129 + sub mod_install {
130 + q{$(PERL) -I$(INST_LIB) -I$(PERL_LIB) \\}."\n" .
131 +- qq{-I$apache_test_dir -MModPerl::BuildMM \\}."\n" .
132 ++ qq{-MModPerl::BuildMM \\}."\n" .
133 + q{-e "ExtUtils::Install::install({@ARGV},'$(VERBINST)',0,'$(UNINST)');"}."\n";
134 + }
135 +
136 +@@ -271,7 +269,7 @@
137 +
138 + push @target,
139 + '$(FULLPERL) -I$(INST_LIB) ' .
140 +- "-I$apache_test_dir -MModPerl::BuildMM " .
141 ++ "-MModPerl::BuildMM " .
142 + "-e ModPerl::BuildMM::glue_pod $pm $podpath $blib";
143 +
144 + # Win32 doesn't normally install man pages
145 +diff -ruN mod_perl-2.0.10-rc1.orig/lib/ModPerl/Manifest.pm mod_perl-2.0.10-rc1/lib/ModPerl/Manifest.pm
146 +--- mod_perl-2.0.10-rc1.orig/lib/ModPerl/Manifest.pm 2016-09-30 14:45:23.000000000 +0200
147 ++++ mod_perl-2.0.10-rc1/lib/ModPerl/Manifest.pm 2016-10-01 00:35:17.140862642 +0200
148 +@@ -119,7 +119,6 @@
149 + t/apr-ext/perlio
150 + # PAUSE breaks if a dist has more than one META.yml. the top-level
151 + # META.yml already excludes Apache-Test from indexing
152 +-Apache-Test/META.yml
153 + # exclude Apache-Test/MANIFEST since it confuses the mp2 build (e.g it
154 + # wants Apache-Test/META.yml which we don't supply, see above)
155 + Apache-Test/MANIFEST
156
157 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
158 new file mode 100644
159 index 00000000..3de1718
160 --- /dev/null
161 +++ b/www-apache/mod_perl/mod_perl-2.0.10_rc1.ebuild
162 @@ -0,0 +1,137 @@
163 +# Copyright 1999-2016 Gentoo Foundation
164 +# Distributed under the terms of the GNU General Public License v2
165 +# $Id$
166 +
167 +EAPI=5
168 +
169 +inherit depend.apache apache-module perl-module eutils
170 +
171 +DESCRIPTION="An embedded Perl interpreter for Apache2"
172 +HOMEPAGE="https://perl.apache.org/"
173 +#SRC_URI="mirror://apache/perl/${P}.tar.gz"
174 +SRC_URI="https://dist.apache.org/repos/dist/dev/perl/mod_perl-2.0.10-rc1.tar.gz"
175 +
176 +LICENSE="Apache-2.0"
177 +SLOT="1"
178 +KEYWORDS="~amd64 ~x86"
179 +IUSE="debug test apache2_mpms_event apache2_mpms_worker apache2_mpms_prefork"
180 +
181 +S=${WORKDIR}/${P/_rc1/-rc1}
182 +
183 +SRC_TEST=do
184 +
185 +# Apache::Reload, Apache::SizeLimit, and Apache::Test are force-unbundled.
186 +# The minimum versions requested here are the bundled versions.
187 +
188 +# The test dependencies are from CPAN (Bundle::Apache2).
189 +
190 +# When all MPMs are disabled via useflags, the apache ebuild selects a
191 +# default one, which will likely need threading...
192 +
193 +RDEPEND="
194 + >=dev-perl/Apache-Test-1.400.0
195 + >=www-servers/apache-2.0.47
196 + apache2_mpms_event? ( dev-lang/perl[ithreads] )
197 + apache2_mpms_worker? ( dev-lang/perl[ithreads] )
198 + !apache2_mpms_event? ( !apache2_mpms_worker? ( !apache2_mpms_prefork? ( dev-lang/perl[ithreads] ) ) )
199 +"
200 +DEPEND="${RDEPEND}
201 + dev-perl/Module-Build
202 + test? (
203 + >=dev-perl/CGI-3.110.0
204 + dev-perl/Chatbot-Eliza
205 + dev-perl/Devel-Symdump
206 + dev-perl/HTML-Parser
207 + dev-perl/IPC-Run3
208 + dev-perl/libwww-perl
209 + www-servers/apache[apache2_modules_version,-apache2_modules_unique_id]
210 + )
211 +"
212 +PDEPEND="
213 + >=dev-perl/Apache-Reload-0.130.0
214 + >=dev-perl/Apache-SizeLimit-0.970.0
215 +"
216 +
217 +APACHE2_MOD_FILE="${S}/src/modules/perl/mod_perl.so"
218 +APACHE2_MOD_CONF="2.0.3/75_${PN}"
219 +APACHE2_MOD_DEFINE="PERL"
220 +
221 +need_apache2
222 +
223 +PATCHES=(
224 + "${FILESDIR}/${PN}"-2.0.1-sneak-tmpdir.patch # seems to fix the make test problem
225 + "${FILESDIR}/${PN}"-2.0.4-inline.patch # 550244
226 + "${FILESDIR}/${PN}"-2.0.10_rc1-bundled-Apache-Test.patch # 352724
227 + "${FILESDIR}/${PN}"-2.0.10_rc1-Gentoo-not-Unix.patch
228 +)
229 +
230 +src_prepare() {
231 + perl-module_src_prepare
232 +
233 + # chainsaw unbundling
234 + rm -rf Apache-{Test,Reload,SizeLimit}/ lib/Bundle/
235 +}
236 +
237 +src_configure() {
238 + local debug=$(usex debug 1 0)
239 + myconf=(
240 + MP_USE_DSO=1
241 + MP_APXS=${APXS}
242 + MP_APR_CONFIG=/usr/bin/apr-1-config
243 + MP_TRACE=${debug}
244 + MP_DEBUG=${debug}
245 + )
246 +
247 + perl-module_src_configure
248 +}
249 +
250 +src_test() {
251 + # make test notes whether it is running as root, and drops
252 + # privileges all the way to "nobody" if so, so we must adjust
253 + # write permissions accordingly in this case.
254 +
255 + # IF YOU SUDO TO EMERGE AND HAVE !env_reset set testing will fail!
256 + if [[ "$(id -u)" == "0" ]]; then
257 + chown nobody:nobody "${WORKDIR}" "${T}"
258 + fi
259 +
260 + # We force verbose tests for now to get meaningful bug reports.
261 + MAKEOPTS+=" -j1"
262 + TMPDIR="${T}" HOME="${T}/" TEST_VERBOSE=1 perl-module_src_test
263 +}
264 +
265 +src_install() {
266 + apache-module_src_install
267 +
268 + default
269 +
270 + perl_delete_localpod
271 + perl_delete_packlist
272 +
273 + insinto "${APACHE_MODULES_CONFDIR}"
274 + doins "${FILESDIR}"/2.0.3/apache2-mod_perl-startup.pl
275 +
276 + # this is an attempt to get @INC in line with /usr/bin/perl.
277 + # there is blib garbage in the mainstream one that can only be
278 + # useful during internal testing, so we wait until here and then
279 + # just go with a clean slate. should be much easier to see what's
280 + # happening and revert if problematic.
281 +
282 + perl_set_version
283 + sed -i \
284 + -e "s,-I${S}/[^[:space:]\"\']\+[[:space:]]\?,,g" \
285 + -e "s,-typemap[[:space:]]${S}/[^[:space:]\"\']\+[[:space:]]\?,,g" \
286 + -e "s,${S}\(/[^[:space:]\"\']\+\)\?,/,g" \
287 + "${D}/${VENDOR_ARCH}/Apache2/BuildConfig.pm" || die
288 +
289 + for fname in $(find "${D}" -type f -not -name '*.so'); do
290 + grep -q "\(${D}\|${S}\)" "${fname}" && ewarn "QA: File contains a temporary path ${fname}"
291 + sed -i -e "s:\(${D}\|${S}\):/:g" ${fname}
292 + done
293 +
294 + perl_remove_temppath
295 +}
296 +
297 +pkg_postinst() {
298 + apache-module_pkg_postinst
299 +}