Package: 
quantum-plugin-cisco,quantum-plugin-linuxbridge-agent,quantum-plugin-linuxbridge,quantum-plugin-nicira,quantum-plugin-openvswitch-agent,quantum-plugin-openvswitch,quantum-plugin-ryu-agent,quantum-plugin-ryu
Version: 2012.1-6
Severity: important
User: debian...@lists.debian.org
Usertags: piuparts replaces-without-breaks

Hi,

during a test with piuparts and EDOS 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-quantum/wheezy
  # (1)
  apt-get install quantum-plugin-cisco/sid
  apt-get remove quantum-plugin-cisco/sid
  # (2)

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

  /usr/lib/python2.6/dist-packages/quantum/plugins/cisco/__init__.py -> 
../../../../../../share/pyshared/quantum/plugins/cisco/__init__.py       owned 
by: quantum-plugin-cisco
...
  
/usr/lib/python2.6/dist-packages/quantum/plugins/cisco/ucs/cisco_ucs_plugin.py 
-> 
../../../../../../../share/pyshared/quantum/plugins/cisco/ucs/cisco_ucs_plugin.py
    owned by: quantum-plugin-cisco
  /usr/lib/python2.7/dist-packages/quantum/plugins/cisco/client/cli.py -> 
../../../../../../../share/pyshared/quantum/plugins/cisco/client/cli.py        
owned by: quantum-plugin-cisco
...
  
/usr/lib/python2.7/dist-packages/quantum/plugins/cisco/ucs/cisco_ucs_plugin.py 
-> 
../../../../../../../share/pyshared/quantum/plugins/cisco/ucs/cisco_ucs_plugin.py
    owned by: quantum-plugin-cisco
  /usr/share/pyshared/quantum/plugins/cisco/__init__.py  owned by: 
quantum-plugin-cisco
...
  /usr/share/pyshared/quantum/plugins/cisco/ucs/cisco_ucs_plugin.py      owned 
by: quantum-plugin-cisco


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

The quantum-plugin-cisco package has the following relationships with 
python-quantum:

  Conflicts: n/a
  Breaks:    n/a
  Replaces:  python-quantum (<< 2012.1-5.1)
  Depends:   python-quantum

The version in wheezy (2012.1-5) had

  Replaces: python-quantum (<< 2012.1-3)
  Breaks: python-quantum (<< 2012.1-3)
  Depends: python-quantum

which looked better.

Or what about making the Depends on python-quantum strictly versioned:

  Depends: python-quantum (= ${source:Version})

to ensure the package versions can't be mixed (and you don't need to
add a Breaks in that case).

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

1m14.8s ERROR: FAIL: After purging files have disappeared:
  /usr/lib/python2.6/dist-packages/quantum/plugins/cisco/__init__.py -> 
../../../../../../share/pyshared/quantum/plugins/cisco/__init__.py       owned 
by: quantum-plugin-cisco
  /usr/lib/python2.6/dist-packages/quantum/plugins/cisco/client/__init__.py -> 
../../../../../../../share/pyshared/quantum/plugins/cisco/client/__init__.py    
  owned by: quantum-plugin-cisco
...
  /usr/share/pyshared/quantum/plugins/cisco/ucs/cisco_ucs_network_driver.py     
 owned by: quantum-plugin-cisco
  /usr/share/pyshared/quantum/plugins/cisco/ucs/cisco_ucs_plugin.py      owned 
by: quantum-plugin-cisco

1m14.8s ERROR: FAIL: After purging files have been modified:
  /var/lib/dpkg/info/python-quantum.list         not owned


cheers,

Andreas

Attachment: python-quantum=2012.1-5_quantum-plugin-cisco=2012.1-6.log.gz
Description: GNU Zip compressed data

Reply via email to