Package: postfix
Version: 3.2.2-1
Severity: serious
Reason: Upgrade fails for non-default database types

Dear Maintainer,

Looks like I got bitten by #847242 again when upgradating from 3.1.4-7
to 3.2.2-1.  Here is my original report, with the `apt install postfix`
output updated.

--8<--------------------------------------------------------------->8--

My main.cf contains

    alias_maps     = lmdb:/etc/aliases
    alias_database = lmdb:/etc/aliases


Upgrading postfix to 3.1.3-5 fails as follows:

    ~$ sudo apt install postfix
    […]
    The following packages will be upgraded:
       postfix (3.1.4-7 => 3.2.2-1)
       postfix-lmdb (3.1.4-7 => 3.2.2-1)
    2 upgraded, 0 newly installed, 0 to remove and 33 not upgraded.
        […]
    Preconfiguring packages ...
    (Reading database ... 110825 files and directories currently installed.)
    Preparing to unpack .../postfix-lmdb_3.2.2-1_amd64.deb ...
    Removing lmdb map entry from /etc/postfix/dynamicmaps.cf
    Unpacking postfix-lmdb (3.2.2-1) over (3.1.4-7) ...
    Preparing to unpack .../postfix_3.2.2-1_amd64.deb ...
    Removing sqlite map entry from /etc/postfix/dynamicmaps.cf
    Unpacking postfix (3.2.2-1) over (3.1.4-7) ...
    Processing triggers for systemd (232-25) ...
    Processing triggers for man-db (2.7.6.1-2) ...
    Processing triggers for rsyslog (8.24.0-1) ...
    Setting up postfix (3.2.2-1) ...
    Installing new version of config file /etc/postfix/makedefs.out ...

    Postfix (main.cf) configuration was not changed.  If you need to make 
changes,
    edit /etc/postfix/main.cf (and others) as needed.  To view Postfix
    configuration values, see postconf(1).

    After modifying main.cf, be sure to run 'service postfix reload'.

    Running newaliases
    postalias: fatal: unsupported dictionary type: lmdb. Is the postfix-lmdb 
package installed?
    dpkg: error processing package postfix (--configure):
     subprocess installed post-installation script returned error exit status 1
    dpkg: dependency problems prevent configuration of postfix-lmdb:
     postfix-lmdb depends on postfix (= 3.2.2-1); however:
      Package postfix is not configured yet.

    dpkg: error processing package postfix-lmdb (--configure):
     dependency problems - leaving unconfigured
    Errors were encountered while processing:
     postfix
     postfix-lmdb


I believe this is because postfix-lmdb.prerm removes the dynamic map during
unpacking, and doesn't re-add it before postfix.postinst calls `newaliases`.
I guess the map should only be removed upon removal (`prerm remove`), or
should be re-added by the preinst script instead.

Setting the severity to serious as this also applies to
alias_database=cdb:/etc/aliases, and I guess to all postfix-* packages
for which the prerm script removes the dynamic map during upgrade.  FWIW
reinstalling (using `apt install --reinstall postfix postfix-cdb`) fails
as well.

Thanks for maintaining Postfix in Debian!
Cheers,
-- 
Guilhem.

Attachment: signature.asc
Description: PGP signature

Reply via email to