httpd.conf has "conf.d/*.conf" which neatly includes all
module-specific snippets. However, the order of the inclusion
matters, and those files will be included in alphabetical order.
For example, if one has /etc/httpd/conf.d/foo.conf and tries to use
<IfModule mod_perl.c> there, mod_perl has not been loaded and
<IfModule> will return false. On the other hand, if one has
/etc/httpd/conf.d/zzz.conf, mod_perl has been loaded before that
because perl.conf < zzz.conf.
I'd suggest renaming perl.conf to something that is guaranteed to sort
alphabetically early, such as 00-perl.conf so add-on packages and
local config snippets can just drop in their files to conf.d and rely
on that all the modules have been loaded.
mod_perl is not alone in this, all "system installed" config snippets
should probably do the same, at least those which load any modules
(SSL, PHP, possibly also welcome.conf etc etc).
I will attach a patch which does this, and upgrades to 1.99_12.
Created attachment 97236 [details]
Update to 1.99_12, rename perl.conf to 00-perl.conf etc
The patch is in UTF-8.
Oh, and Apache::Status no longer needs Apache::compat, that can be
removed from the config file.
Most of this is redundant now, I'm attaching a patch containing the still
relevant bits. (httpd/conf.d snippet renaming dropped as it hasn't happened
with other Apache modules either.)
PerlWarn and PerlTaintCheck are deprecated in favour of PerlSwitches.
Apache::Status has been renamed to Apache2::Status, and it no longer needs
Apache::compat (which has also been renamed to Apache2::compat).
As of 2.0.0-0.rc5.2, the non-running of the test suite is currently guarded by a
bug: "%ifarch 1386". This patch makes the intention clearer although the test
suite isn't really ready to be run even after this fix.
Created attachment 113330 [details]
Fix sample config, explicitly disable test suite