Package: python-djblets Version: 0.7~git20120402+dfsg-1 Severity: serious User: [email protected] Usertags: edos-file-overwrite
Architecture: amd64
Distribution: squeeze->sid (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 python-djblets.
Unpacking python-djblets (from
.../python-djblets_0.7~git20120402+dfsg-1_all.deb) ...
dpkg: error processing
/var/cache/apt/archives/python-djblets_0.7~git20120402+dfsg-1_all.deb
(--unpack):
trying to overwrite '/usr/share/pyshared/djblets/__init__.py', which is also
in package python-django-djblets 0.5.10~alpha0+git201005030944-2
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 sid (but not within squeeze or sid 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->sid upgrades.
Here is a list of files that are known to be shared by both packages
(according to the Contents files for squeeze and sid on amd64, which
may be slightly out of sync):
usr/share/pyshared/djblets/*
The following relationships are currently defined:
Package: python-djblets
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: python-djblets
Breaks: python-django-djblets
Replaces: python-django-djblets
As python-django-djblets is no longer in Debian, the Breaks/Replaces
can be unversioned.
As python-djblets is a re-introduction of python-django-djblets into
Debian I would recommend to preserve history by appending the old
changelog entries (and maybe add an artificial
(0.5.10~alpha0+git201005030944-2+rm) changelog entry describing the
removal and add something like "repackaged from scratch" to
(0.7~git20120402+dfsg-1)).
Cheers,
Andreas
PS: for more information about the detection of file overwrite errors
of this kind see http://edos.debian.net/file-overwrites/.
python-django-djblets=0.5.10~alpha0+git201005030944-2_python-djblets=0.7~git20120402+dfsg-1.log.gz
Description: GNU Zip compressed data

