Bug#793085: ffmpeg: removal of ffmpeg makes files disappear from libav-tools

Reinhard Tartler siretart at gmail.com
Tue Jul 21 11:58:30 UTC 2015


 On Tue, Jul 21, 2015, 4:51 AM Andreas Beckmann <anbe at debian.org> wrote:

Package: ffmpeg
Version: 7:2.7.2-1
Severity: serious
User: debian-qa at lists.debian.org
Usertags: piuparts replaces-without-breaks
Control: affects -1 + libav-tools

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 libav-tools
  # (1)
  apt-get install ffmpeg
  apt-get remove ffmpeg
  # (2)

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

  usr/bin/qt-faststart
  usr/share/man/man1/qt-faststart.1.gz

This is a serious bug violating policy 7.6, see
https
<https://www.debian.org/doc/debian-policy/ch-relationships.html#s-replaces>
://
<https://www.debian.org/doc/debian-policy/ch-relationships.html#s-replaces>
www.debian.org
<https://www.debian.org/doc/debian-policy/ch-relationships.html#s-replaces>
/doc/
<https://www.debian.org/doc/debian-policy/ch-relationships.html#s-replaces>
debian-policy
<https://www.debian.org/doc/debian-policy/ch-relationships.html#s-replaces>/
<https://www.debian.org/doc/debian-policy/ch-relationships.html#s-replaces>
ch-relationships.html#s-replaces
<https://www.debian.org/doc/debian-policy/ch-relationships.html#s-replaces>
and also see the footnote that describes this incorrect behavior
https <https://www.debian.org/doc/debian-policy/footnotes.html#f53>://
<https://www.debian.org/doc/debian-policy/footnotes.html#f53>www.debian.org
<https://www.debian.org/doc/debian-policy/footnotes.html#f53>/doc/
<https://www.debian.org/doc/debian-policy/footnotes.html#f53>debian-policy
<https://www.debian.org/doc/debian-policy/footnotes.html#f53>/
<https://www.debian.org/doc/debian-policy/footnotes.html#f53>
footnotes.html#f53
<https://www.debian.org/doc/debian-policy/footnotes.html#f53>

The ffmpeg package has the following relationships with libav-tools:

  Conflicts: n/a
  Breaks:    libav-tools (<< 6:9~), qt-faststart (<< 7:2.7.1-3~)
  Replaces:  libav-tools (<< 6:12~), qt-faststart (<< 7:2.7.1-3~)

The Breaks was not bumped to match the Replaces.

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

1m28.2s ERROR: FAIL: After purging files have disappeared:
  /usr/bin/qt-faststart  owned by: ffmpeg
  /usr/share/man/man1/qt-faststart.1.gz  owned by: ffmpeg

1m28.2s ERROR: FAIL: After purging files have been modified:
  /var/lib/dpkg/info/libav-tools.list    not owned




Well, that was actually the purpose, the idea is to replace qt-faststart
from libav-tools, and the problem is rather transitional until libav-tools
is uninstalled. I guess the bug is that we don't ensure that this actually
takes place. I've therefore made two commits in git:

- one that tightens the Breaks relationship as suggested
- one that renames libav-tools-links to libav-tools in src:ffmpeg.

This should ensure a comprehensive transition.

Feedback on these two commits are welcome. In particular, I saw a comment
suggesting to transition command-line interface separately from the library
interfaces. While this may make the transition slightly smaller, the
benefits don't outweigh the confusion here, and would rather suggest to
transition them both at the same time with the 2nd commit mentioned above.

Best,
Reinhard
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.alioth.debian.org/pipermail/pkg-multimedia-maintainers/attachments/20150721/6ab2a889/attachment-0002.html>


More information about the pkg-multimedia-maintainers mailing list