Bug#880921: libopencv-dev: removal of libopencv-dev makes files disappear from libhighgui-dev

2017-11-11 Thread Andreas Beckmann
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

2017-11-08 Thread Mattia Rizzolo
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

2017-11-05 Thread Andreas Beckmann
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