Bug#915684: python3-petsc4py-{real, complex}: leaves alternatives after purge: /usr/lib/python3/dist-packages/petsc4py
Andreas Beckmann
anbe at debian.org
Thu Dec 6 03:41:39 GMT 2018
Package: python3-petsc4py-real,python3-petsc4py-complex
Version: 3.10.0-1exp3
Severity: important
User: debian-qa at 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#details-of-removal-and-or-configuration-purging
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...):
0m51.7s ERROR: WARN: Broken symlinks:
/usr/lib/python3/dist-packages/petsc4py-3.10.0.egg-info -> /etc/alternatives/petsc4py.egg-info
/usr/lib/python3/dist-packages/petsc4py -> /etc/alternatives/petsc4py
/etc/alternatives/petsc4py.egg-info -> /usr/lib/python3/dist-packages/petsc4py_real-3.10.0.egg-info
/etc/alternatives/petsc4py -> /usr/lib/python3/dist-packages/petsc4py_real
0m56.8s INFO: Warning: Package purging left files on system:
/etc/alternatives/petsc4py -> /usr/lib/python3/dist-packages/petsc4py_real not owned
/etc/alternatives/petsc4py.egg-info -> /usr/lib/python3/dist-packages/petsc4py_real-3.10.0.egg-info not owned
/usr/lib/python3/dist-packages/petsc4py -> /etc/alternatives/petsc4py not owned
/usr/lib/python3/dist-packages/petsc4py-3.10.0.egg-info -> /etc/alternatives/petsc4py.egg-info not owned
0m56.2s ERROR: WARN: Broken symlinks:
/usr/lib/python3/dist-packages/petsc4py-3.10.0.egg-info -> /etc/alternatives/petsc4py.egg-info
/usr/lib/python3/dist-packages/petsc4py -> /etc/alternatives/petsc4py
/etc/alternatives/petsc4py.egg-info -> /usr/lib/python3/dist-packages/petsc4py_complex-3.10.0.egg-info
/etc/alternatives/petsc4py -> /usr/lib/python3/dist-packages/petsc4py_complex
1m2.3s INFO: Warning: Package purging left files on system:
/etc/alternatives/petsc4py -> /usr/lib/python3/dist-packages/petsc4py_complex not owned
/etc/alternatives/petsc4py.egg-info -> /usr/lib/python3/dist-packages/petsc4py_complex-3.10.0.egg-info not owned
/usr/lib/python3/dist-packages/petsc4py -> /etc/alternatives/petsc4py not owned
/usr/lib/python3/dist-packages/petsc4py-3.10.0.egg-info -> /etc/alternatives/petsc4py.egg-info not owned
cheers,
Andreas
-------------- next part --------------
A non-text attachment was scrubbed...
Name: python3-petsc4py-real_3.10.0-1exp3.log.gz
Type: application/gzip
Size: 17677 bytes
Desc: not available
URL: <http://alioth-lists.debian.net/pipermail/debian-science-maintainers/attachments/20181206/2bba401a/attachment-0001.gz>
More information about the debian-science-maintainers
mailing list