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 |
+} |