23037885 mod_perl should use Perl 5.22
authorPetr Sumbera <petr.sumbera@oracle.com>
Fri, 01 Apr 2016 03:47:36 -0700
changeset 5723 1e3b336136c3
parent 5722 255021c1e96c
child 5724 ee81e1071481
23037885 mod_perl should use Perl 5.22
components/apache2-modules/mod_perl/Makefile
components/apache2-modules/mod_perl/patches/rev1702195.patch
components/apache2-modules/mod_perl/patches/rev1702395.patch
components/apache2-modules/mod_perl/patches/rev1717474.patch
components/apache2-modules/mod_perl/test/results-32.master
components/apache2-modules/mod_perl/test/results-64.master
--- a/components/apache2-modules/mod_perl/Makefile	Mon Apr 04 12:55:04 2016 -0700
+++ b/components/apache2-modules/mod_perl/Makefile	Fri Apr 01 03:47:36 2016 -0700
@@ -42,9 +42,7 @@
 
 PATCH_LEVEL=0
 
-$(BUILD_DIR)/$(MACH64)/.built: PERL=/usr/perl5/5.20/bin/perl
-
-$(BUILD_DIR)/$(MACH64)/.built: APACHE_USR_PREFIX=/usr/apache2/2.4
+APACHE_USR_PREFIX=/usr/apache2/2.4
 
 AP_PERL5LIB=$(APACHE_USR_PREFIX)/lib/perl
 AP_PERL5BIN=$(APACHE_USR_PREFIX)/bin
@@ -92,8 +90,8 @@
 
 ASLR_MODE = $(ASLR_NOT_APPLICABLE)
 
+REQUIRED_PACKAGES += $(PERL_PKG)
 REQUIRED_PACKAGES += library/apr-15
 REQUIRED_PACKAGES += library/apr-util-15
