[Python-modules-team] Bug#892877: python-urwid-doc: removal of python-urwid-doc makes files disappear from python-urwid

Andreas Beckmann anbe at debian.org
Wed Mar 14 02:08:53 UTC 2018


Package: python-urwid-doc
Version: 2.0.1-1
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 python-urwid/stretch
  # (1)
  apt-get install python-urwid-doc/buster
  apt-get remove python-urwid-doc
  # (2)

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

  usr/share/doc/python-urwid/examples/bigtext.py.gz
  usr/share/doc/python-urwid/examples/browse.py.gz
  usr/share/doc/python-urwid/examples/calc.py.gz
  usr/share/doc/python-urwid/examples/dialog.py.gz
  usr/share/doc/python-urwid/examples/edit.py.gz
  usr/share/doc/python-urwid/examples/fib.py
  usr/share/doc/python-urwid/examples/graph.py.gz
  usr/share/doc/python-urwid/examples/input_test.py
  usr/share/doc/python-urwid/examples/lcd_cf635.py.gz
  usr/share/doc/python-urwid/examples/palette_test.py.gz
  usr/share/doc/python-urwid/examples/pop_up.py
  usr/share/doc/python-urwid/examples/subproc.py
  usr/share/doc/python-urwid/examples/tour.py.gz
  usr/share/doc/python-urwid/examples/treesample.py.gz
  usr/share/doc/python-urwid/examples/twisted_serve_ssh.py.gz
  usr/share/doc/python-urwid/examples/twisted_serve_ssh.tac
  usr/share/doc/python-urwid/html/_images/adventure1.png
  usr/share/doc/python-urwid/html/_images/adventure2.png
  usr/share/doc/python-urwid/html/_images/adventure3.png
  usr/share/doc/python-urwid/html/_images/adventure4.png
  usr/share/doc/python-urwid/html/_images/attr1.png
  usr/share/doc/python-urwid/html/_images/attr2.png
  usr/share/doc/python-urwid/html/_images/attr3.png
  usr/share/doc/python-urwid/html/_images/attr4.png
  usr/share/doc/python-urwid/html/_images/bigtext2.png
  usr/share/doc/python-urwid/html/_images/bigtext3.png
  usr/share/doc/python-urwid/html/_images/bright_combinations1.png
  usr/share/doc/python-urwid/html/_images/browse2.png
  usr/share/doc/python-urwid/html/_images/cmenu1.png
  usr/share/doc/python-urwid/html/_images/cmenu2.png
  usr/share/doc/python-urwid/html/_images/cmenu3.png
  usr/share/doc/python-urwid/html/_images/cmenu4.png
  usr/share/doc/python-urwid/html/_images/display_modules.png
  usr/share/doc/python-urwid/html/_images/edit1.png
  usr/share/doc/python-urwid/html/_images/edit2.png
  usr/share/doc/python-urwid/html/_images/graph2.png
  usr/share/doc/python-urwid/html/_images/highcolors1.png
  usr/share/doc/python-urwid/html/_images/hmenu1.png
  usr/share/doc/python-urwid/html/_images/hmenu2.png
  usr/share/doc/python-urwid/html/_images/hmenu3.png
  usr/share/doc/python-urwid/html/_images/hmenu4.png
  usr/share/doc/python-urwid/html/_images/input1.png
  usr/share/doc/python-urwid/html/_images/input2.png
  usr/share/doc/python-urwid/html/_images/input3.png
  usr/share/doc/python-urwid/html/_images/input4.png
  usr/share/doc/python-urwid/html/_images/input5.png
  usr/share/doc/python-urwid/html/_images/introduction.png
  usr/share/doc/python-urwid/html/_images/minimal1.png
  usr/share/doc/python-urwid/html/_images/multiple1.png
  usr/share/doc/python-urwid/html/_images/multiple2.png
  usr/share/doc/python-urwid/html/_images/multiple3.png
  usr/share/doc/python-urwid/html/_images/multiple4.png
  usr/share/doc/python-urwid/html/_images/palette_test2.png
  usr/share/doc/python-urwid/html/_images/pop_up1.png
  usr/share/doc/python-urwid/html/_images/pop_up2.png
  usr/share/doc/python-urwid/html/_images/qa1.png
  usr/share/doc/python-urwid/html/_images/qa2.png
  usr/share/doc/python-urwid/html/_images/qa3.png
  usr/share/doc/python-urwid/html/_images/safe_combinations1.png
  usr/share/doc/python-urwid/html/_images/sig1.png
  usr/share/doc/python-urwid/html/_images/sig2.png
  usr/share/doc/python-urwid/html/_images/sig3.png
  usr/share/doc/python-urwid/html/_images/sig4.png
  usr/share/doc/python-urwid/html/_images/smenu1.png
  usr/share/doc/python-urwid/html/_images/smenu2.png
  usr/share/doc/python-urwid/html/_images/smenu3.png
  usr/share/doc/python-urwid/html/_images/subproc1.png
  usr/share/doc/python-urwid/html/_images/subproc2.png
  usr/share/doc/python-urwid/html/_images/tour1.png
  usr/share/doc/python-urwid/html/_images/tour2.png
  usr/share/doc/python-urwid/html/_images/urwid_widgets_1.png
  usr/share/doc/python-urwid/html/_images/urwid_widgets_2.png
  usr/share/doc/python-urwid/html/_images/widget_layout.png
  usr/share/doc/python-urwid/html/_static/ajax-loader.gif
  usr/share/doc/python-urwid/html/_static/basic.css
  usr/share/doc/python-urwid/html/_static/classic.css
  usr/share/doc/python-urwid/html/_static/comment-bright.png
  usr/share/doc/python-urwid/html/_static/comment-close.png
  usr/share/doc/python-urwid/html/_static/comment.png
  usr/share/doc/python-urwid/html/_static/default.css
  usr/share/doc/python-urwid/html/_static/doctools.js
  usr/share/doc/python-urwid/html/_static/down-pressed.png
  usr/share/doc/python-urwid/html/_static/down.png
  usr/share/doc/python-urwid/html/_static/file.png
  usr/share/doc/python-urwid/html/_static/jquery.js
  usr/share/doc/python-urwid/html/_static/minus.png
  usr/share/doc/python-urwid/html/_static/plus.png
  usr/share/doc/python-urwid/html/_static/pygments.css
  usr/share/doc/python-urwid/html/_static/searchtools.js
  usr/share/doc/python-urwid/html/_static/sidebar.js
  usr/share/doc/python-urwid/html/_static/underscore.js
  usr/share/doc/python-urwid/html/_static/up-pressed.png
  usr/share/doc/python-urwid/html/_static/up.png
  usr/share/doc/python-urwid/html/_static/urwid-logo.png
  usr/share/doc/python-urwid/html/changelog.html.gz
  usr/share/doc/python-urwid/html/examples/index.html
  usr/share/doc/python-urwid/html/genindex.html
  usr/share/doc/python-urwid/html/index.html
  usr/share/doc/python-urwid/html/manual/canvascache.html
  usr/share/doc/python-urwid/html/manual/displayattributes.html
  usr/share/doc/python-urwid/html/manual/displaymodules.html
  usr/share/doc/python-urwid/html/manual/encodings.html
  usr/share/doc/python-urwid/html/manual/index.html
  usr/share/doc/python-urwid/html/manual/mainloop.html
  usr/share/doc/python-urwid/html/manual/overview.html
  usr/share/doc/python-urwid/html/manual/textlayout.html
  usr/share/doc/python-urwid/html/manual/userinput.html
  usr/share/doc/python-urwid/html/manual/widgets.html
  usr/share/doc/python-urwid/html/objects.inv
  usr/share/doc/python-urwid/html/reference/attrspec.html
  usr/share/doc/python-urwid/html/reference/canvas.html
  usr/share/doc/python-urwid/html/reference/command_map.html
  usr/share/doc/python-urwid/html/reference/constants.html
  usr/share/doc/python-urwid/html/reference/deprecated.html
  usr/share/doc/python-urwid/html/reference/display_modules.html
  usr/share/doc/python-urwid/html/reference/exceptions.html
  usr/share/doc/python-urwid/html/reference/global_settings.html
  usr/share/doc/python-urwid/html/reference/index.html
  usr/share/doc/python-urwid/html/reference/list_walkers.html
  usr/share/doc/python-urwid/html/reference/main_loop.html
  usr/share/doc/python-urwid/html/reference/meta.html
  usr/share/doc/python-urwid/html/reference/signals.html
  usr/share/doc/python-urwid/html/reference/text_layout.html
  usr/share/doc/python-urwid/html/reference/widget.html
  usr/share/doc/python-urwid/html/search.html
  usr/share/doc/python-urwid/html/searchindex.js
  usr/share/doc/python-urwid/html/tutorial/index.html


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 python-urwid-doc package has the following relationships with python-urwid:

  Conflicts:
  Breaks:
  Replaces: python-urwid (<< 2.0.1-1)

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

