Package: libaudit1t64,libauparse0t64 Version: 1:3.1.2-2.1~exp1 Severity: serious X-Debbugs-Cc: vor...@debian.org
Hi, this is one of the uploads where we benefit from having gone via experimental. /usr/lib/x86_64-linux-gnu/libaudit.so.1 and /usr/lib/x86_64-linux-gnu/libaudit.so.1.0.0 have been moved from libaudit1 to libaudit1t64 in this upload and these files have formerly been installed below /lib in bookworm. Hence, we are creating exactly the problem that the file move moratorium was meant to prevent. /usr/lib/x86_64-linux-gnu/libauparse.so.0 and /usr/lib/x86_64-linux-gnu/libauparse.so.0.0.0 likewise move from libauparse0 to libauparse0t64 and create the same problem. DEP17 classifies this a P1 and proposed mitigations M7 and M8. In this case, I recommend not exercising Conflicts (M7), because they are known to be unreliable and libaudit1 is part of the the essential set (login depends on it). Instead, their respective preinst script should create protective diversions dpkg-divert --package libaudit1t64 --no-rename --divert /lib/x86_64-linux-gnu/libaudit.so.1.usr-is-merged /lib/x86_64-linux-gnu/libaudit.so.1 for each of the affected files with their aliased location. In this case - since we cannot use Conflicts - we cannot get rid of these diversions in postinst. We already have Breaks: libaudit1 (<< ...), but that allows concurrent unpack and hence still allows for the file loss scenario. The diversions should be cleaned up in forky's postinst. I appreciate another upload of audit to experimental to verify the mitigation. Helmut http://subdivi.de/~helmut/dep17.html