Bug#694395: libshell-command-perl: missing Breaks+Replaces: libextutils-command-perl
Andreas Beckmann
debian at abeckmann.de
Mon Nov 26 01:09:44 UTC 2012
Package: libshell-command-perl
Version: 0.06-1
Severity: serious
User: treinen at debian.org
Usertags: edos-file-overwrite
Architecture: amd64
Distribution: squeeze->wheezy (partial) upgrade
Hi,
automatic installation tests of packages that share a file and at the
same time do not conflict by their package dependency relationships has
detected the following problem:
Selecting previously deselected package libextutils-command-perl.
Unpacking libextutils-command-perl (from .../libextutils-command-perl_1.16-1_all.deb) ...
Setting up libextutils-command-perl (1.16-1) ...
Selecting previously deselected package libshell-command-perl.
(Reading database ... 7700 files and directories currently installed.)
Unpacking libshell-command-perl (from .../libshell-command-perl_0.06-1_all.deb) ...
dpkg: error processing /var/cache/apt/archives/libshell-command-perl_0.06-1_all.deb (--unpack):
trying to overwrite '/usr/share/perl5/Shell/Command.pm', which is also in package libextutils-command-perl 1.16-1
This is a serious bug as it makes installation/upgrade fail, and
violates sections 7.6.1 and 10.1 of the policy.
As this problem can be demonstrated during partial upgrades from squeeze
to wheezy (but not within squeeze or wheezy itself), this indicates a
missing or insufficiently versioned Replaces+Breaks relationship.
But since this particular upgrade ordering is not forbidden by any
dependency relationship, it is possible that apt (or $PACKAGE_MANAGER)
will use this erroneus path on squeeze->wheezy upgrades.
Here is a list of files that are known to be shared by both packages
(according to the Contents files for squeeze and wheezy on amd64, which
may be slightly out of sync):
usr/share/man/man3/Shell::Command.3pm.gz
usr/share/perl5/Shell/Command.pm
The following relationships are currently defined:
Package: libshell-command-perl
Conflicts: n/a
Breaks: n/a
Replaces: n/a
The following relationships should be added for a clean takeover of
these files
(http://www.debian.org/doc/debian-policy/ch-relationships.html#s-replaces):
Package: libshell-command-perl
Breaks: libextutils-command-perl
Replaces: libextutils-command-perl
As libextutils-command-perl has been removed from Debian, the Breaks/
Replaces can be unversioned. Alternatively
Conflicts: libextutils-command-perl
could be used instead of Breaks+Replaces.
Cheers,
Andreas
PS: for more information about the detection of file overwrite errors
of this kind see http://edos.debian.net/file-overwrites/.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: libextutils-command-perl=1.16-1_libshell-command-perl=0.06-1.log.gz
Type: application/x-gzip
Size: 6308 bytes
Desc: not available
URL: <http://lists.alioth.debian.org/pipermail/pkg-perl-maintainers/attachments/20121126/1f8ab55f/attachment.bin>
More information about the pkg-perl-maintainers
mailing list