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.conf    not 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

Attachment: libopencv3.2-java=3.2.0+dfsg-3_libopencv3.3-java=3.3.0+dfsg-1~exp0.log.gz
Description: application/gzip

-- 
debian-science-maintainers mailing list
debian-science-maintainers@lists.alioth.debian.org
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/debian-science-maintainers

Reply via email to