1m33.7s ERROR: FAIL: After purging files have disappeared:
  /usr/share/doc/python-urwid/examples/bigtext.py.gz     owned by: python-urwid-doc
  /usr/share/doc/python-urwid/examples/browse.py.gz      owned by: python-urwid-doc
  /usr/share/doc/python-urwid/examples/calc.py.gz        owned by: python-urwid-doc
  /usr/share/doc/python-urwid/examples/dialog.py.gz      owned by: python-urwid-doc
  /usr/share/doc/python-urwid/examples/edit.py.gz        owned by: python-urwid-doc
  /usr/share/doc/python-urwid/examples/fib.py    owned by: python-urwid-doc
  /usr/share/doc/python-urwid/examples/graph.py.gz       owned by: python-urwid-doc
  /usr/share/doc/python-urwid/examples/input_test.py     owned by: python-urwid-doc
  /usr/share/doc/python-urwid/examples/lcd_cf635.py.gz   owned by: python-urwid-doc
  /usr/share/doc/python-urwid/examples/palette_test.py.gz        owned by: python-urwid-doc
  /usr/share/doc/python-urwid/examples/pop_up.py         owned by: python-urwid-doc
  /usr/share/doc/python-urwid/examples/subproc.py        owned by: python-urwid-doc
  /usr/share/doc/python-urwid/examples/tour.py.gz        owned by: python-urwid-doc
  /usr/share/doc/python-urwid/examples/treesample.py.gz  owned by: python-urwid-doc
  /usr/share/doc/python-urwid/examples/twisted_serve_ssh.py.gz   owned by: python-urwid-doc
  /usr/share/doc/python-urwid/examples/twisted_serve_ssh.tac     owned by: python-urwid-doc
  /usr/share/doc/python-urwid/html/_images/adventure1.png        owned by: python-urwid-doc
  /usr/share/doc/python-urwid/html/_images/adventure2.png        owned by: python-urwid-doc
  /usr/share/doc/python-urwid/html/_images/adventure3.png        owned by: python-urwid-doc
  /usr/share/doc/python-urwid/html/_images/adventure4.png        owned by: python-urwid-doc
  /usr/share/doc/python-urwid/html/_images/attr1.png     owned by: python-urwid-doc
...
  /usr/share/doc/python-urwid/html/search.html   owned by: python-urwid-doc
  /usr/share/doc/python-urwid/html/searchindex.js        owned by: python-urwid-doc
  /usr/share/doc/python-urwid/html/tutorial/index.html   owned by: python-urwid-doc

1m33.7s ERROR: FAIL: After purging files have been modified:
  /var/lib/dpkg/info/python-urwid.list   not owned



cheers,

Andreas
-------------- next part --------------
A non-text attachment was scrubbed...
Name: python-urwid=1.3.1-2+b2_python-urwid-doc=2.0.1-1.log.gz
Type: application/gzip
Size: 11619 bytes
Desc: not available
URL: <http://lists.alioth.debian.org/pipermail/python-modules-team/attachments/20180314/ad6061ee/attachment.bin>


More information about the Python-modules-team mailing list