Just noticed some issues with my web application package, and not sure what to do about them, or who to contact. Apologies if these issues have already been discussed, the other threads seem to focus around upgrading binary modules (at quick glance).
Fair enough, change that depends to depends on "apache2 | httpd".
However, now when I install it, for reasons I don't understand, apt-get prefers to install apache2-bin over apache2 (thought it should default to the first item???). This provides httpd and satisfies the depends. apache2 is required for Apache 2.4 configuration, as only it provides /usr/share/apache2/apache2-maintscript-helper.
(side note: if I change the depends back to apache2, it works fine)
Fine, so my package should install, but without configuring Apache, right? Not so fast.
if [ -e /usr/share/apache2/apache2-maintscript-helper ] ; then
. /usr/share/apache2/apache2-maintscript-helper
apache2_invoke enconf package.conf
elif dpkg-query -f '${Version}' -W 'apache2.2-common' > /dev/null 2>&1 ; then
# if the configuration uses <IfVersion> uncomment the next line
# a2enmod -q version
[ -d /etc/apache2/conf.d/ ] && [ ! -l /etc/apache2/conf.d/package.conf ] && ln -s ../conf-available/package.conf /etc/apache2/conf.d/package.conf
fi
The problem here is that the dpkg-query succeeds if apache2-bin is installed (it just doesn't print a version):
(sid)root@aquitard:/home/brian/tree/django/karaage/karaage# dpkg-query -f '${Version}' -W 'apache2.2-common' && echo successful
successful
(sid)root@aquitard:/home/brian/tree/django/karaage/karaage# dpkg --purge apache2-bin
(Reading database ... 18140 files and directories currently installed.)
Removing apache2-bin (2.4.10-1) ...
Processing triggers for man-db (2.6.7.1-1) ...
(sid)root@aquitard:/home/brian/tree/django/karaage/karaage# dpkg-query -f '${Version}' -W 'apache2.2-common' && echo successful
dpkg-query: no packages found matching apache2.2-common
I don't understand this.
Yes, the above script also checks for the existence of /etc/apache2/conf.d/, however just
because this directory exists doesn't mean apache2.2 is still installed.
Other issues:
Also still getting Lintian warnings for
* "apache2-reverse-dependency-calls-invoke-rc.d" - due to legacy fall back code that restarts Apache2.2 automatically.
* "non-standard-apache2-configuration-name" - due to the fact I need to supply different configuration files for apache2.2 and apache2.4 in /etc/apache2/conf-available, as the access control requirements have changed and this was the recommended solution on the debian-python mailing list.
Probably will have to override these.
--
Brian May <
brian@microcomaustralia.com.au>