Package: libatlas-base-dev Version: 3.10.2-6 Severity: important Tags: patch User: debian...@lists.debian.org Usertags: piuparts
Hi, during a test with piuparts I noticed your package left unowned files on the system after purge, which is a violation of policy 6.8: https://www.debian.org/doc/debian-policy/ch-maintainerscripts.html#s-removedetails This was observed after an lenny -> squeeze -> wheezy -> jessie upgrade. The leftover files are actually alternatives that were installed by the package but have not been properly removed. While there is ongoing discussion how to remove alternatives correctly (see https://bugs.debian.org/71621 for details) the following strategy should work for regular cases: * 'postinst configure' always installs the alternative * 'prerm remove' removes the alternative * 'postrm remove' and 'postrm disappear' remove the alternative In all other cases a maintainer script is invoked (e.g. upgrade, deconfigure) the alternatives are not modified to preserve user configuration. Removing the alternative in 'prerm remove' avoids having a dangling link once the actual file gets removed, but 'prerm remove' is not called in all cases (e.g. unpacked but not configured packages or disappearing packages) so the postrm must remove the alternative again (update-alternatives gracefully handles removal of non-existing alternatives). Note that the arguments for adding and removing alternatives differ, for removal it's 'update-alternatives --remove <name> <path>'. Filing this as important as having a piuparts clean archive is a release goal since lenny. >From the attached log (scroll to the bottom...): 5m39.1s INFO: Warning: Package purging left files on system: /etc/alternatives/libblas-3.a -> /usr/lib/atlas/libblas.a not owned /etc/alternatives/libblas-3.so -> /usr/lib/atlas/libblas.so not owned /etc/alternatives/liblapack-3.a -> /usr/lib/atlas/liblapack.a not owned /etc/alternatives/liblapack-3.so -> /usr/lib/atlas/liblapack.so not owned /etc/ld.so.conf.d/atlas.conf not owned /usr/lib/libblas-3.a -> /etc/alternatives/libblas-3.a not owned /usr/lib/libblas-3.so -> /etc/alternatives/libblas-3.so not owned /usr/lib/liblapack-3.a -> /etc/alternatives/liblapack-3.a not owned /usr/lib/liblapack-3.so -> /etc/alternatives/liblapack-3.so not owned Attached is a patch that I have verified in piuparts to fix this issue. No intent to NMU, but if you upload this to sid, I'll take care of getting it unblocked. cheers, Andreas
libatlas-base-dev_3.10.2-6.log.gz
Description: application/gzip
diff -Nru atlas-3.10.2/debian/changelog atlas-3.10.2/debian/changelog --- atlas-3.10.2/debian/changelog 2014-11-22 13:37:44.000000000 +0100 +++ atlas-3.10.2/debian/changelog 2015-01-23 20:24:54.000000000 +0100 @@ -1,3 +1,11 @@ +atlas (3.10.2-6.1) UNRELEASED; urgency=medium + + * Non-maintainer upload. + * libatlas-base-dev: Cleanup obsolete alternatives dating back to lenny. + (Closes: #xxxxxx) + + -- Andreas Beckmann <a...@debian.org> Fri, 23 Jan 2015 20:14:42 +0100 + atlas (3.10.2-6) unstable; urgency=medium * Add missing files in archdef for mips. diff -Nru atlas-3.10.2/debian/libatlas-base-dev.preinst atlas-3.10.2/debian/libatlas-base-dev.preinst --- atlas-3.10.2/debian/libatlas-base-dev.preinst 2014-07-12 12:23:26.000000000 +0200 +++ atlas-3.10.2/debian/libatlas-base-dev.preinst 2015-01-23 20:19:46.000000000 +0100 @@ -9,6 +9,10 @@ update-alternatives --remove libblas.so /usr/lib/atlas-base/atlas/libblas.so fi +# Cleanup obsolete alternatives dating back to lenny +update-alternatives --remove libblas-3.so /usr/lib/atlas/libblas.so +update-alternatives --remove liblapack-3.so /usr/lib/atlas/liblapack.so + # dh_installdeb will replace this with shell code automatically # generated by other debhelper scripts.