-REQUIRED_PACKAGES += runtime/perl-520
 REQUIRED_PACKAGES += system/library/math
 REQUIRED_PACKAGES += web/server/apache-24
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/apache2-modules/mod_perl/patches/rev1702195.patch	Fri Apr 01 03:47:36 2016 -0700
@@ -0,0 +1,24 @@
+http://svn.apache.org/viewvc?view=revision&revision=1702195
+
+--- t/lib/TestAPRlib/uri.pm	2015/09/10 08:56:17	1702194
++++ t/lib/TestAPRlib/uri.pm	2015/09/10 08:58:55	1702195
+@@ -88,7 +88,7 @@
+     # - if no flags are passed to unparse, APR::Const::URI_UNP_OMITPASSWORD
+     #   is passed by default -- it hides the password
+     my $url1 = sprintf "%s://%s\@%s%s",
+-        map { $url{$_}[1] } grep !/^(password|port)$/, @keys_urls;
++        map { $url{$_}[1] } qw(scheme user hostname path);
+     ok t_cmp($url_unparsed, $url1, "unparsed url");
+ 
+     # various unparse flags #
+--- t/response/TestAPI/uri.pm	2015/09/10 08:56:17	1702194
++++ t/response/TestAPI/uri.pm	2015/09/10 08:58:55	1702195
+@@ -105,7 +105,7 @@
+     }
+     {
+         # this time include args and a pool object
+-        my $curl = $r->construct_url(sprintf "%s?%s", $r->uri, $r->args,
++        my $curl = $r->construct_url(sprintf("%s?%s", $r->uri, $r->args),
+                                      $r->pool->new);
+         t_debug("construct_url: $curl");
+         t_debug("r->uri: ", $r->uri);
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/apache2-modules/mod_perl/patches/rev1702395.patch	Fri Apr 01 03:47:36 2016 -0700
@@ -0,0 +1,19 @@
+http://svn.apache.org/viewvc?view=revision&revision=1702395
+
+--- xs/Apache2/RequestIO/Apache2__RequestIO.h	2015/09/11 08:19:17	1702394
++++ xs/Apache2/RequestIO/Apache2__RequestIO.h	2015/09/11 08:28:54	1702395
+@@ -111,6 +111,14 @@
+ 
+     rcfg = modperl_config_req_get(r);
+ 
++    /* Reduce items by 1 for threaded builds since it otherwise includes
++     * the thread context, which shouldn't be included in the count of
++     * arguments being given to the sprintf() call.
++     */
++#ifdef USE_ITHREADS
++    --items;
++#endif
++
+     /* XXX: we could have an rcfg->sprintf_buffer to reuse this SV
+      * across requests
+      */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/apache2-modules/mod_perl/patches/rev1717474.patch	Fri Apr 01 03:47:36 2016 -0700
@@ -0,0 +1,241 @@
+http://svn.apache.org/viewvc?view=revision&revision=1717474
+
+--- src/modules/perl/mod_perl.c	2015/12/01 17:25:14	1717473
++++ src/modules/perl/mod_perl.c	2015/12/01 17:39:43	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();
+--- src/modules/perl/modperl_env.c	2015/12/01 17:25:14	1717473
++++ src/modules/perl/modperl_env.c	2015/12/01 17:39:43	1717474
+@@ -121,6 +121,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,14 +432,10 @@
+ #endif
+ }
+ 
+-/* 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; \
+@@ -529,6 +526,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;
+@@ -613,15 +630,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,
+@@ -629,22 +649,64 @@
+     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;
++
++    /* 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);
+ 
+-    /* replace with our versions */
+-    StructCopy(&MP_vtbl_env, &PL_vtbl_env, MGVTBL);
+-    StructCopy(&MP_vtbl_envelem, &PL_vtbl_envelem, MGVTBL);
++    /* 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);
+ }
+ 
+ /*
+--- src/modules/perl/modperl_env.h	2015/12/01 17:25:14	1717473
++++ src/modules/perl/modperl_env.h	2015/12/01 17:39:43	1717474
+@@ -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,9 +58,12 @@
+ 
+ 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 */
+ 
+--- src/modules/perl/modperl_perl.c	2015/12/01 17:25:14	1717473
++++ src/modules/perl/modperl_perl.c	2015/12/01 17:39:43	1717474
+@@ -181,6 +181,8 @@
+         }
+     }
+ 
++    modperl_env_unload(perl);
++
+     perl_destruct(perl);
+ 
+     /* XXX: big bug in 5.6.1 fixed in 5.7.2+
+--- t/response/TestModperl/env.pm	2015/12/01 17:25:14	1717473
++++ t/response/TestModperl/env.pm	2015/12/01 17:39:43	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;
--- a/components/apache2-modules/mod_perl/test/results-32.master	Mon Apr 04 12:55:04 2016 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,520 +0,0 @@
-make[1]: Entering directory `$(@D)'
-cd "src/modules/perl" && make
-make[2]: Entering directory `$(@D)/src/modules/perl'
-make[2]: Leaving directory `$(@D)/src/modules/perl'
-make[2]: Entering directory `$(@D)/Apache-Reload'
-make[2]: Leaving directory `$(@D)/Apache-Reload'
-make[2]: Entering directory `$(@D)/Apache-SizeLimit'
-make[2]: Leaving directory `$(@D)/Apache-SizeLimit'
-make[2]: Entering directory `$(@D)/Apache-Test'
-make[2]: Leaving directory `$(@D)/Apache-Test'
-make[2]: Entering directory `$(@D)/ModPerl-Registry'
-make[2]: Leaving directory `$(@D)/ModPerl-Registry'
-make[2]: Entering directory `$(@D)/WrapXS'
-make[3]: Entering directory `$(@D)/WrapXS/APR'
-make[4]: Entering directory `$(@D)/WrapXS/APR/Base64'
-make[4]: Leaving directory `$(@D)/WrapXS/APR/Base64'
-make[4]: Entering directory `$(@D)/WrapXS/APR/Brigade'
-make[4]: Leaving directory `$(@D)/WrapXS/APR/Brigade'
-make[4]: Entering directory `$(@D)/WrapXS/APR/Bucket'
-make[4]: Leaving directory `$(@D)/WrapXS/APR/Bucket'
-make[4]: Entering directory `$(@D)/WrapXS/APR/BucketAlloc'
-make[4]: Leaving directory `$(@D)/WrapXS/APR/BucketAlloc'
-make[4]: Entering directory `$(@D)/WrapXS/APR/BucketType'
-make[4]: Leaving directory `$(@D)/WrapXS/APR/BucketType'
-make[4]: Entering directory `$(@D)/WrapXS/APR/Date'
-make[4]: Leaving directory `$(@D)/WrapXS/APR/Date'
-make[4]: Entering directory `$(@D)/WrapXS/APR/Error'
-make[4]: Leaving directory `$(@D)/WrapXS/APR/Error'
-make[4]: Entering directory `$(@D)/WrapXS/APR/Finfo'
-make[4]: Leaving directory `$(@D)/WrapXS/APR/Finfo'
-make[4]: Entering directory `$(@D)/WrapXS/APR/IpSubnet'
-make[4]: Leaving directory `$(@D)/WrapXS/APR/IpSubnet'
-make[4]: Entering directory `$(@D)/WrapXS/APR/OS'
-make[4]: Leaving directory `$(@D)/WrapXS/APR/OS'
-make[4]: Entering directory `$(@D)/WrapXS/APR/Pool'
-make[4]: Leaving directory `$(@D)/WrapXS/APR/Pool'
-make[4]: Entering directory `$(@D)/WrapXS/APR/SockAddr'
-make[4]: Leaving directory `$(@D)/WrapXS/APR/SockAddr'
-make[4]: Entering directory `$(@D)/WrapXS/APR/Socket'
-make[4]: Leaving directory `$(@D)/WrapXS/APR/Socket'
-make[4]: Entering directory `$(@D)/WrapXS/APR/Status'
-make[4]: Leaving directory `$(@D)/WrapXS/APR/Status'
-make[4]: Entering directory `$(@D)/WrapXS/APR/String'
-make[4]: Leaving directory `$(@D)/WrapXS/APR/String'
-make[4]: Entering directory `$(@D)/WrapXS/APR/Table'
-make[4]: Leaving directory `$(@D)/WrapXS/APR/Table'
-make[4]: Entering directory `$(@D)/WrapXS/APR/ThreadMutex'
-make[4]: Leaving directory `$(@D)/WrapXS/APR/ThreadMutex'
-make[4]: Entering directory `$(@D)/WrapXS/APR/ThreadRWLock'
-make[4]: Leaving directory `$(@D)/WrapXS/APR/ThreadRWLock'
-make[4]: Entering directory `$(@D)/WrapXS/APR/URI'
-make[4]: Leaving directory `$(@D)/WrapXS/APR/URI'
-make[4]: Entering directory `$(@D)/WrapXS/APR/UUID'
-make[4]: Leaving directory `$(@D)/WrapXS/APR/UUID'
-make[4]: Entering directory `$(@D)/WrapXS/APR/Util'
-make[4]: Leaving directory `$(@D)/WrapXS/APR/Util'
-make[3]: Leaving directory `$(@D)/WrapXS/APR'
-make[3]: Entering directory `$(@D)/WrapXS/Apache2'
-make[4]: Entering directory `$(@D)/WrapXS/Apache2/Access'
-make[4]: Leaving directory `$(@D)/WrapXS/Apache2/Access'
-make[4]: Entering directory `$(@D)/WrapXS/Apache2/CmdParms'
-make[4]: Leaving directory `$(@D)/WrapXS/Apache2/CmdParms'
-make[4]: Entering directory `$(@D)/WrapXS/Apache2/Command'
-make[4]: Leaving directory `$(@D)/WrapXS/Apache2/Command'
-make[4]: Entering directory `$(@D)/WrapXS/Apache2/Connection'
-make[4]: Leaving directory `$(@D)/WrapXS/Apache2/Connection'
-make[4]: Entering directory `$(@D)/WrapXS/Apache2/ConnectionUtil'
-make[4]: Leaving directory `$(@D)/WrapXS/Apache2/ConnectionUtil'
-make[4]: Entering directory `$(@D)/WrapXS/Apache2/Directive'
-make[4]: Leaving directory `$(@D)/WrapXS/Apache2/Directive'
-make[4]: Entering directory `$(@D)/WrapXS/Apache2/Filter'
-make[4]: Leaving directory `$(@D)/WrapXS/Apache2/Filter'
-make[4]: Entering directory `$(@D)/WrapXS/Apache2/FilterRec'
-make[4]: Leaving directory `$(@D)/WrapXS/Apache2/FilterRec'
-make[4]: Entering directory `$(@D)/WrapXS/Apache2/HookRun'
-make[4]: Leaving directory `$(@D)/WrapXS/Apache2/HookRun'
-make[4]: Entering directory `$(@D)/WrapXS/Apache2/Log'
-make[4]: Leaving directory `$(@D)/WrapXS/Apache2/Log'
-make[4]: Entering directory `$(@D)/WrapXS/Apache2/MPM'
-make[4]: Leaving directory `$(@D)/WrapXS/Apache2/MPM'
-make[4]: Entering directory `$(@D)/WrapXS/Apache2/Module'
-make[4]: Leaving directory `$(@D)/WrapXS/Apache2/Module'
-make[4]: Entering directory `$(@D)/WrapXS/Apache2/Process'
-make[4]: Leaving directory `$(@D)/WrapXS/Apache2/Process'
-make[4]: Entering directory `$(@D)/WrapXS/Apache2/RequestIO'
-make[4]: Leaving directory `$(@D)/WrapXS/Apache2/RequestIO'
-make[4]: Entering directory `$(@D)/WrapXS/Apache2/RequestRec'
-make[4]: Leaving directory `$(@D)/WrapXS/Apache2/RequestRec'
-make[4]: Entering directory `$(@D)/WrapXS/Apache2/RequestUtil'
-make[4]: Leaving directory `$(@D)/WrapXS/Apache2/RequestUtil'
-make[4]: Entering directory `$(@D)/WrapXS/Apache2/Response'
-make[4]: Leaving directory `$(@D)/WrapXS/Apache2/Response'
-make[4]: Entering directory `$(@D)/WrapXS/Apache2/ServerRec'
-make[4]: Leaving directory `$(@D)/WrapXS/Apache2/ServerRec'
-make[4]: Entering directory `$(@D)/WrapXS/Apache2/ServerUtil'
-make[4]: Leaving directory `$(@D)/WrapXS/Apache2/ServerUtil'
-make[4]: Entering directory `$(@D)/WrapXS/Apache2/SubProcess'
-make[4]: Leaving directory `$(@D)/WrapXS/Apache2/SubProcess'
-make[4]: Entering directory `$(@D)/WrapXS/Apache2/SubRequest'
-make[4]: Leaving directory `$(@D)/WrapXS/Apache2/SubRequest'
-make[4]: Entering directory `$(@D)/WrapXS/Apache2/URI'
-make[4]: Leaving directory `$(@D)/WrapXS/Apache2/URI'
-make[4]: Entering directory `$(@D)/WrapXS/Apache2/Util'
-make[4]: Leaving directory `$(@D)/WrapXS/Apache2/Util'
-make[3]: Leaving directory `$(@D)/WrapXS/Apache2'
-make[3]: Entering directory `$(@D)/WrapXS/ModPerl'
-make[4]: Entering directory `$(@D)/WrapXS/ModPerl/Global'
-make[4]: Leaving directory `$(@D)/WrapXS/ModPerl/Global'
-make[4]: Entering directory `$(@D)/WrapXS/ModPerl/Util'
-make[4]: Leaving directory `$(@D)/WrapXS/ModPerl/Util'
-make[3]: Leaving directory `$(@D)/WrapXS/ModPerl'
-make[2]: Leaving directory `$(@D)/WrapXS'
-make[2]: Entering directory `$(@D)/xs'
-make[3]: Entering directory `$(@D)/xs/APR'
-make[4]: Entering directory `$(@D)/xs/APR/APR'
-make[4]: Leaving directory `$(@D)/xs/APR/APR'
-make[4]: Entering directory `$(@D)/xs/APR/Const'
-make[4]: Leaving directory `$(@D)/xs/APR/Const'
-make[4]: Entering directory `$(@D)/xs/APR/PerlIO'
-make[4]: Leaving directory `$(@D)/xs/APR/PerlIO'
-make[4]: Entering directory `$(@D)/xs/APR/aprext'
-make[4]: Leaving directory `$(@D)/xs/APR/aprext'
-make[3]: Leaving directory `$(@D)/xs/APR'
-make[3]: Entering directory `$(@D)/xs/Apache2'
-make[4]: Entering directory `$(@D)/xs/Apache2/Const'
-make[4]: Leaving directory `$(@D)/xs/Apache2/Const'
-make[3]: Leaving directory `$(@D)/xs/Apache2'
-make[3]: Entering directory `$(@D)/xs/ModPerl'
-make[4]: Entering directory `$(@D)/xs/ModPerl/Const'
-make[4]: Leaving directory `$(@D)/xs/ModPerl/Const'
-make[3]: Leaving directory `$(@D)/xs/ModPerl'
-make[2]: Leaving directory `$(@D)/xs'
-$(PERL) \
-t/TEST -clean
-[warning] Skipping 'set unlimited ulimit for coredumps', since we are running as a non-root user on Solaris
-APACHE_TEST_APXS= APACHE_TEST_GROUP= APACHE_TEST_HTTPD= APACHE_TEST_PORT= APACHE_TEST_USER= \
-$(PERL) \
-t/TEST -bugreport -verbose=0 
-[warning] Skipping 'set unlimited ulimit for coredumps', since we are running as a non-root user on Solaris
-/usr/apache2/2.2/bin/httpd  -d $(@D)/t -f $(@D)/t/conf/httpd.conf -D APACHE2 
-using Apache/2.x.x (prefork MPM)
-
-waiting 120 seconds for server to start: [date] [warn] PassEnv variable LD_LIBRARY_PATH was undefined
-[date] [info] 6 Apache2:: modules loaded
-[date] [info] 0 APR:: modules loaded
-waiting 120 seconds for server to start: ok
-server localhost:8529 started
-server localhost:8530 listening
-server localhost:8531 listening
-server localhost:8532 listening
-server localhost:8533 listening
-server localhost:8534 listening
-server localhost:8535 listening
-server localhost:8536 listening
-server localhost:8537 listening
-server localhost:8538 listening
-server localhost:8539 listening
-server localhost:8540 listening
-server localhost:8541 listening
-server localhost:8542 listening
-server localhost:8543 listening
-server localhost:8544 listening
-server localhost:8545 listening
-server localhost:8546 listening
-server localhost:8547 listening
-server localhost:8548 listening
-server localhost:8549 listening
-server localhost:8550 listening
-server localhost:8551 listening
-server localhost:8552 listening
-server localhost:8553 listening
-server localhost:8554 listening
-server localhost:8555 listening
-server localhost:8556 listening
-server localhost:8557 listening
-server localhost:8558 listening
-server localhost:8559 listening
-server localhost:8560 listening
-server localhost:8561 listening
-server localhost:8562 listening
-server localhost:8563 listening
-server localhost:8564 listening
-server localhost:8565 listening
-server localhost:8566 listening
-t/apache/add_config.t ................... ok
-t/apache/cgihandler.t ................... ok
-t/apache/conftree.t ..................... ok
-t/apache/constants.t .................... ok
-t/apache/content_length_header.t ........ ok
-t/apache/daemon.t ....................... ok
-t/apache/discard_rbody.t ................ ok
-t/apache/post.t ......................... ok
-t/apache/read.t ......................... ok
-t/apache/read2.t ........................ ok
-t/apache/read3.t ........................ ok
-t/apache/read4.t ........................ ok
-t/apache/scanhdrs.t ..................... ok
-t/apache/scanhdrs2.t .................... skipped: cannot find module 'HTML::HeadParser'
-t/apache/send_cgi_header.t .............. ok
-t/apache/subprocess.t ................... ok
-t/apache/util.t ......................... ok
-t/apache/write.t ........................ ok
-t/api/access.t .......................... ok
-t/api/access2.t ......................... skipped: libwww-perl is not installed, cannot find module 'HTML::HeadParser'
-t/api/access2_24.t ...................... skipped: mod_perl is not compiled with httpd-2.4
-t/api/add_config.t ...................... ok
-t/api/aplog.t ........................... ok
-t/api/command.t ......................... ok
-t/api/conn_rec.t ........................ ok
-t/api/conn_util.t ....................... ok
-t/api/content_encoding.t ................ ok
-t/api/custom_response.t ................. skipped: libwww-perl is not installed, cannot find module 'HTML::HeadParser'
-t/api/err_headers_out.t ................. skipped: cannot find module 'HTML::HeadParser'
-t/api/in_out_filters.t .................. ok
-t/api/internal_redirect.t ............... ok
-t/api/internal_redirect_handler.t ....... ok
-t/api/lookup_misc.t ..................... ok
-t/api/lookup_uri.t ...................... ok
-t/api/lookup_uri2.t ..................... ok
-t/api/module.t .......................... ok
-t/api/process.t ......................... ok
-t/api/query.t ........................... ok
-t/api/request_rec.t ..................... ok
-t/api/request_subclass.t ................ ok
-t/api/request_util.t .................... ok
-t/api/response.t ........................ ok
-t/api/rflush.t .......................... ok
-t/api/sendfile.t ........................ skipped: cannot find module 'HTML::HeadParser'
-t/api/server_const.t .................... ok
-t/api/server_rec.t ...................... ok
-t/api/server_util.t ..................... ok
-t/api/show.t ............................ ok
-t/api/slurp_filename.t .................. ok
-t/api/status.t .......................... ok
-t/api/sub_request.t ..................... ok
-t/api/uri.t ............................. ok
-t/apr-ext/base64.t ...................... ok
-t/apr-ext/brigade.t ..................... ok
-t/apr-ext/bucket.t ...................... ok
-t/apr-ext/date.t ........................ ok
-t/apr-ext/error.t ....................... ok
-t/apr-ext/finfo.t ....................... ok
-t/apr-ext/os.t .......................... ok
-t/apr-ext/pool.t ........................ ok
-t/apr-ext/status.t ...................... ok
-t/apr-ext/string.t ...................... ok
-t/apr-ext/table.t ....................... ok
-t/apr-ext/threadmutex.t ................. skipped: Perl was not built with 'ithreads' enabled
-t/apr-ext/threadrwlock.t ................ skipped: Perl was not built with 'ithreads' enabled
-t/apr-ext/uri.t ......................... ok
-t/apr-ext/util.t ........................ ok
-t/apr-ext/uuid.t ........................ ok
-t/apr/base64.t .......................... ok
-t/apr/brigade.t ......................... ok
-t/apr/bucket.t .......................... ok
-t/apr/constants.t ....................... ok
-t/apr/date.t ............................ ok
-t/apr/finfo.t ........................... ok
-t/apr/flatten.t ......................... ok
-t/apr/ipsubnet.t ........................ ok
-t/apr/os.t .............................. ok
-t/apr/perlio.t .......................... ok
-t/apr/pool.t ............................ ok
-t/apr/pool_lifetime.t ................... skipped: cannot find module 'HTML::HeadParser'
-t/apr/sockaddr.t ........................ ok
-t/apr/socket.t .......................... ok
-t/apr/status.t .......................... ok
-t/apr/string.t .......................... ok
-t/apr/table.t ........................... ok
-t/apr/threadmutex.t ..................... skipped: Perl was not built with 'ithreads' enabled
-t/apr/threadrwlock.t .................... skipped: Perl was not built with 'ithreads' enabled
-t/apr/uri.t ............................. ok
-t/apr/util.t ............................ ok
-t/apr/uuid.t ............................ ok
-t/compat/apache.t ....................... ok
-t/compat/apache_file.t .................. ok
-t/compat/apache_module.t ................ ok
-t/compat/apache_table.t ................. ok
-t/compat/apache_uri.t ................... ok
-t/compat/apache_util.t .................. ok
-t/compat/conn_authen.t .................. skipped: libwww-perl is not installed, cannot find module 'HTML::HeadParser'
-t/compat/conn_rec.t ..................... ok
-t/compat/request.t ...................... ok
-t/compat/request_body.t ................. ok
-t/compat/send_fd.t ...................... skipped: cannot find module 'HTML::HeadParser'
-t/directive/cmdparms.t .................. ok
-t/directive/env.t ....................... ok
-t/directive/perl.t ...................... skipped: cannot find module 'HTML::HeadParser'
-t/directive/perlcleanuphandler.t ........ skipped: libwww-perl is not installed
-t/directive/perldo.t .................... ok
-t/directive/perlloadmodule.t ............ ok
-t/directive/perlloadmodule2.t ........... ok
-t/directive/perlloadmodule3.t ........... ok
-t/directive/perlloadmodule4.t ........... ok
-t/directive/perlloadmodule5.t ........... ok
-t/directive/perlloadmodule6.t ........... ok
-t/directive/perlloadmodule7.t ........... ok
-t/directive/perlmodule.t ................ ok
-t/directive/perlrequire.t ............... ok
-t/directive/pod.t ....................... ok
-t/directive/setupenv.t .................. ok
-t/error/api.t ........................... ok
-t/error/runtime.t ....................... ok
-t/error/syntax.t ........................ ok
-t/filter/both_str_con_add.t ............. ok
-t/filter/both_str_native_remove.t ....... ok
-t/filter/both_str_req_add.t ............. ok
-t/filter/both_str_req_mix.t ............. ok
-t/filter/both_str_req_proxy.t ........... ok
-t/filter/in_autoload.t .................. ok
-t/filter/in_bbs_body.t .................. ok
-t/filter/in_bbs_consume.t ............... ok
-t/filter/in_bbs_inject_header.t ......... ok
-t/filter/in_bbs_msg.t ................... ok
-t/filter/in_bbs_underrun.t .............. ok
-t/filter/in_error.t ..................... ok
-t/filter/in_init_basic.t ................ ok
-t/filter/in_str_bin_data.t .............. ok
-t/filter/in_str_consume.t ............... ok
-t/filter/in_str_declined.t .............. ok
-t/filter/in_str_declined_read.t ......... ok
-t/filter/in_str_lc.t .................... ok
-t/filter/in_str_msg.t ................... ok
-t/filter/in_str_sandwich.t .............. ok
-t/filter/out_apache.t ................... skipped: cannot find module 'HTML::HeadParser'
-t/filter/out_bbs_basic.t ................ ok
-t/filter/out_bbs_ctx.t .................. ok
-t/filter/out_bbs_filebucket.t ........... ok
-t/filter/out_init_basic.t ............... ok
-t/filter/out_str_api.t .................. ok
-t/filter/out_str_buffer.t ............... ok
-t/filter/out_str_ctx.t .................. ok
-t/filter/out_str_declined.t ............. ok
-t/filter/out_str_eval.t ................. ok
-t/filter/out_str_lc.t ................... ok
-t/filter/out_str_remove.t ............... ok
-t/filter/out_str_req_eos.t .............. ok
-t/filter/out_str_req_mix.t .............. ok
-t/filter/out_str_reverse.t .............. ok
-t/filter/out_str_subreq_default.t ....... ok
-t/filter/out_str_subreq_modperl.t ....... ok
-t/filter/with_subrequest.t .............. ok
-t/hooks/access.t ........................ skipped: cannot find module 'HTML::HeadParser'
-t/hooks/authen_basic.t .................. skipped: libwww-perl is not installed, cannot find module 'HTML::HeadParser'
-t/hooks/authen_digest.t ................. skipped: libwww-perl is not installed, cannot find module 'HTML::HeadParser'
-t/hooks/authz.t ......................... skipped: libwww-perl is not installed, cannot find module 'HTML::HeadParser'
-t/hooks/cleanup.t ....................... ok
-t/hooks/cleanup2.t ...................... ok
-t/hooks/error.t ......................... ok
-t/hooks/fixup.t ......................... ok
-t/hooks/headerparser.t .................. ok
-t/hooks/hookrun.t ....................... ok
-t/hooks/init.t .......................... ok
-t/hooks/inlined_handlers.t .............. skipped: cannot find module 'HTML::HeadParser'
-t/hooks/push_handlers.t ................. ok
-t/hooks/push_handlers_anon.t ............ ok
-t/hooks/push_handlers_blessed.t ......... ok
-t/hooks/push_handlers_same_phase.t ...... ok
-t/hooks/set_handlers.t .................. ok
-t/hooks/stacked_handlers.t .............. ok
-t/hooks/stacked_handlers2.t ............. ok
-t/hooks/startup.t ....................... ok
-t/hooks/trans.t ......................... skipped: cannot find module 'HTML::HeadParser'
-t/modperl/cookie.t ...................... skipped: cannot find module 'HTML::HeadParser'
-t/modperl/cookie2.t ..................... skipped: cannot find module 'HTML::HeadParser'
-t/modperl/current_callback.t ............ ok
-t/modperl/dir_config.t .................. ok
-t/modperl/endav.t ....................... ok
-t/modperl/env.t ......................... ok
-t/modperl/exit.t ........................ ok
-t/modperl/getc.t ........................ ok
-t/modperl/interpreter.t ................. skipped: Perl was not built with 'ithreads' enabled
-t/modperl/io_nested_with_closed_stds.t .. ok
-t/modperl/io_with_closed_stds.t ......... ok
-t/modperl/local_env.t ................... skipped: local %ENV is still broken
-t/modperl/merge.t ....................... ok
-t/modperl/merge2.t ...................... ok
-t/modperl/merge3.t ...................... ok
-t/modperl/method.t ...................... ok
-t/modperl/methodname.t .................. ok
-t/modperl/methodobj.t ................... ok
-t/modperl/perl.t ........................ ok
-t/modperl/perl_options.t ................ ok
-t/modperl/perl_options2.t ............... skipped: PerlOptions None is broken
-t/modperl/pnotes.t ...................... skipped: libwww-perl is not installed
-t/modperl/pnotes2.t ..................... skipped: libwww-perl is not installed
-t/modperl/post_utf8.t ................... ok
-t/modperl/print.t ....................... ok
-t/modperl/print_utf8.t .................. ok
-t/modperl/print_utf8_2.t ................ ok
-t/modperl/printf.t ...................... ok
-t/modperl/readline.t .................... ok
-t/modperl/request_rec_perlio_api.t ...... ok
-t/modperl/request_rec_tie_api.t ......... skipped: perl 5.012005: PerlIO is used instead of TIEd IO
-t/modperl/setauth.t ..................... ok
-t/modperl/setupenv.t .................... skipped: libwww-perl is not installed
-t/modperl/setupenv2.t ................... ok
-t/modperl/status.t ...................... skipped: cannot find module 'HTML::HeadParser'
-t/modperl/stdfd.t ....................... ok
-t/modperl/stdfd2.t ...................... ok
-t/modperl/subenv.t ...................... ok
-t/modperl/taint.t ....................... ok
-t/modperl/util.t ........................ ok
-t/modules/apache_resource.t ............. skipped: cannot find module 'BSD::Resource'
-t/modules/apache_status.t ............... skipped: cannot find module 'HTML::HeadParser'
-t/modules/cgi.t ......................... ok
-t/modules/cgi2.t ........................ ok
-t/modules/cgipost.t ..................... ok
-t/modules/cgipost2.t .................... ok
-t/modules/cgiupload.t ................... skipped: libwww-perl is not installed
-t/modules/cgiupload2.t .................. skipped: libwww-perl is not installed
-t/modules/include.t ..................... ok
-t/modules/include2.t .................... skipped: cannot find module 'HTML::HeadParser'
-t/modules/include_subreq.t .............. ok
-t/modules/proxy.t ....................... ok
-t/perl/api.t ............................ ok
-t/perl/hash_attack.t .................... ok
-t/perl/signals.t ........................ ok
-t/preconnection/note.t .................. ok
-t/protocol/echo_bbs.t ................... ok
-t/protocol/echo_bbs2.t .................. ok
-t/protocol/echo_block.t ................. ok
-t/protocol/echo_filter.t ................ ok
-t/protocol/echo_nonblock.t .............. ok
-t/protocol/echo_timeout.t ............... ok
-t/protocol/pseudo_http.t ................ ok
-t/user/rewrite.t ........................ ok
-t/vhost/config.t ........................ ok
-t/vhost/log.t ........................... ok
-All tests successful.
-Files=245
-Result: PASS
-[warning] server localhost:8529 shutdown
-cd ModPerl-Registry && make test
-make[2]: Entering directory `$(@D)/ModPerl-Registry'
-$(PERL) \
-t/TEST  -clean
-[warning] Skipping 'set unlimited ulimit for coredumps', since we are running as a non-root user on Solaris
-APACHE_TEST_APXS= APACHE_TEST_GROUP= APACHE_TEST_HTTPD= APACHE_TEST_PORT= APACHE_TEST_USER= \
-$(PERL) \
-t/TEST  -bugreport -verbose=0 
-[warning] Skipping 'set unlimited ulimit for coredumps', since we are running as a non-root user on Solaris
-/usr/apache2/2.2/bin/httpd  -d $(@D)/ModPerl-Registry/t -f $(@D)/ModPerl-Registry/t/conf/httpd.conf -D APACHE2 
-using Apache/2.x.x (prefork MPM)
-
-waiting 90 seconds for server to start: 
-waiting 90 seconds for server to start: ok
-server localhost:8529 started
-t/206.t ........................ skipped: cannot find module 'HTML::HeadParser'
-t/304.t ........................ skipped: cannot find module 'HTML::HeadParser'
-t/404-filename-with-newline.t .. ok
-t/404.t ........................ skipped: cannot find module 'HTML::HeadParser'
-t/500.t ........................ ok
-t/bad_scripts.t ................ ok
-t/basic.t ...................... ok
-t/bin_resp.t ................... ok
-t/cgi.t ........................ skipped: cannot find module 'HTML::HeadParser'
-t/closure.t .................... skipped: cannot find module 'HTML::HeadParser'
-t/dirindex.t ................... skipped: cannot find module 'HTML::HeadParser'
-t/fatalstobrowser.t ............ skipped: fatalsToBrowser known not to work, CGI version 99.99 or higher is required
-t/flush.t ...................... skipped: cannot find module 'HTML::HeadParser'
-t/ithreads.t ................... skipped: perl 5.8.1 or higher w/ithreads enabled is required
-t/nph.t ........................ ok
-t/perlrun_extload.t ............ skipped: cannot find module 'HTML::HeadParser'
-t/prefork.t .................... ok
-t/redirect.t ................... skipped: libwww-perl is not installed, cannot find module 'HTML::HeadParser'
-t/regex.t ...................... ok
-t/rewrite_env.t ................ ok
-t/special_blocks.t ............. skipped: cannot find module 'HTML::HeadParser'
-All tests successful.
-Files=21
-Result: PASS
-[warning] server localhost:8529 shutdown
-make[2]: Leaving directory `$(@D)/ModPerl-Registry'
-cd Apache-Reload && make test
-make[2]: Entering directory `$(@D)/Apache-Reload'
-$(PERL) \
-t/TEST  -clean
-[warning] Skipping 'set unlimited ulimit for coredumps', since we are running as a non-root user on Solaris
-APACHE_TEST_APXS= APACHE_TEST_GROUP= APACHE_TEST_HTTPD= APACHE_TEST_PORT= APACHE_TEST_USER= \
-$(PERL) \
-t/TEST  -bugreport -verbose=0 
-[warning] Skipping 'set unlimited ulimit for coredumps', since we are running as a non-root user on Solaris
-/usr/apache2/2.2/bin/httpd  -d $(@D)/Apache-Reload/t -f $(@D)/Apache-Reload/t/conf/httpd.conf -D APACHE2 
-using Apache/2.x.x (prefork MPM)
-
-waiting 60 seconds for server to start: 
-waiting 60 seconds for server to start: ok
-server localhost:8529 started
-[   info] adding source lib $(@D)/Apache-Reload/../Apache-Test/lib to @INC
-t/reload.t .. skipped: cannot find module 'HTML::HeadParser'
-Files=1
-Result: NOTESTS
-[warning] server localhost:8529 shutdown
-make[2]: Leaving directory `$(@D)/Apache-Reload'
-cd Apache-SizeLimit && make test
-make[2]: Entering directory `$(@D)/Apache-SizeLimit'
-$(PERL) \
-t/TEST  -clean
-[warning] Skipping 'set unlimited ulimit for coredumps', since we are running as a non-root user on Solaris
-APACHE_TEST_APXS= APACHE_TEST_GROUP= APACHE_TEST_HTTPD= APACHE_TEST_PORT= APACHE_TEST_USER= \
-$(PERL) \
-t/TEST  -bugreport -verbose=0 
-[warning] Skipping 'set unlimited ulimit for coredumps', since we are running as a non-root user on Solaris
-/usr/apache2/2.2/bin/httpd  -d $(@D)/Apache-SizeLimit/t -f $(@D)/Apache-SizeLimit/t/conf/httpd.conf -D APACHE2 
-using Apache/2.x.x (prefork MPM)
-
-waiting 60 seconds for server to start: 
-waiting 60 seconds for server to start: ok
-server localhost:8529 started
-[   info] adding source lib $(@D)/Apache-SizeLimit/../Apache-Test/lib to @INC
-t/apache/all.t ... skipped: apache version 1 required, this is version 2
-t/apache2/all.t .. ok
-t/pod.t .......... skipped: Test::Pod 1.14 required for testing POD
-All tests successful.
-Files=3
-Result: PASS
-[warning] server localhost:8529 shutdown
-make[2]: Leaving directory `$(@D)/Apache-SizeLimit'
-make[1]: Leaving directory `$(@D)'
--- a/components/apache2-modules/mod_perl/test/results-64.master	Mon Apr 04 12:55:04 2016 -0700
+++ b/components/apache2-modules/mod_perl/test/results-64.master	Fri Apr 01 03:47:36 2016 -0700
@@ -1,12 +1,15 @@
-make[1]: Entering directory `$(@D)'
+make[1]: Entering directory '$(@D)'
 cd "src/modules/perl" && make
 make[2]: Entering directory `$(@D)/src/modules/perl'
 make[2]: Leaving directory `$(@D)/src/modules/perl'
 make[2]: Entering directory `$(@D)/Apache-Reload'
+Manifying 2 pod documents
 make[2]: Leaving directory `$(@D)/Apache-Reload'
 make[2]: Entering directory `$(@D)/Apache-SizeLimit'
+Manifying 3 pod documents
 make[2]: Leaving directory `$(@D)/Apache-SizeLimit'
 make[2]: Entering directory `$(@D)/Apache-Test'
+Manifying 15 pod documents
 make[2]: Leaving directory `$(@D)/Apache-Test'
 make[2]: Entering directory `$(@D)/ModPerl-Registry'
 make[2]: Leaving directory `$(@D)/ModPerl-Registry'
@@ -14,211 +17,211 @@
 make[3]: Entering directory `$(@D)/WrapXS/APR'
 make[4]: Entering directory `$(@D)/WrapXS/APR/Base64'
 Running Mkbootstrap for APR::Base64 ()
-chmod 644 Base64.bs
+chmod 644 "Base64.bs"
 make[4]: Leaving directory `$(@D)/WrapXS/APR/Base64'
 make[4]: Entering directory `$(@D)/WrapXS/APR/Brigade'
 Running Mkbootstrap for APR::Brigade ()
-chmod 644 Brigade.bs
+chmod 644 "Brigade.bs"
 make[4]: Leaving directory `$(@D)/WrapXS/APR/Brigade'
 make[4]: Entering directory `$(@D)/WrapXS/APR/Bucket'
 Running Mkbootstrap for APR::Bucket ()
-chmod 644 Bucket.bs
+chmod 644 "Bucket.bs"
 make[4]: Leaving directory `$(@D)/WrapXS/APR/Bucket'
 make[4]: Entering directory `$(@D)/WrapXS/APR/BucketAlloc'
 Running Mkbootstrap for APR::BucketAlloc ()
-chmod 644 BucketAlloc.bs
+chmod 644 "BucketAlloc.bs"
 make[4]: Leaving directory `$(@D)/WrapXS/APR/BucketAlloc'
 make[4]: Entering directory `$(@D)/WrapXS/APR/BucketType'
 Running Mkbootstrap for APR::BucketType ()
-chmod 644 BucketType.bs
+chmod 644 "BucketType.bs"
 make[4]: Leaving directory `$(@D)/WrapXS/APR/BucketType'
 make[4]: Entering directory `$(@D)/WrapXS/APR/Date'
 Running Mkbootstrap for APR::Date ()
-chmod 644 Date.bs
+chmod 644 "Date.bs"
 make[4]: Leaving directory `$(@D)/WrapXS/APR/Date'
 make[4]: Entering directory `$(@D)/WrapXS/APR/Error'
 Running Mkbootstrap for APR::Error ()
-chmod 644 Error.bs
+chmod 644 "Error.bs"
 make[4]: Leaving directory `$(@D)/WrapXS/APR/Error'
 make[4]: Entering directory `$(@D)/WrapXS/APR/Finfo'
 Running Mkbootstrap for APR::Finfo ()
-chmod 644 Finfo.bs
+chmod 644 "Finfo.bs"
 make[4]: Leaving directory `$(@D)/WrapXS/APR/Finfo'
 make[4]: Entering directory `$(@D)/WrapXS/APR/IpSubnet'
 Running Mkbootstrap for APR::IpSubnet ()
-chmod 644 IpSubnet.bs
+chmod 644 "IpSubnet.bs"
 make[4]: Leaving directory `$(@D)/WrapXS/APR/IpSubnet'
 make[4]: Entering directory `$(@D)/WrapXS/APR/OS'
 Running Mkbootstrap for APR::OS ()
-chmod 644 OS.bs
+chmod 644 "OS.bs"
 make[4]: Leaving directory `$(@D)/WrapXS/APR/OS'
 make[4]: Entering directory `$(@D)/WrapXS/APR/Pool'
 Running Mkbootstrap for APR::Pool ()
-chmod 644 Pool.bs
+chmod 644 "Pool.bs"
 make[4]: Leaving directory `$(@D)/WrapXS/APR/Pool'
 make[4]: Entering directory `$(@D)/WrapXS/APR/SockAddr'
 Running Mkbootstrap for APR::SockAddr ()
-chmod 644 SockAddr.bs
+chmod 644 "SockAddr.bs"
 make[4]: Leaving directory `$(@D)/WrapXS/APR/SockAddr'
 make[4]: Entering directory `$(@D)/WrapXS/APR/Socket'
 Running Mkbootstrap for APR::Socket ()
-chmod 644 Socket.bs
+chmod 644 "Socket.bs"
 make[4]: Leaving directory `$(@D)/WrapXS/APR/Socket'
 make[4]: Entering directory `$(@D)/WrapXS/APR/Status'
 Running Mkbootstrap for APR::Status ()
-chmod 644 Status.bs
+chmod 644 "Status.bs"
 make[4]: Leaving directory `$(@D)/WrapXS/APR/Status'
 make[4]: Entering directory `$(@D)/WrapXS/APR/String'
 Running Mkbootstrap for APR::String ()
-chmod 644 String.bs
+chmod 644 "String.bs"
 make[4]: Leaving directory `$(@D)/WrapXS/APR/String'
 make[4]: Entering directory `$(@D)/WrapXS/APR/Table'
 Running Mkbootstrap for APR::Table ()
-chmod 644 Table.bs
+chmod 644 "Table.bs"
 make[4]: Leaving directory `$(@D)/WrapXS/APR/Table'
 make[4]: Entering directory `$(@D)/WrapXS/APR/ThreadMutex'
 Running Mkbootstrap for APR::ThreadMutex ()
-chmod 644 ThreadMutex.bs
+chmod 644 "ThreadMutex.bs"
 make[4]: Leaving directory `$(@D)/WrapXS/APR/ThreadMutex'
 make[4]: Entering directory `$(@D)/WrapXS/APR/ThreadRWLock'
 Running Mkbootstrap for APR::ThreadRWLock ()
-chmod 644 ThreadRWLock.bs
+chmod 644 "ThreadRWLock.bs"
 make[4]: Leaving directory `$(@D)/WrapXS/APR/ThreadRWLock'
 make[4]: Entering directory `$(@D)/WrapXS/APR/URI'
 Running Mkbootstrap for APR::URI ()
-chmod 644 URI.bs
+chmod 644 "URI.bs"
 make[4]: Leaving directory `$(@D)/WrapXS/APR/URI'
 make[4]: Entering directory `$(@D)/WrapXS/APR/UUID'
 Running Mkbootstrap for APR::UUID ()
-chmod 644 UUID.bs
+chmod 644 "UUID.bs"
 make[4]: Leaving directory `$(@D)/WrapXS/APR/UUID'
 make[4]: Entering directory `$(@D)/WrapXS/APR/Util'
 Running Mkbootstrap for APR::Util ()
-chmod 644 Util.bs
+chmod 644 "Util.bs"
 make[4]: Leaving directory `$(@D)/WrapXS/APR/Util'
 make[3]: Leaving directory `$(@D)/WrapXS/APR'
 make[3]: Entering directory `$(@D)/WrapXS/Apache2'
 make[4]: Entering directory `$(@D)/WrapXS/Apache2/Access'
 Running Mkbootstrap for Apache2::Access ()
-chmod 644 Access.bs
+chmod 644 "Access.bs"
 make[4]: Leaving directory `$(@D)/WrapXS/Apache2/Access'
 make[4]: Entering directory `$(@D)/WrapXS/Apache2/CmdParms'
 Running Mkbootstrap for Apache2::CmdParms ()
-chmod 644 CmdParms.bs
+chmod 644 "CmdParms.bs"
 make[4]: Leaving directory `$(@D)/WrapXS/Apache2/CmdParms'
 make[4]: Entering directory `$(@D)/WrapXS/Apache2/Command'
 Running Mkbootstrap for Apache2::Command ()
-chmod 644 Command.bs
+chmod 644 "Command.bs"
 make[4]: Leaving directory `$(@D)/WrapXS/Apache2/Command'
 make[4]: Entering directory `$(@D)/WrapXS/Apache2/Connection'
 Running Mkbootstrap for Apache2::Connection ()
-chmod 644 Connection.bs
+chmod 644 "Connection.bs"
 make[4]: Leaving directory `$(@D)/WrapXS/Apache2/Connection'
 make[4]: Entering directory `$(@D)/WrapXS/Apache2/ConnectionUtil'
 Running Mkbootstrap for Apache2::ConnectionUtil ()
-chmod 644 ConnectionUtil.bs
+chmod 644 "ConnectionUtil.bs"
 make[4]: Leaving directory `$(@D)/WrapXS/Apache2/ConnectionUtil'
 make[4]: Entering directory `$(@D)/WrapXS/Apache2/Directive'
 Running Mkbootstrap for Apache2::Directive ()
-chmod 644 Directive.bs
+chmod 644 "Directive.bs"
 make[4]: Leaving directory `$(@D)/WrapXS/Apache2/Directive'
 make[4]: Entering directory `$(@D)/WrapXS/Apache2/Filter'
 Running Mkbootstrap for Apache2::Filter ()
-chmod 644 Filter.bs
+chmod 644 "Filter.bs"
 make[4]: Leaving directory `$(@D)/WrapXS/Apache2/Filter'
 make[4]: Entering directory `$(@D)/WrapXS/Apache2/FilterRec'
 Running Mkbootstrap for Apache2::FilterRec ()
-chmod 644 FilterRec.bs
+chmod 644 "FilterRec.bs"
 make[4]: Leaving directory `$(@D)/WrapXS/Apache2/FilterRec'
 make[4]: Entering directory `$(@D)/WrapXS/Apache2/HookRun'
 Running Mkbootstrap for Apache2::HookRun ()
-chmod 644 HookRun.bs
+chmod 644 "HookRun.bs"
 make[4]: Leaving directory `$(@D)/WrapXS/Apache2/HookRun'
 make[4]: Entering directory `$(@D)/WrapXS/Apache2/Log'
 Running Mkbootstrap for Apache2::Log ()
-chmod 644 Log.bs
+chmod 644 "Log.bs"
 make[4]: Leaving directory `$(@D)/WrapXS/Apache2/Log'
 make[4]: Entering directory `$(@D)/WrapXS/Apache2/MPM'
 Running Mkbootstrap for Apache2::MPM ()
-chmod 644 MPM.bs
+chmod 644 "MPM.bs"
 make[4]: Leaving directory `$(@D)/WrapXS/Apache2/MPM'
 make[4]: Entering directory `$(@D)/WrapXS/Apache2/Module'
 Running Mkbootstrap for Apache2::Module ()
-chmod 644 Module.bs
+chmod 644 "Module.bs"
 make[4]: Leaving directory `$(@D)/WrapXS/Apache2/Module'
 make[4]: Entering directory `$(@D)/WrapXS/Apache2/Process'
 Running Mkbootstrap for Apache2::Process ()
-chmod 644 Process.bs
+chmod 644 "Process.bs"
 make[4]: Leaving directory `$(@D)/WrapXS/Apache2/Process'
 make[4]: Entering directory `$(@D)/WrapXS/Apache2/Provider'
 Running Mkbootstrap for Apache2::Provider ()
-chmod 644 Provider.bs
+chmod 644 "Provider.bs"
 make[4]: Leaving directory `$(@D)/WrapXS/Apache2/Provider'
 make[4]: Entering directory `$(@D)/WrapXS/Apache2/RequestIO'
 Running Mkbootstrap for Apache2::RequestIO ()
-chmod 644 RequestIO.bs
+chmod 644 "RequestIO.bs"
 make[4]: Leaving directory `$(@D)/WrapXS/Apache2/RequestIO'
 make[4]: Entering directory `$(@D)/WrapXS/Apache2/RequestRec'
 Running Mkbootstrap for Apache2::RequestRec ()
-chmod 644 RequestRec.bs
+chmod 644 "RequestRec.bs"
 make[4]: Leaving directory `$(@D)/WrapXS/Apache2/RequestRec'
 make[4]: Entering directory `$(@D)/WrapXS/Apache2/RequestUtil'
 Running Mkbootstrap for Apache2::RequestUtil ()
-chmod 644 RequestUtil.bs
+chmod 644 "RequestUtil.bs"
 make[4]: Leaving directory `$(@D)/WrapXS/Apache2/RequestUtil'
 make[4]: Entering directory `$(@D)/WrapXS/Apache2/Response'
 Running Mkbootstrap for Apache2::Response ()
-chmod 644 Response.bs
+chmod 644 "Response.bs"
 make[4]: Leaving directory `$(@D)/WrapXS/Apache2/Response'
 make[4]: Entering directory `$(@D)/WrapXS/Apache2/ServerRec'
 Running Mkbootstrap for Apache2::ServerRec ()
-chmod 644 ServerRec.bs
+chmod 644 "ServerRec.bs"
 make[4]: Leaving directory `$(@D)/WrapXS/Apache2/ServerRec'
 make[4]: Entering directory `$(@D)/WrapXS/Apache2/ServerUtil'
 Running Mkbootstrap for Apache2::ServerUtil ()
-chmod 644 ServerUtil.bs
+chmod 644 "ServerUtil.bs"
 make[4]: Leaving directory `$(@D)/WrapXS/Apache2/ServerUtil'
 make[4]: Entering directory `$(@D)/WrapXS/Apache2/SubProcess'
 Running Mkbootstrap for Apache2::SubProcess ()
-chmod 644 SubProcess.bs
+chmod 644 "SubProcess.bs"
 make[4]: Leaving directory `$(@D)/WrapXS/Apache2/SubProcess'
 make[4]: Entering directory `$(@D)/WrapXS/Apache2/SubRequest'
 Running Mkbootstrap for Apache2::SubRequest ()
-chmod 644 SubRequest.bs
+chmod 644 "SubRequest.bs"
 make[4]: Leaving directory `$(@D)/WrapXS/Apache2/SubRequest'
 make[4]: Entering directory `$(@D)/WrapXS/Apache2/URI'
 Running Mkbootstrap for Apache2::URI ()
-chmod 644 URI.bs
+chmod 644 "URI.bs"
 make[4]: Leaving directory `$(@D)/WrapXS/Apache2/URI'
 make[4]: Entering directory `$(@D)/WrapXS/Apache2/Util'
 Running Mkbootstrap for Apache2::Util ()
-chmod 644 Util.bs
+chmod 644 "Util.bs"
 make[4]: Leaving directory `$(@D)/WrapXS/Apache2/Util'
 make[3]: Leaving directory `$(@D)/WrapXS/Apache2'
 make[3]: Entering directory `$(@D)/WrapXS/ModPerl'
 make[4]: Entering directory `$(@D)/WrapXS/ModPerl/Global'
 Running Mkbootstrap for ModPerl::Global ()
-chmod 644 Global.bs
+chmod 644 "Global.bs"
 make[4]: Leaving directory `$(@D)/WrapXS/ModPerl/Global'
 make[4]: Entering directory `$(@D)/WrapXS/ModPerl/InterpPool'
 Running Mkbootstrap for ModPerl::InterpPool ()
-chmod 644 InterpPool.bs
+chmod 644 "InterpPool.bs"
 make[4]: Leaving directory `$(@D)/WrapXS/ModPerl/InterpPool'
 make[4]: Entering directory `$(@D)/WrapXS/ModPerl/Interpreter'
 Running Mkbootstrap for ModPerl::Interpreter ()
-chmod 644 Interpreter.bs
+chmod 644 "Interpreter.bs"
 make[4]: Leaving directory `$(@D)/WrapXS/ModPerl/Interpreter'
 make[4]: Entering directory `$(@D)/WrapXS/ModPerl/TiPool'
 Running Mkbootstrap for ModPerl::TiPool ()
-chmod 644 TiPool.bs
+chmod 644 "TiPool.bs"
 make[4]: Leaving directory `$(@D)/WrapXS/ModPerl/TiPool'
 make[4]: Entering directory `$(@D)/WrapXS/ModPerl/TiPoolConfig'
 Running Mkbootstrap for ModPerl::TiPoolConfig ()
-chmod 644 TiPoolConfig.bs
+chmod 644 "TiPoolConfig.bs"
 make[4]: Leaving directory `$(@D)/WrapXS/ModPerl/TiPoolConfig'
 make[4]: Entering directory `$(@D)/WrapXS/ModPerl/Util'
 Running Mkbootstrap for ModPerl::Util ()
-chmod 644 Util.bs
+chmod 644 "Util.bs"
 make[4]: Leaving directory `$(@D)/WrapXS/ModPerl/Util'
 make[3]: Leaving directory `$(@D)/WrapXS/ModPerl'
 make[2]: Leaving directory `$(@D)/WrapXS'
@@ -226,15 +229,15 @@
 make[3]: Entering directory `$(@D)/xs/APR'
 make[4]: Entering directory `$(@D)/xs/APR/APR'
 Running Mkbootstrap for APR ()
-chmod 644 APR.bs
+chmod 644 "APR.bs"
 make[4]: Leaving directory `$(@D)/xs/APR/APR'
 make[4]: Entering directory `$(@D)/xs/APR/Const'
 Running Mkbootstrap for APR::Const ()
-chmod 644 Const.bs
+chmod 644 "Const.bs"
 make[4]: Leaving directory `$(@D)/xs/APR/Const'
 make[4]: Entering directory `$(@D)/xs/APR/PerlIO'
 Running Mkbootstrap for APR::PerlIO ()
-chmod 644 PerlIO.bs
+chmod 644 "PerlIO.bs"
 make[4]: Leaving directory `$(@D)/xs/APR/PerlIO'
 make[4]: Entering directory `$(@D)/xs/APR/aprext'
 make[4]: Leaving directory `$(@D)/xs/APR/aprext'
@@ -242,21 +245,21 @@
 make[3]: Entering directory `$(@D)/xs/Apache2'
 make[4]: Entering directory `$(@D)/xs/Apache2/Const'
 Running Mkbootstrap for Apache2::Const ()
-chmod 644 Const.bs
+chmod 644 "Const.bs"
 make[4]: Leaving directory `$(@D)/xs/Apache2/Const'
 make[3]: Leaving directory `$(@D)/xs/Apache2'
 make[3]: Entering directory `$(@D)/xs/ModPerl'
 make[4]: Entering directory `$(@D)/xs/ModPerl/Const'
 Running Mkbootstrap for ModPerl::Const ()
-chmod 644 Const.bs
+chmod 644 "Const.bs"
 make[4]: Leaving directory `$(@D)/xs/ModPerl/Const'
 make[3]: Leaving directory `$(@D)/xs/ModPerl'
 make[2]: Leaving directory `$(@D)/xs'
-/usr/perl5/5.20/bin/perl \
+"$(PERL)" \
 t/TEST -clean
 [warning] Skipping 'set unlimited ulimit for coredumps', since we are running as a non-root user on Solaris
 APACHE_TEST_APXS= APACHE_TEST_GROUP= APACHE_TEST_HTTPD= APACHE_TEST_PORT= APACHE_TEST_USER= \
-/usr/perl5/5.20/bin/perl \
+"$(PERL)" \
 t/TEST -bugreport -verbose=0 
 [warning] Skipping 'set unlimited ulimit for coredumps', since we are running as a non-root user on Solaris
 /usr/apache2/2.4/bin/httpd  -d $(@D)/t -f $(@D)/t/conf/httpd.conf -D APACHE2 -D APACHE2_4 -D PERL_USEITHREADS
@@ -513,7 +516,7 @@
 t/modperl/printf.t ...................... ok
 t/modperl/readline.t .................... ok
 t/modperl/request_rec_perlio_api.t ...... ok
-t/modperl/request_rec_tie_api.t ......... skipped: perl 5.020001: PerlIO is used instead of TIEd IO
+t/modperl/request_rec_tie_api.t ......... skipped: perl 5.022001: PerlIO is used instead of TIEd IO
 t/modperl/setauth.t ..................... ok
 t/modperl/setupenv.t .................... skipped: libwww-perl is not installed
 t/modperl/setupenv2.t ................... ok
@@ -523,33 +526,15 @@
 t/modperl/subenv.t ...................... ok
 t/modperl/taint.t ....................... ok
 t/modperl/util.t ........................ ok
-CGI will be removed from the Perl core distribution in the next major release. Please install it from CPAN. It is being used at t/modules/apache_resource.t, line 11.
-CGI::Util will be removed from the Perl core distribution in the next major release. Please install it from CPAN. It is being used at /usr/perl5/5.20/lib/CGI.pm, line 29.
-t/modules/apache_resource.t ............. skipped: cannot find module 'BSD::Resource'
-CGI will be removed from the Perl core distribution in the next major release. Please install it from CPAN. It is being used at t/modules/apache_status.t, line 16.
-CGI::Util will be removed from the Perl core distribution in the next major release. Please install it from CPAN. It is being used at /usr/perl5/5.20/lib/CGI.pm, line 29.
-t/modules/apache_status.t ............... skipped: cannot find module 'HTML::HeadParser'
-CGI will be removed from the Perl core distribution in the next major release. Please install it from CPAN. It is being used at (eval 18), line 2.
-CGI::Util will be removed from the Perl core distribution in the next major release. Please install it from CPAN. It is being used at /usr/perl5/5.20/lib/CGI.pm, line 29.
-t/modules/cgi.t ......................... ok
-CGI will be removed from the Perl core distribution in the next major release. Please install it from CPAN. It is being used at (eval 18), line 2.
-CGI::Util will be removed from the Perl core distribution in the next major release. Please install it from CPAN. It is being used at /usr/perl5/5.20/lib/CGI.pm, line 29.
-t/modules/cgi2.t ........................ ok
-CGI will be removed from the Perl core distribution in the next major release. Please install it from CPAN. It is being used at (eval 18), line 2.
-CGI::Util will be removed from the Perl core distribution in the next major release. Please install it from CPAN. It is being used at /usr/perl5/5.20/lib/CGI.pm, line 29.
-t/modules/cgipost.t ..................... ok
-CGI will be removed from the Perl core distribution in the next major release. Please install it from CPAN. It is being used at (eval 18), line 2.
-CGI::Util will be removed from the Perl core distribution in the next major release. Please install it from CPAN. It is being used at /usr/perl5/5.20/lib/CGI.pm, line 29.
-t/modules/cgipost2.t .................... ok
-CGI will be removed from the Perl core distribution in the next major release. Please install it from CPAN. It is being used at (eval 18), line 2.
-CGI::Util will be removed from the Perl core distribution in the next major release. Please install it from CPAN. It is being used at /usr/perl5/5.20/lib/CGI.pm, line 29.
-t/modules/cgiupload.t ................... skipped: libwww-perl is not installed
-CGI will be removed from the Perl core distribution in the next major release. Please install it from CPAN. It is being used at (eval 18), line 2.
-CGI::Util will be removed from the Perl core distribution in the next major release. Please install it from CPAN. It is being used at /usr/perl5/5.20/lib/CGI.pm, line 29.
-t/modules/cgiupload2.t .................. skipped: libwww-perl is not installed
-CGI will be removed from the Perl core distribution in the next major release. Please install it from CPAN. It is being used at (eval 19), line 2.
-CGI::Util will be removed from the Perl core distribution in the next major release. Please install it from CPAN. It is being used at /usr/perl5/5.20/lib/CGI.pm, line 29.
-t/modules/include.t ..................... skipped: cannot find module 'mod_include'
+t/modules/apache_resource.t ............. skipped: cannot find module 'BSD::Resource', CGI.pm (2.93 or higher) or Apache2::Request is needed
+t/modules/apache_status.t ............... skipped: cannot find module 'HTML::HeadParser', CGI.pm (2.93 or higher) or Apache2::Request is needed
+t/modules/cgi.t ......................... skipped: cannot find module 'CGI'
+t/modules/cgi2.t ........................ skipped: cannot find module 'CGI'
+t/modules/cgipost.t ..................... skipped: cannot find module 'CGI'
+t/modules/cgipost2.t .................... skipped: cannot find module 'CGI'
+t/modules/cgiupload.t ................... skipped: libwww-perl is not installed, cannot find module 'CGI'
+t/modules/cgiupload2.t .................. skipped: libwww-perl is not installed, cannot find module 'CGI'
+t/modules/include.t ..................... skipped: cannot find module 'mod_include', cannot find module 'CGI'
 t/modules/include2.t .................... skipped: cannot find module 'include', cannot find module 'HTML::HeadParser'
 t/modules/include_subreq.t .............. skipped: cannot find module 'include'
 t/modules/proxy.t ....................... skipped: cannot find module 'mod_proxy', cannot find module 'proxy_http.c'
@@ -573,11 +558,11 @@
 [warning] server localhost:8529 shutdown
 cd ModPerl-Registry && make test
 make[2]: Entering directory `$(@D)/ModPerl-Registry'
-/usr/perl5/5.20/bin/perl \
+"$(PERL)" \
 t/TEST  -clean
 [warning] Skipping 'set unlimited ulimit for coredumps', since we are running as a non-root user on Solaris
 APACHE_TEST_APXS= APACHE_TEST_GROUP= APACHE_TEST_HTTPD= APACHE_TEST_PORT= APACHE_TEST_USER= \
-/usr/perl5/5.20/bin/perl \
+"$(PERL)" \
 t/TEST  -bugreport -verbose=0 
 [warning] Skipping 'set unlimited ulimit for coredumps', since we are running as a non-root user on Solaris
 /usr/apache2/2.4/bin/httpd  -d $(@D)/ModPerl-Registry/t -f $(@D)/ModPerl-Registry/t/conf/httpd.conf -D APACHE2 -D APACHE2_4 -D PERL_USEITHREADS
@@ -594,16 +579,10 @@
 t/bad_scripts.t ................ ok
 t/basic.t ...................... ok
 t/bin_resp.t ................... ok
-CGI will be removed from the Perl core distribution in the next major release. Please install it from CPAN. It is being used at (eval 18), line 2.
-CGI::Util will be removed from the Perl core distribution in the next major release. Please install it from CPAN. It is being used at /usr/perl5/5.20/lib/CGI.pm, line 29.
-t/cgi.t ........................ skipped: cannot find module 'HTML::HeadParser'
+t/cgi.t ........................ skipped: cannot find module 'CGI', cannot find module 'HTML::HeadParser'
 t/closure.t .................... skipped: cannot find module 'HTML::HeadParser'
-CGI will be removed from the Perl core distribution in the next major release. Please install it from CPAN. It is being used at (eval 18), line 2.
-CGI::Util will be removed from the Perl core distribution in the next major release. Please install it from CPAN. It is being used at /usr/perl5/5.20/lib/CGI.pm, line 29.
-t/dirindex.t ................... skipped: cannot find module 'HTML::HeadParser'
-CGI will be removed from the Perl core distribution in the next major release. Please install it from CPAN. It is being used at (eval 18), line 2.
-CGI::Util will be removed from the Perl core distribution in the next major release. Please install it from CPAN. It is being used at /usr/perl5/5.20/lib/CGI.pm, line 29.
-t/fatalstobrowser.t ............ skipped: cannot find one of cgi.c or cgid.c, fatalsToBrowser known not to work, CGI version 99.99 or higher is required
+t/dirindex.t ................... skipped: cannot find module 'CGI', cannot find module 'HTML::HeadParser'
+t/fatalstobrowser.t ............ skipped: cannot find one of cgi.c or cgid.c, fatalsToBrowser known not to work, cannot find module 'CGI'
 t/flush.t ...................... skipped: cannot find module 'deflate', cannot find module 'HTML::HeadParser'
 t/ithreads.t ................... ok
 t/nph.t ........................ ok
@@ -620,11 +599,11 @@
 make[2]: Leaving directory `$(@D)/ModPerl-Registry'
 cd Apache-Reload && make test
 make[2]: Entering directory `$(@D)/Apache-Reload'
-/usr/perl5/5.20/bin/perl \
+"$(PERL)" \
 t/TEST  -clean
 [warning] Skipping 'set unlimited ulimit for coredumps', since we are running as a non-root user on Solaris
 APACHE_TEST_APXS= APACHE_TEST_GROUP= APACHE_TEST_HTTPD= APACHE_TEST_PORT= APACHE_TEST_USER= \
-/usr/perl5/5.20/bin/perl \
+"$(PERL)" \
 t/TEST  -bugreport -verbose=0 
 [warning] Skipping 'set unlimited ulimit for coredumps', since we are running as a non-root user on Solaris
 /usr/apache2/2.4/bin/httpd  -d $(@D)/Apache-Reload/t -f $(@D)/Apache-Reload/t/conf/httpd.conf -D APACHE2 -D APACHE2_4 -D PERL_USEITHREADS
@@ -639,4 +618,4 @@
 Result: NOTESTS
 [warning] server localhost:8529 shutdown
 make[2]: Leaving directory `$(@D)/Apache-Reload'
-make[1]: Leaving directory `$(@D)'
+make[1]: Leaving directory '$(@D)'