- Package:
- libcgi-application-dispatch-perl
- Source:
- libcgi-application-dispatch-perl
- Submitter:
- Date:
- 2025-08-17 17:47:47 UTC
- Severity:
- normal
- Tags:
Dear maintainer, your package libcgi-application-dispatch-perl is provding an Apache2 web server module. We're upgrading Apache to the new upstream version 2.4 [1] (tracked as transition bug #661958). This requires all modules to be rebuilt due to ABI changes. Thus, you need to rebuild and reupload your Apache2 module package in a version compatible to our new package available in experimental [2]. Please note it is not enough to simply rebuild the module - it needs some adaptions in the module package metadata. We have written packaging guidelines for our reverse dependencies [3]. Please read it carefully, it should be able to answer most of your questions. Do also look at dh_apache2 (available through the dh-apache2 package) which can simplify packaging Apache2 modules. In short, we want to highlight these changes you need to be aware of. * APIs changed for some cases [3]. Chances are your module needs some adaptions, please get in touch with upstream or us if you need help to port your module to Apache 2.4. * MPM packages are gone. You cannot depend or conflict with a particular MPM anymore. If your module does not work with a particular module, make sure to make it abort with an error if loaded together with an incompatible MPM. You can use our apache2-maintscript-helper [4] to switch to the MPM of your choice in your maintainer scripts. * Do not build-depend on apache2-threaded-dev or apache2-prefork-dev anymore. Just like MPMs are gone, are our MPM -dev packages as well. All modules need to simply build-depend on apache2-dev. * Do NOT depend on apache2, apache2-common or any other real apache2 package in your binary module package. Depend on our virtual apache2-api-20120211 package only! * Do NOT call a2enmod/a2dismod in your maintainer scripts. Use our apache2-maintscript-helper [3] instead. This is required to get a uniform and stateful handling of all Apache2 modules. You can look at our Apache 2.4 packaging hints [5] for hands-on tutorials. Please note: This bug is filed as "important" for now. As the time goes by we plan make it a release critical severity. In the consequences your module either needs an update or is going to be removed from Wheezy. For the time being please tag the bug as pending as soon as you have a package ready. We strongly recommend that at least maintainers of complex module packages make an upload to experimental as well. Of course, uploading simple modules to experimental is welcome, too. [1] https://lists.debian.org/debian-devel-announce/2012/03/msg00013.html [2] http://packages.debian.org/search?keywords=apache2&searchon=sourcenames&exact=1&suite=all§ion=all [3] http://anonscm.debian.org/gitweb/?p=pkg-apache/apache2.git;a=blob;f=debian/PACKAGING;hb=next [4] http://httpd.apache.org/docs/2.4/developer/new_api_2_4.html [5] http://wiki.debian.org/Apache/PackagingFor24
tags 666833 '+upstream' , block 666833 by 666822 thanks Dear maintainer, this is a follow-up message to your Apache 2.4 transition bug for package libcgi-application-dispatch-perl. We are approaching an upload of the web server to Debian's Unstable repository as soon as the release team acknowledges the upload. Along that upload we are planning to raise the importance of this bug to a release-critical severity. Please port your packages now to Apache 2.4. Below you can find a test-rebuild for your package for the 2.4 version of the Apache web server. Please note, even if the rebuild was successful, you still need to make changes in the Debian specific part of your package. The rebuild below was made by using a specially prepared build environment where these conditions where met: * We had apache2 and apache2-dev preinstalled * We provided a void apache2-threaded-dev and apache2-prefork-dev package to satisfy build-dependencies of your existing package (but this WILL NOT be the case in a real upload of the apache2 source package) * We prepared apxs to unconditionally inject -Werror=implicit-function-declaration to gcc to make sure we can spot the use of removed API calls (e.g. missing signatures for ap_* functions). Note, this might also cause false positives in some cases. These are the outcome criterias we defined: * VERIFIED-OK: The package rebuilt and linked successfully using the Apache 2.4 development headers. It still needs adapting to Debian package changes * VERIFIED-FAIL: The package does not rebuild successufully using the Apache 2.4 development headers. It may need some porting in the upstream code base * BYHAND: We may rebuild your package another time with manual interception. Not clear outcome could be determined out of the build log This is the outcome we determined: outcome: VERIFIED-OK comment: blocked by mod_perl transition You will find a full build log attached below. Here are some hints about porting problems. See [1] for a comprehensive overview: error: 'conn_rec' has no member named 'remote_ip' These fields have been renamed in order to distinguish between the client IP address of the connection and the useragent IP address of the request. Porting is trivial, in most cases changing the pointer from conn_rec->remote_ip to request_rec->useragent_ip is enough error: implicit declaration of function 'ap_requires' error: implicit declaration of function 'ap_default_type' These functions were removed along the 2.2 authnz API. It needs a non-trivial API redesign. error: implicit declaration of function 'ap_get_server_version' Use ap_get_server_banner() error: format not a string literal and no format arguments [-Werror=format-security] Apache2 modules are being built with hardening build flags now in order to satisfy the "hardening release goal" [2]. A trivial fix comes over that problem. [1] http://httpd.apache.org/docs/2.4/developer/new_api_2_4.html [2] http://wiki.debian.org/ReleaseGoals/SecurityHardeningBuildFlags
Hi, we have decided to postpone the transition to apache2 2.4. The main blocker is that mod_perl needs a major new upstream release which very likely won't be ready in time for Wheezy and we don't want to release Wheezy without mod_perl. The transition will probably happen shortly after the release of Wheezy. We are sorry for any inconvenience this may have caused. Cheers, Stefan
Dear maintainers, now that the work is done and Debian 7.0 (Wheezy) is released [*], we are booting the Apache 2.4 transition process again. If you did not already, please subscribe to transition bug #661958 to keep up with our transition plan in detail as this IS going to affect your package. Unless the Release Team is going to assign us another slot to start the transition we are going to upload Apache 2.4 to Debian Sid at some point in June. If you do not prepare a package which works together with the Apache 2.4 server ABI by then, it is going to stop working at that time. Let me emphasize again you do need to make adjustments in the source of your package to get it working with Apache 2.4. Moreover, the APIs slightly changed from 2.2 to 2.4 so that some modules may require some porting. On the upside, it has been over a year that Apache 2.4 was released and many upstreams made compatible releases. Moreover, porting is easy in most cases and I've filed patches to some of your modules. Either way, if you are trying to load existing module from Sid into an Apache 2.4 web server is going to fail at runtime which renders your package virtually useless. We are planning to make the transition as smooth as possible to our users. Thus, we do not want to let the Apache 2.4 package migrate to Testing anytime soon. Instead, we'd like to let it migrate together with a bunch of transitioned third party modules (i.e. your packages). Please help us to make this happen soon. While we invite everyone to provide updated packages as soon as possible, don't hesitate to contact us if you feel like, we should wait for you and your package when considering a migration to Debian Testing. All packages which are not yet transitioned at that point will eventually be removed from Testing. Please prepare updates for your packages NOW and upload an upgraded package to Debian Experimental and/or have a patch ready in your VCS. In the case of the latter, please tag this bug pending. We chose some very important external modules to be a blocker for our upload to Unstable. That is, we will wait for you until we are uploading to Unstable, so that we can do a coordinated upload to mitigate the impact of Sid users. If you are the maintainer of such a blocker module, we'll contact you separately again. If you feel like you should be on the blocker list denoted in #661958 please let us know as soon as possible. [*] yah, it's not yet formally speaking
Hello fellow maintainers, we are ready to upload Apache2 2.4 to Debian Sid now. This means the transition is effectively starting now, and going to break your modules. We have scheduled the upload for May 30, 2013 BEFORE the 19:52 UTC dinstall on ftp-master. To minimize the breakage to our Sid users, we'd ask all of you having a transitioned package ready in Experimental, to make an upload to Sid AFTER the 13:52 UTC dinstall, and BEFORE 19:52 UTC [1]. Let us know if you need a sponsor, or our help to upload your packages in that time window. Please note, you could also use the DELAYED queue to make timed upload [2]. [1] http://ftp-master.debian.org/#dinstall [2] http://ftp-master.debian.org/deferred.html
Control: severity -1 normal
I cannot find any evidence that this is actually broken. It doesn't
appear to use any of the mod_perl APIs broken by Apache 2.4, and when I
install it and test it as best I can it still appears to work perfectly
well.
The only thing that I see that ought to be improved is that it should
now build-depend on apache2-dev rather than on apache2-threaded-dev |
apache2-prefork-dev, and that the build-dependency on apache2 itself
appears to be unnecessary. However, none of these actually prevent it
from building with Apache 2.4 in unstable (the apache2-threaded-dev |
apache2-prefork-dev build-dependencies are unversioned, so the Provides
in apache2-dev is good enough), and there's no reason for them to block
Apache 2.4 entering testing.
Applying the following patch should close this out.
diff -Nru libcgi-application-dispatch-perl-3.12/debian/changelog libcgi-application-dispatch-perl-3.12/debian/changelog
--- libcgi-application-dispatch-perl-3.12/debian/changelog 2012-11-04 13:35:09.000000000 +0000
+++ libcgi-application-dispatch-perl-3.12/debian/changelog 2013-07-10 22:27:18.000000000 +0100
@@ -1,3 +1,10 @@
+libcgi-application-dispatch-perl (3.12-1.1) UNRELEASED; urgency=low
+
+ * Non-maintainer upload.
+ * Update build-dependencies for Apache 2.4 (closes: #666833).
+
+ -- Colin Watson <cjwatson@debian.org> Wed, 10 Jul 2013 22:27:06 +0100
+
libcgi-application-dispatch-perl (3.12-1) unstable; urgency=low
[ gregor herrmann ]
diff -Nru libcgi-application-dispatch-perl-3.12/debian/control libcgi-application-dispatch-perl-3.12/debian/control
--- libcgi-application-dispatch-perl-3.12/debian/control 2012-11-04 13:35:09.000000000 +0000
+++ libcgi-application-dispatch-perl-3.12/debian/control 2013-07-10 22:27:02.000000000 +0100
@@ -5,8 +5,7 @@
Xavier Guimard <x.guimard@free.fr>
Section: perl
Priority: optional
-Build-Depends: apache2,
- apache2-threaded-dev | apache2-prefork-dev,
+Build-Depends: apache2-dev,
debhelper (>= 8),
libapache2-mod-perl2,
libcgi-application-perl (>= 4.50),
Thanks,
tag 666833 + pending thanks Some bugs in the libcgi-application-dispatch-perl package are closed in revision dcf119a74827ac95398bc2b77657545ce9919362 in branch 'master' by Colin Watson The full diff can be seen at http://anonscm.debian.org/gitweb/?p=pkg-perl/packages/libcgi-application-dispatch-perl.git;a=commitdiff;h=dcf119a Commit message: Update build-dependencies for Apache 2.4. Closes: #666833
Pushed to our git repo.
I'm not uploading the package right now because there's one issue
left: The test suite isn't run with Apache 2.4 (".AH00534: apache2:
Configuration error: No MPM loaded."); it seems that Apache::TestMB
doesn't honour APACHE_TEST_EXTRA_ARG or have an equivalent, unlike
Apache::TestMM.
I suppose we'd need to patch this in libapache2-mod-perl2 :/
Ah, an alternative is to patch t/conf/extra.conf.in (instead of our
"usual" 'APACHE_TEST_EXTRA_ARGS="-httpd_conf
$(CURDIR)/debian/apache2.conf"'); works, but is not very elegant, and
Apache::TestMB would probably be a better place to fix this (but only
after the Apache 2.4 migration to testing).
Cheers,
gregor
tag 666833 + pending thanks Some bugs in the libcgi-application-dispatch-perl package are closed in revision dcf119a74827ac95398bc2b77657545ce9919362 in branch 'master' by Colin Watson The full diff can be seen at http://anonscm.debian.org/gitweb/?p=pkg-perl/packages/libcgi-application-dispatch-perl.git;a=commitdiff;h=dcf119a Commit message: Update build-dependencies for Apache 2.4. Closes: #666833