Bug#880921: libopencv-dev: removal of libopencv-dev makes files disappear from libhighgui-dev
On 11/08/2017 04:08 PM, Mattia Rizzolo wrote: > libhighgui-dev has been removed altogether. Therefore, I wonder if an > acceptable solution would be to remove the version restriction in the > Conflicts. > Seemingly, I'd remove the version from the libcv-dev, libcvaux-dev > Conflicts as well Sounds like a sensible approach to get cruft deinstalled. > (they are in the same situation, probably if you test > them you will find the same bug). > Are the other binaries that are affected by a similar situation? Didn't see similar problems in other packages, but if the dependency chain is not trivial, it may take more crafting to get a reproducible buggy path ... Andreas
Bug#880921: libopencv-dev: removal of libopencv-dev makes files disappear from libhighgui-dev
Hi Andreas, On Sun, Nov 05, 2017 at 06:39:45PM +0100, Andreas Beckmann wrote: > during a test with piuparts and DOSE tools I noticed your package causes > removal of files that also belong to another package. > This is caused by using Replaces without corresponding Breaks. Oh, fancy. > The libopencv-dev package has the following relationships with libhighgui-dev: > > Conflicts: libhighgui-dev (<= 2.4.9.1+dfsg-2.1) > Breaks: > Replaces: libhighgui-dev > > * The Conflicts version obviously predates the moving around of highgui.h > * The Replaces should be versioned identical to the corresponding Breaks (or > Conflicts) > * Breaks is preferred over Conflicts for moving files between packages since > it makes apt's job easier > * There are more unversioned Replaces with versioned Conflicts, these should > be made versioned, too libhighgui-dev has been removed altogether. Therefore, I wonder if an acceptable solution would be to remove the version restriction in the Conflicts. Seemingly, I'd remove the version from the libcv-dev, libcvaux-dev Conflicts as well (they are in the same situation, probably if you test them you will find the same bug). Are the other binaries that are affected by a similar situation? -- regards, Mattia Rizzolo GPG Key: 66AE 2B4A FCCF 3F52 DA18 4D18 4B04 3FCD B944 4540 .''`. more about me: https://mapreri.org : :' : Launchpad user: https://launchpad.net/~mapreri `. `'` Debian QA page: https://qa.debian.org/developer.php?login=mattia `- signature.asc Description: PGP signature
Bug#880921: libopencv-dev: removal of libopencv-dev makes files disappear from libhighgui-dev
Package: libopencv-dev Version: 3.2.0+dfsg-3 Severity: serious User: debian...@lists.debian.org Usertags: piuparts replaces-without-breaks Hi, during a test with piuparts and DOSE tools I noticed your package causes removal of files that also belong to another package. This is caused by using Replaces without corresponding Breaks. The installation sequence to reproduce this problem is apt-get install libhighgui-dev/stretch # (1) apt-get install libopencv-dev/buster apt-get remove libopencv-dev # (2) The list of installed files at points (1) and (2) should be identical, but the following files have disappeared: /usr/include/opencv/highgui.h This is a serious bug violating policy 7.6, see https://www.debian.org/doc/debian-policy/ch-relationships.html#s-replaces and also see the footnote that describes this incorrect behavior https://www.debian.org/doc/debian-policy/footnotes.html#f53 The libopencv-dev package has the following relationships with libhighgui-dev: Conflicts: libhighgui-dev (<= 2.4.9.1+dfsg-2.1) Breaks: Replaces: libhighgui-dev * The Conflicts version obviously predates the moving around of highgui.h * The Replaces should be versioned identical to the corresponding Breaks (or Conflicts) * Breaks is preferred over Conflicts for moving files between packages since it makes apt's job easier * There are more unversioned Replaces with versioned Conflicts, these should be made versioned, too >From the attached log (scroll to the bottom...): 5m57.4s DEBUG: Modified(user, group, mode, size, target): /var/lib/dpkg/info/libhighgui-dev:amd64.list expected(root, root, - 100644, 261, None) != found(root, root, - 100644, 231, None) 5m57.4s INFO: Warning: Package purging left files on system: /etc/fonts/conf.d/10-hinting-slight.conf -> /usr/share/fontconfig/conf.avail/10-hinting-slight.confnot owned 5m57.4s ERROR: FAIL: After purging files have disappeared: /usr/include/opencv/highgui.h owned by: libopencv-dev 5m57.4s ERROR: FAIL: After purging files have been modified: /var/lib/dpkg/info/libhighgui-dev:amd64.list not owned cheers, Andreas libopencv3.2-java=3.2.0+dfsg-3_libopencv3.3-java=3.3.0+dfsg-1~exp0.log.gz Description: application/gzip