[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