Package: dovecot-common
Version: 1:2.0.13-1
Severity: normal

Hi there!

After having upgraded to the latest dovecot-common package in unstable,
I found that some configuration files are leftover:
=====
root@gismo:/etc/dovecot# ls -l
total 160
drwxr-xr-x 2 root root  4096 Jun  6 10:55 conf.d
-rw-r--r-- 1 root root  3693 May 22 23:56 dovecot.conf
-rw-r--r-- 1 root root 52672 Mar  5 16:37 dovecot.conf.bak
-rw-r--r-- 1 root root 53526 Mar  5 18:44 dovecot.conf.ucf-old
-rw------- 1 root root   410 May 22 23:56 dovecot-db.conf.ext
-rw-r--r-- 1 root root   410 Jan 25 00:28 dovecot-db-example.conf
-rw------- 1 root root   782 May 22 23:56 dovecot-dict-sql.conf.ext
-rw-r--r-- 1 root root   782 Jan 25 00:28 dovecot-dict-sql-example.conf
-rw------- 1 root root  4986 Jan 25 00:29 dovecot-ldap.conf
-rw------- 1 root root  5105 Jan 25 00:29 dovecot-sql.conf
-rw------- 1 root root  5348 May 22 23:56 dovecot-sql.conf.ext
-rw-r--r-- 1 root root   116 May 22 23:56 README
root@gismo:/etc/dovecot#
=====

Apart from doveconf.conf.ucf-old (which is the old monolithic
configuration file), all the others have been automatically created
at dovecot-common installation:
=====
commit 5a81c5da0369bdd73bdb130132102ccbbb87be3a
Author: Luca Capello <l...@pca.it>
Date:   Sat Mar 5 16:37:37 2011 +0100

    committing changes in /etc after apt run

    Package changes:
    +dovecot-common 1:1.2.15-4
    +dovecot-imapd 1:1.2.15-4
    +libmysqlclient16 5.1.55-1
    +libpq5 9.0.3-1
    +mysql-common 5.1.55-1
    +offlineimap 6.3.2~rc3-2

:100755 100755 afdea25... 111a8e2... M  .etckeeper
:000000 100755 0000000... 58b5dbb... A  cron.daily/dovecot
:000000 100644 0000000... b74936b... A  default/dovecot
:000000 100644 0000000... 165dc13... A  dovecot/dovecot-db-example.conf
:000000 100644 0000000... 674a25f... A  dovecot/dovecot-dict-sql-example.conf
:000000 100644 0000000... ecad8d4... A  dovecot/dovecot-ldap.conf
:000000 100644 0000000... bb380a5... A  dovecot/dovecot-sql.conf
:000000 100644 0000000... b85719b... A  dovecot/dovecot.conf
:000000 100644 0000000... dd289df... A  dovecot/dovecot.conf.bak
:100644 100644 977587d... d3546d2... M  group
=====

However, these files are not listed as dpkg's conffiles, but they are
created in postinst and removed on purge (checked on a squeeze system,
given that my sid has already been upgraded):
=====
mantissa:/etc# dpkg -s dovecot-common
Package: dovecot-common
[...]
Version: 1:1.2.15-7
[...]
Conffiles:
 /etc/dovecot/dovecot-db-example.conf 58daecb4e1c3c6a4c4464d2f072f0743
 /etc/dovecot/dovecot-dict-sql-example.conf f2d2d25f9ee1cdfc69f1c33385869886
 /etc/pam.d/dovecot 788128882dc95f31f2f979d700603f19
 /etc/default/dovecot 937b2450260680670719afc006262880
 /etc/init.d/dovecot 2261217a2a05ddcd0f3df0b3ed3d028f
 /etc/cron.daily/dovecot f3a987e0ecaa3d7a116c11e655d90b01
[...]

mantissa:/etc# less /var/lib/dpkg/info/dovecot-common.postinst
[...]
if [ "$1" = "configure" ]; then

  for conffile in dovecot.conf dovecot-ldap.conf dovecot-sql.conf ; do
    # Tell ucf that the file in /usr/share/dovecot is the latest
    # maintainer version, and let it handle how to manage the real
    # configuration file in /etc/dovecot.
    ucf --three-way /usr/share/dovecot/$conffile /etc/dovecot/$conffile
    ucfr dovecot-common /etc/dovecot/$conffile
    if [ "$conffile" != "dovecot.conf" ] && [ -f
  "/etc/dovecot/$conffile" ]; then
      chmod 0600 /etc/dovecot/$conffile
    fi
  done
[...]

mantissa:/etc# less /var/lib/dpkg/info/dovecot-common.postrm
if [ "$1" = "purge" ] ; then
        for conffile in /etc/dovecot/dovecot.conf 
/etc/dovecot/dovecot-ldap.conf /etc/dovecot/dovecot-sql.conf 
/etc/ssl/certs/dovecot.pem /etc/ssl/private/dovecot.pem; do
                # we mimic dpkg as closely as possible, so we remove 
