Bug#901208: libvlfeat-doc: removal of libvlfeat-doc makes files disappear from libvlfeat-dev

Andreas Beckmann anbe at debian.org
Sun Jun 10 08:41:59 BST 2018


Package: libvlfeat-doc
Version: 0.9.21+dfsg0-2
Severity: serious
User: debian-qa at 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 libvlfeat-dev/stretch
  # (1)
  apt-get install libvlfeat-doc/buster
  apt-get remove libvlfeat-doc
  # (2)

The list of installed files at points (1) and (2) should be identical,
but the following files have disappeared:

  /usr/share/doc/libvlfeat-dev/examples/aib.c
  /usr/share/doc/libvlfeat-dev/examples/check.h
  /usr/share/doc/libvlfeat-dev/examples/generic-driver.h.gz
  /usr/share/doc/libvlfeat-dev/examples/mser.1
  /usr/share/doc/libvlfeat-dev/examples/mser.c.gz
  /usr/share/doc/libvlfeat-dev/examples/test_gauss_elimination.c
  /usr/share/doc/libvlfeat-dev/examples/test_gmm.c.gz
  /usr/share/doc/libvlfeat-dev/examples/test_heap-def.c
  /usr/share/doc/libvlfeat-dev/examples/test_host.c
  /usr/share/doc/libvlfeat-dev/examples/test_imopv.c
  /usr/share/doc/libvlfeat-dev/examples/test_kmeans.c
  /usr/share/doc/libvlfeat-dev/examples/test_liop.c
  /usr/share/doc/libvlfeat-dev/examples/test_mathop.c
  /usr/share/doc/libvlfeat-dev/examples/test_mathop_abs.c
  /usr/share/doc/libvlfeat-dev/examples/test_nan.c
  /usr/share/doc/libvlfeat-dev/examples/test_qsort-def.c
  /usr/share/doc/libvlfeat-dev/examples/test_rand.c
  /usr/share/doc/libvlfeat-dev/examples/test_sqrti.c
  /usr/share/doc/libvlfeat-dev/examples/test_stringop.c
  /usr/share/doc/libvlfeat-dev/examples/test_svd2.c
  /usr/share/doc/libvlfeat-dev/examples/test_threads.c
  /usr/share/doc/libvlfeat-dev/examples/test_vec_comp.c


This is a serious bug violating policy 7.6, see
https://www.debian.org/doc/debian-policy/#overwriting-files-and-replacing-packages-replaces
and also see the footnote that describes this incorrect behavior
https://www.debian.org/doc/debian-policy/ (old: footnotes.html#f53)
[footnote permalink broken (#879048), search for /To see why/]

The libvlfeat-doc package has the following relationships with libvlfeat-dev:

  Conflicts: n/a
  Breaks:    n/a
  Replaces:  libvlfeat-dev (<< 0.9.21+dfsg0-1)

>From the attached log (scroll to the bottom...):

1m37.7s DEBUG: Modified(user, group, mode, size, target): /var/lib/dpkg/info/libvlfeat-dev:amd64.list expected(root, root, - 100644, 2418, None) != found(root, root, - 100644, 1281, None)
1m37.8s ERROR: FAIL: After purging files have disappeared:
  /usr/share/doc/libvlfeat-dev/examples/aib.c    owned by: libvlfeat-doc
  /usr/share/doc/libvlfeat-dev/examples/check.h  owned by: libvlfeat-doc
  /usr/share/doc/libvlfeat-dev/examples/generic-driver.h.gz      owned by: libvlfeat-doc
  /usr/share/doc/libvlfeat-dev/examples/mser.1   owned by: libvlfeat-doc
  /usr/share/doc/libvlfeat-dev/examples/mser.c.gz        owned by: libvlfeat-doc
  /usr/share/doc/libvlfeat-dev/examples/test_gauss_elimination.c         owned by: libvlfeat-doc
  /usr/share/doc/libvlfeat-dev/examples/test_gmm.c.gz    owned by: libvlfeat-doc
  /usr/share/doc/libvlfeat-dev/examples/test_heap-def.c  owned by: libvlfeat-doc
  /usr/share/doc/libvlfeat-dev/examples/test_host.c      owned by: libvlfeat-doc
  /usr/share/doc/libvlfeat-dev/examples/test_imopv.c     owned by: libvlfeat-doc
  /usr/share/doc/libvlfeat-dev/examples/test_kmeans.c    owned by: libvlfeat-doc
  /usr/share/doc/libvlfeat-dev/examples/test_liop.c      owned by: libvlfeat-doc
  /usr/share/doc/libvlfeat-dev/examples/test_mathop.c    owned by: libvlfeat-doc
  /usr/share/doc/libvlfeat-dev/examples/test_mathop_abs.c        owned by: libvlfeat-doc
  /usr/share/doc/libvlfeat-dev/examples/test_nan.c       owned by: libvlfeat-doc
  /usr/share/doc/libvlfeat-dev/examples/test_qsort-def.c         owned by: libvlfeat-doc
  /usr/share/doc/libvlfeat-dev/examples/test_rand.c      owned by: libvlfeat-doc
  /usr/share/doc/libvlfeat-dev/examples/test_sqrti.c     owned by: libvlfeat-doc
  /usr/share/doc/libvlfeat-dev/examples/test_stringop.c  owned by: libvlfeat-doc
  /usr/share/doc/libvlfeat-dev/examples/test_svd2.c      owned by: libvlfeat-doc
  /usr/share/doc/libvlfeat-dev/examples/test_threads.c   owned by: libvlfeat-doc
  /usr/share/doc/libvlfeat-dev/examples/test_vec_comp.c  owned by: libvlfeat-doc

1m37.8s ERROR: FAIL: After purging files have been modified:
  /var/lib/dpkg/info/libvlfeat-dev:amd64.list    not owned


cheers,

Andreas
-------------- next part --------------
A non-text attachment was scrubbed...
Name: libvlfeat-dev=0.9.20+dfsg0-1_libvlfeat-doc=0.9.21+dfsg0-2.log.gz
Type: application/gzip
Size: 9925 bytes
Desc: not available
URL: <http://alioth-lists.debian.net/pipermail/debian-science-maintainers/attachments/20180610/0bd0dbeb/attachment-0001.gz>


More information about the debian-science-maintainers mailing list