Package: libpam-elogind-compat Version: 1.3 Severity: serious Justification: silent file overwrite in upgrade situation User: helm...@debian.org Usertags: dep17p1 Control: clone -1 -2 Control: affects -1 + libpam-systemd Control: retitle -2 libpam-systemd needs a versioned conflict for libpam-elogind-compat Control: reassign -2 libpam-systemd Control: found -2 255~rc1-2 Control: affects -2 + libpam-elogind-compat Control: block -2 by -1
libpam-elogind-compat declares "Replaces: libpam-systemd", because they both install e.g. /lib/x86_64-linux-gnu/security/pam_systemd.so on amd64. Since libpam-systemd/255~rc1-2 in experimental, this file is located in the corresponding location below /usr. Therefore the Replaces declaration is not matched by dpkg and becomes ineffective. The resulting behaviour is as if there was no replaces. This is problem class is described in more detail in DEP17[1] P1. The simplest mitigation for this kind of problem is preventing concurrent unpack by upgrading Replaces to Conflicts (and thus dropping the now implied Breaks). This mitigation is described in more detail in DEP17[1] M7. Do you know why Breaks+Replaces has been chosen here? Do you see any issues with upgrading to Conflicts? A timely solution is appreciated, because libpam-systemd will need a versioned Conflicts on unfixed versions of libpam-elogind-compat to avoid breaking upgrades. Helmut [1] https://subdivi.de/~helmut/dep17.html