configuration
                # files with dpkg backup extensions too:
                ### Some of the following is from Tore Anderson:
                for ext in '~' '%' .bak .dpkg-tmp .dpkg-new .dpkg-old 
.dpkg-dist;  do
                        rm -f $conffile$ext
                done
                # remove the configuration file itself
                rm -f $conffile
                # and finally clear it out from the ucf database
                if which ucf >/dev/null; then
                        ucf --purge $conffile
                fi
                if which ucfr >/dev/null; then
                        ucfr --purge dovecot-common $conffile
                fi
        done
[...]
=====

Now, if these files are still useful, why is there a new
dovecot-sql.conf.ext, which minimally differs from the old
dovecot-sql.conf?
=====
root@gismo:/etc/dovecot# diff -U 0 dovecot-sql.conf.ext dovecot-sql.conf
--- dovecot-sql.conf.ext        2011-05-22 23:56:18.000000000 +0200
+++ dovecot-sql.conf    2011-06-06 11:58:16.504443489 +0200
@@ -3 +3 @@
-# http://wiki2.dovecot.org/AuthDatabase/SQL
+# http://wiki.dovecot.org/AuthDatabase/SQL
@@ -33,3 +32,0 @@
-# HA / round-robin load-balancing is supported by giving multiple host
-# settings, like: host=sql1.host.org host=sql2.host.org
-#
@@ -39,2 +35,0 @@
-#   Use maxconns=n (default 5) to change how many connections Dovecot can
-#   create to pgsql.
@@ -55 +50 @@
-#   You can connect to UNIX sockets by using host: host=/var/run/mysql.sock
+#   You can connect to UNIX sockets by using host: 
host=/var/run/mysqld/mysqld.sock
@@ -57,0 +53,2 @@
+#   MySQL supports multiple host parameters for load balancing / HA.
+#
@@ -71 +68 @@
-# http://wiki2.dovecot.org/Authentication/PasswordSchemes
+# http://wiki.dovecot.org/Authentication/PasswordSchemes
@@ -86 +83 @@
-# http://wiki2.dovecot.org/PasswordDatabase/ExtraFields
+# http://wiki.dovecot.org/PasswordDatabase/ExtraFields
@@ -88 +85 @@
-# Commonly used available substitutions (see http://wiki2.dovecot.org/Variables
+# Commonly used available substitutions (see http://wiki.dovecot.org/Variables
@@ -115 +112 @@
-# http://wiki2.dovecot.org/UserDatabase/ExtraFields
+# http://wiki.dovecot.org/UserDatabase/ExtraFields
@@ -134,3 +130,0 @@
-
-# Query to get a list of all usernames.
-#iterate_query = SELECT username AS user FROM users
root@gismo:/etc/dovecot#
=====

In general, however, it seems that we have three different bugs, here:

1) triplicate "example" files

   a. /usr/share/doc/dovecot-common/example-config/
      (which is *NOT* /usr/share/doc/dovecot/example-config/ as
      /etc/dovecot/README contains)
   b. /usr/share/dovecot/
   c. /etc/dovecot/

2) useless extension for "example" files, given that .ext does not mean
   anything at all and it is counter-intuitive, if it means "example".
   I would also question the usefulness of such files (both the old
   -example.conf and the new .conf.ext), given that if they are examples
   they should stay away from /etc.

3) leftover example files after upgrade

   a. dovecot.conf.bak
   b. dovecot-db-example.conf (same as dovecot-db.conf.ext)
   c. dovecot-dict-sql-example.conf (same as dovecot-dict-sql.conf.ext)
   d. dovecot-ldap.conf
   e. dovecot-sql.conf (one useful difference with dovecot-sql.conf.ext)

Please install in /etc only what is really necessary.

Thx, bye,
Gismo / Luca

-- System Information:
Debian Release: wheezy/sid
  APT prefers unstable
  APT policy: (990, 'unstable'), (1, 'experimental')
Architecture: amd64 (x86_64)

Kernel: Linux 2.6.39-1-amd64 (SMP w/2 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 dovecot-common depends on:
ii  adduser                 3.112+nmu2       add and remove users and groups
ii  libbz2-1.0              1.0.5-6          high-quality block-sorting file co
ii  libc6                   2.13-4           Embedded GNU C Library: Shared lib
ii  libpam-runtime          1.1.3-1          Runtime support for the PAM librar
ii  libpam0g                1.1.3-1          Pluggable Authentication Modules l
ii  libssl1.0.0             1.0.0d-2         SSL shared libraries
ii  openssl                 1.0.0d-2         Secure Socket Layer (SSL) binary a
ii  ucf                     3.0025+nmu2      Update Configuration File: preserv
ii  zlib1g                  1:1.2.3.4.dfsg-3 compression library - runtime

dovecot-common recommends no packages.

Versions of packages dovecot-common suggests:
ii  ntp                 1:4.2.6.p2+dfsg-1+b2 Network Time Protocol daemon and u

-- Configuration Files:
/etc/default/dovecot changed:
ENABLED=0


-- no debconf information

Attachment: pgpT59KSw6lsm.pgp
Description: PGP signature

Reply via email to