1 |
commit: 4ab3674a4357ebbf5cf4831ecd5138b0db298087 |
2 |
Author: Michael Mair-Keimberger (asterix) <m.mairkeimberger <AT> gmail <DOT> com> |
3 |
AuthorDate: Mon Feb 13 18:11:44 2017 +0000 |
4 |
Commit: Patrice Clement <monsieurp <AT> gentoo <DOT> org> |
5 |
CommitDate: Tue Feb 14 21:17:06 2017 +0000 |
6 |
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4ab3674a |
7 |
|
8 |
www-apache/mod_perl: remove unused patch. |
9 |
|
10 |
Closes: https://github.com/gentoo/gentoo/pull/3961 |
11 |
|
12 |
.../mod_perl/files/mod_perl_init_b554794.patch | 241 --------------------- |
13 |
1 file changed, 241 deletions(-) |
14 |
|
15 |
diff --git a/www-apache/mod_perl/files/mod_perl_init_b554794.patch b/www-apache/mod_perl/files/mod_perl_init_b554794.patch |
16 |
deleted file mode 100644 |
17 |
index b33a34a6ef..0000000000 |
18 |
--- a/www-apache/mod_perl/files/mod_perl_init_b554794.patch |
19 |
+++ /dev/null |
20 |
@@ -1,241 +0,0 @@ |
21 |
---- a/src/modules/perl/modperl_env.c.orig 2015-12-28 11:42:26.604632457 +0100 |
22 |
-+++ b/src/modules/perl/modperl_env.c 2015-12-28 12:36:35.305228288 +0100 |
23 |
-@@ -120,6 +120,7 @@ |
24 |
- const apr_array_header_t *array; |
25 |
- apr_table_entry_t *elts; |
26 |
- |
27 |
-+ modperl_env_init(aTHX); |
28 |
- modperl_env_untie(mg_flags); |
29 |
- |
30 |
- array = apr_table_elts(table); |
31 |
-@@ -431,13 +432,11 @@ |
32 |
- } |
33 |
- |
34 |
- /* to store the original virtual tables |
35 |
-- * these are global, not per-interpreter |
36 |
-+ * handy access to perl's original virtual tables |
37 |
- */ |
38 |
--static MGVTBL MP_PERL_vtbl_env; |
39 |
--static MGVTBL MP_PERL_vtbl_envelem; |
40 |
- |
41 |
- #define MP_PL_vtbl_call(name, meth) \ |
42 |
-- MP_PERL_vtbl_##name.svt_##meth(aTHX_ sv, mg) |
43 |
-+ PL_vtbl_##name.svt_##meth(aTHX_ sv, mg) |
44 |
- |
45 |
- #define MP_dENV_KEY \ |
46 |
- STRLEN klen; \ |
47 |
-@@ -534,6 +533,26 @@ |
48 |
- return 0; |
49 |
- } |
50 |
- |
51 |
-+static int modperl_env_magic_copy(pTHX_ SV *sv, MAGIC *mg, SV *nsv, const char *name, I32 namlen) |
52 |
-+{ |
53 |
-+ MP_TRACE_e(MP_FUNC, "setting up %%ENV element magic"); |
54 |
-+ sv_magicext(nsv, mg->mg_obj, toLOWER(mg->mg_type), &MP_vtbl_envelem, name, namlen); |
55 |
-+ |
56 |
-+ return 1; |
57 |
-+} |
58 |
-+ |
59 |
-+static int modperl_env_magic_local_all(pTHX_ SV *nsv, MAGIC *mg) |
60 |
-+{ |
61 |
-+ MAGIC *nmg; |
62 |
-+ MP_TRACE_e(MP_FUNC, "localizing %%ENV"); |
63 |
-+ nmg = sv_magicext(nsv, mg->mg_obj, mg->mg_type, &MP_vtbl_env, (char*)NULL, 0); |
64 |
-+ nmg->mg_ptr = mg->mg_ptr; |
65 |
-+ nmg->mg_flags |= MGf_COPY; |
66 |
-+ nmg->mg_flags |= MGf_LOCAL; |
67 |
-+ |
68 |
-+ return 1; |
69 |
-+} |
70 |
-+ |
71 |
- static int modperl_env_magic_set(pTHX_ SV *sv, MAGIC *mg) |
72 |
- { |
73 |
- request_rec *r = (request_rec *)EnvMgObj; |
74 |
-@@ -625,15 +644,18 @@ |
75 |
- #endif |
76 |
- |
77 |
- /* override %ENV virtual tables with our own */ |
78 |
--static MGVTBL MP_vtbl_env = { |
79 |
-+MGVTBL MP_vtbl_env = { |
80 |
- 0, |
81 |
- modperl_env_magic_set_all, |
82 |
- 0, |
83 |
- modperl_env_magic_clear_all, |
84 |
-- 0 |
85 |
-+ 0, |
86 |
-+ modperl_env_magic_copy, |
87 |
-+ 0, |
88 |
-+ modperl_env_magic_local_all |
89 |
- }; |
90 |
- |
91 |
--static MGVTBL MP_vtbl_envelem = { |
92 |
-+MGVTBL MP_vtbl_envelem = { |
93 |
- 0, |
94 |
- modperl_env_magic_set, |
95 |
- 0, |
96 |
-@@ -641,20 +663,62 @@ |
97 |
- 0 |
98 |
- }; |
99 |
- |
100 |
--void modperl_env_init(void) |
101 |
-+void modperl_env_init(pTHX) |
102 |
- { |
103 |
-- /* save originals */ |
104 |
-- StructCopy(&PL_vtbl_env, &MP_PERL_vtbl_env, MGVTBL); |
105 |
-- StructCopy(&PL_vtbl_envelem, &MP_PERL_vtbl_envelem, MGVTBL); |
106 |
-+ MAGIC *mg; |
107 |
- |
108 |
-- /* replace with our versions */ |
109 |
-- StructCopy(&MP_vtbl_env, &PL_vtbl_env, MGVTBL); |
110 |
-- StructCopy(&MP_vtbl_envelem, &PL_vtbl_envelem, MGVTBL); |
111 |
-+ /* Find the 'E' magic on %ENV */ |
112 |
-+ if (!my_perl) |
113 |
-+ return; |
114 |
-+ if (!PL_envgv) |
115 |
-+ return; |
116 |
-+ if (!SvRMAGICAL(ENVHV)) |
117 |
-+ return; |
118 |
-+ mg = mg_find((const SV *)ENVHV, PERL_MAGIC_env); |
119 |
-+ if (!mg) |
120 |
-+ return; |
121 |
-+ |
122 |
-+ /* Ignore it if it isn't perl's original version */ |
123 |
-+ if (mg->mg_virtual != &PL_vtbl_env) |
124 |
-+ return; |
125 |
-+ |
126 |
-+ MP_TRACE_e(MP_FUNC, "env_init - ptr: %x obj: %x flags: %x", |
127 |
-+ mg->mg_ptr, mg->mg_obj, mg->mg_flags); |
128 |
-+ |
129 |
-+ /* Remove it */ |
130 |
-+ mg_free_type((SV*)ENVHV, PERL_MAGIC_env); |
131 |
-+ |
132 |
-+ /* Add our version instead */ |
133 |
-+ mg = sv_magicext((SV*)ENVHV, (SV*)NULL, PERL_MAGIC_env, &MP_vtbl_env, (char*)NULL, 0); |
134 |
-+ mg->mg_flags |= MGf_COPY; |
135 |
-+ mg->mg_flags |= MGf_LOCAL; |
136 |
- } |
137 |
- |
138 |
--void modperl_env_unload(void) |
139 |
-+void modperl_env_unload(pTHX) |
140 |
- { |
141 |
-- /* restore originals */ |
142 |
-- StructCopy(&MP_PERL_vtbl_env, &PL_vtbl_env, MGVTBL); |
143 |
-- StructCopy(&MP_PERL_vtbl_envelem, &PL_vtbl_envelem, MGVTBL); |
144 |
-+ MAGIC *mg; |
145 |
-+ |
146 |
-+ /* Find the 'E' magic on %ENV */ |
147 |
-+ if (!my_perl) |
148 |
-+ return; |
149 |
-+ if (!PL_envgv) |
150 |
-+ return; |
151 |
-+ if (!SvRMAGICAL(ENVHV)) |
152 |
-+ return; |
153 |
-+ mg = mg_find((const SV *)ENVHV, PERL_MAGIC_env); |
154 |
-+ if (!mg) |
155 |
-+ return; |
156 |
-+ |
157 |
-+ /* Ignore it if it isn't our version */ |
158 |
-+ if (mg->mg_virtual != &MP_vtbl_env) |
159 |
-+ return; |
160 |
-+ |
161 |
-+ MP_TRACE_e(MP_FUNC, "env_unload - ptr: %x obj: %x flags: %x", |
162 |
-+ mg->mg_ptr, mg->mg_obj, mg->mg_flags); |
163 |
-+ |
164 |
-+ /* Remove it */ |
165 |
-+ mg_free_type((SV*)ENVHV, PERL_MAGIC_env); |
166 |
-+ |
167 |
-+ /* Restore perl's original version */ |
168 |
-+ sv_magicext((SV*)ENVHV, (SV*)NULL, PERL_MAGIC_env, &PL_vtbl_env, (char*)NULL, 0); |
169 |
- } |
170 |
---- a/src/modules/perl/modperl_env.h.orig 2015-12-28 11:42:34.868727490 +0100 |
171 |
-+++ b/src/modules/perl/modperl_env.h 2015-12-28 12:37:47.730041274 +0100 |
172 |
-@@ -28,7 +28,7 @@ |
173 |
- MP_magical_tie(ENVHV, mg_flags) |
174 |
- |
175 |
- #define modperl_envelem_tie(sv, key, klen) \ |
176 |
-- sv_magic(sv, (SV *)NULL, 'e', key, klen) |
177 |
-+ sv_magicext(sv, (SV *)NULL, PERL_MAGIC_envelem, &MP_vtbl_envelem, key, klen) |
178 |
- |
179 |
- void modperl_env_hash_keys(pTHX); |
180 |
- |
181 |
-@@ -58,8 +58,11 @@ |
182 |
- |
183 |
- void modperl_env_request_untie(pTHX_ request_rec *r); |
184 |
- |
185 |
--void modperl_env_init(void); |
186 |
-+void modperl_env_init(pTHX); |
187 |
- |
188 |
--void modperl_env_unload(void); |
189 |
-+void modperl_env_unload(pTHX); |
190 |
-+ |
191 |
-+MGVTBL MP_vtbl_env; |
192 |
-+MGVTBL MP_vtbl_envelem; |
193 |
- |
194 |
- #endif /* MODPERL_ENV_H */ |
195 |
-Index: trunk/src/modules/perl/modperl_perl.c |
196 |
-=================================================================== |
197 |
---- trunk/src/modules/perl/modperl_perl.c (revision 1717473) |
198 |
-+++ trunk/src/modules/perl/modperl_perl.c (revision 1717474) |
199 |
-@@ -181,6 +181,8 @@ |
200 |
- } |
201 |
- } |
202 |
- |
203 |
-+ modperl_env_unload(perl); |
204 |
-+ |
205 |
- perl_destruct(perl); |
206 |
- |
207 |
- /* XXX: big bug in 5.6.1 fixed in 5.7.2+ |
208 |
-Index: trunk/src/modules/perl/mod_perl.c |
209 |
-=================================================================== |
210 |
---- trunk/src/modules/perl/mod_perl.c (revision 1717473) |
211 |
-+++ trunk/src/modules/perl/mod_perl.c (revision 1717474) |
212 |
-@@ -262,6 +262,8 @@ |
213 |
- exit(1); |
214 |
- } |
215 |
- |
216 |
-+ modperl_env_init(aTHX); |
217 |
-+ |
218 |
- /* suspend END blocks to be run at server shutdown */ |
219 |
- endav = PL_endav; |
220 |
- PL_endav = (AV *)NULL; |
221 |
-@@ -576,9 +578,6 @@ |
222 |
- /* modifies PL_ppaddr */ |
223 |
- modperl_perl_pp_set_all(); |
224 |
- |
225 |
-- /* modifies PL_vtbl_env{elem} */ |
226 |
-- modperl_env_init(); |
227 |
-- |
228 |
- return APR_SUCCESS; |
229 |
- } |
230 |
- |
231 |
-@@ -597,8 +596,6 @@ |
232 |
- |
233 |
- MP_TRACE_i(MP_FUNC, "mod_perl sys term"); |
234 |
- |
235 |
-- modperl_env_unload(); |
236 |
-- |
237 |
- modperl_perl_pp_unset_all(); |
238 |
- |
239 |
- PERL_SYS_TERM(); |
240 |
-Index: trunk/t/response/TestModperl/env.pm |
241 |
-=================================================================== |
242 |
---- trunk/t/response/TestModperl/env.pm (revision 1717473) |
243 |
-+++ trunk/t/response/TestModperl/env.pm (revision 1717474) |
244 |
-@@ -15,7 +15,7 @@ |
245 |
- sub handler { |
246 |
- my $r = shift; |
247 |
- |
248 |
-- plan $r, tests => 23 + keys(%ENV); |
249 |
-+ plan $r, tests => 23 + 3 * keys(%ENV); |
250 |
- |
251 |
- my $env = $r->subprocess_env; |
252 |
- |
253 |
-@@ -75,6 +75,8 @@ |
254 |
- for my $key (sort keys %ENV) { |
255 |
- eval { delete $ENV{$key}; }; |
256 |
- ok t_cmp($@, '', $key); |
257 |
-+ ok t_cmp($ENV{$key}, undef, "ENV{$key} is empty"); |
258 |
-+ ok t_cmp($env->get($key), undef, "subprocess_env($key) is empty"); |
259 |
- } |
260 |
- |
261 |
- Apache2::Const::OK; |