[Pkg-monitoring-maintainers] Bug#760944: loganalyzer: postinst incorrectly checks for activation w/ apache2.4
Florian Ernst
florian_ernst at gmx.net
Tue Sep 9 11:25:02 UTC 2014
Package: loganalyzer
Version: 3.6.6+dfsg-1
Severity: serious
Tags: patch
Justification: Policy 6.2
Hello there,
loganalyzer's postinst creates
/etc/apache2/conf-available/loganalyzer.conf during installation, but
fails to detect that it has already created this file during subsequent
postinst runs, which leads to failure to configure during package
upgrades. This appears to stem from copy-and-waste during converting the
package to work with both apache2.2 and apache2.4. :)
Please see the following transcript for details:
:) fernst at fernst:~$ ls -al /etc/apache2/*/*logana*
lrwxrwxrwx 1 root root 28 Mar 19 12:31 /etc/apache2/conf-available/loganalyzer.conf -> /etc/loganalyzer/apache.conf
lrwxrwxrwx 1 root root 28 Mar 19 12:31 /etc/apache2/conf.d/loganalyzer -> /etc/loganalyzer/apache.conf
lrwxrwxrwx 1 root root 34 Mar 19 12:31 /etc/apache2/conf-enabled/loganalyzer.conf -> ../conf-available/loganalyzer.conf
:) fernst at fernst:~$ sudo bash
:) root at fernst:/home/fernst$ sh -x /var/lib/dpkg/info/loganalyzer.postinst configure
+ set -e
+ [ configure = configure ]
+ webserver=apache2
+ pkgname=loganalyzer
+ [ -x /usr/sbin/apache2 ]
+ a2enmod php5
Module php5 already enabled
+ a2enmod cgi
Module cgi already enabled
+ HTTPD_ETC=/etc/apache2
+ HTTPD_CONF_OLD=/etc/apache2/conf.d
+ HTTPD_CONF_NEW=/etc/apache2/conf-available
+ [ -d /etc/apache2 ]
+ [ -d /etc/apache2/conf.d -a ! -f /etc/apache2/conf.d/loganalyzer -a ! -h /etc/apache2/conf.d/loganalyzer ]
+ [ -d /etc/apache2/conf-available -a ! -f /etc/apache2/conf-available/loganalyzer -a ! -h /etc/apache2/conf-available/loganalyzer ]
+ ln -s /etc/loganalyzer/apache.conf /etc/apache2/conf-available/loganalyzer.conf
ln: failed to create symbolic link ‘/etc/apache2/conf-available/loganalyzer.conf’: File exists
:( root at fernst:/home/fernst$ echo $?
1
The following patch allows the package to be configured again:
:) fernst at fernst:~$ diff -u /var/lib/dpkg/info/loganalyzer.postinst.bak /var/lib/dpkg/info/loganalyzer.postinst
--- /var/lib/dpkg/info/loganalyzer.postinst.bak 2014-09-07 08:43:33.000000000 +0200
+++ /var/lib/dpkg/info/loganalyzer.postinst 2014-09-09 13:12:48.642837223 +0200
@@ -48,7 +48,7 @@
then
ln -s /etc/${pkgname}/apache.conf ${HTTPD_CONF_OLD}/${pkgname}
fi
- if [ -d ${HTTPD_CONF_NEW} -a ! -f ${HTTPD_CONF_NEW}/${pkgname} -a ! -h ${HTTPD_CONF_NEW}/${pkgname} ];
+ if [ -d ${HTTPD_CONF_NEW} -a ! -f ${HTTPD_CONF_NEW}/${pkgname}.conf -a ! -h ${HTTPD_CONF_NEW}/${pkgname}.conf ];
then
ln -s /etc/${pkgname}/apache.conf ${HTTPD_CONF_NEW}/${pkgname}.conf
if [ -e /usr/share/apache2/apache2-maintscript-helper ] ; then
HTH,
Flo
-- System Information:
Debian Release: jessie/sid
APT prefers testing
APT policy: (990, 'testing'), (50, 'testing-proposed-updates'), (50, 'unstable'), (1, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386
Kernel: Linux 3.14-2-amd64 (SMP w/8 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Versions of packages loganalyzer depends on:
ii apache2 2.4.10-1
ii apache2-bin [httpd-cgi] 2.4.10-1
ii apache2-mpm-prefork [httpd-cgi] 2.4.10-1
ii debconf 1.5.53
ii libapache2-mod-php5 5.6.0+dfsg-1
ii php5 5.6.0+dfsg-1
ii ttf-bitstream-vera 1.10-8
Versions of packages loganalyzer recommends:
ii php5-mongo 1.4.5-2+b1
Versions of packages loganalyzer suggests:
ii php5-gd 5.6.0+dfsg-1
ii rsyslog 8.4.0-2
-- Configuration Files:
/etc/loganalyzer/config.php changed [not included]
-- no debconf information
More information about the Pkg-monitoring-maintainers
mailing list