Package: dpkg
Version: 1.13.22

If
 A -Conflicts/Replaces-> B <-Depends- C <-Depends- D

and you start with B,C,D installed, then installing A automatically
removes B (which is correct) and deconfigures C (which is correct) but
fails to deconfigure D (which is not correct).

See transcript below.  (Ignore the Not-Breaks field; it's not relevant
and is to do with another test I'm doing with this set of test
packages.)

Ian.

[EMAIL PROTECTED]:/work/dpkg-tests # dpkg -l 'iwj-test-package-[abcd]'
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Installed/Config-files/Unpacked/Failed-config/Half-installed
|/ Err?=(none)/Hold/Reinst-required/X=both-problems (Status,Err: uppercase=bad)
||/ Name                Version Description  [tabled edited for clarity -iwj]
+++-======================================================
pn  iwj-test-package-a  <none>  (no description available)
pn  iwj-test-package-b  <none>  (no description available)
pn  iwj-test-package-c  <none>  (no description available)
pn  iwj-test-package-d  <none>  (no description available)
[EMAIL PROTECTED]:/work/dpkg-tests # dpkg -i d.deb c.deb b.deb 
Selecting previously deselected package iwj-test-package-d.
(Reading database ... 124855 files and directories currently installed.)
Unpacking iwj-test-package-d (from d.deb) ...
Selecting previously deselected package iwj-test-package-c.
Unpacking iwj-test-package-c (from c.deb) ...
Selecting previously deselected package iwj-test-package-b.
Unpacking iwj-test-package-b (from b.deb) ...
Setting up iwj-test-package-b (0.passwd) ...
b postinst configure 

Setting up iwj-test-package-c (0.passwd) ...
c postinst configure 

Setting up iwj-test-package-d (0.passwd) ...
d postinst configure 

[EMAIL PROTECTED]:/work/dpkg-tests # dpkg -iB a.deb 
Selecting previously deselected package iwj-test-package-a.
dpkg: considering removing iwj-test-package-b in favour of iwj-test-package-a 
...
dpkg: yes, will remove iwj-test-package-b in favour of iwj-test-package-a.
(Reading database ... 124859 files and directories currently installed.)
Unpacking iwj-test-package-a (from a.deb) ...
De-configuring iwj-test-package-c, so that we can remove iwj-test-package-b ...
c prerm deconfigure in-favour iwj-test-package-a 0.passwd removing 
iwj-test-package-b 0.passwd
b prerm remove in-favour iwj-test-package-a 0.passwd
Setting up iwj-test-package-a (0.passwd) ...
dpkg: dependency problems prevent configuration of iwj-test-package-c:
 iwj-test-package-c depends on iwj-test-package-b; however:
  Package iwj-test-package-b is not installed.
dpkg: error processing iwj-test-package-c (--install):
 dependency problems - leaving unconfigured
Errors were encountered while processing:
 iwj-test-package-c
[EMAIL PROTECTED]:/work/dpkg-tests # dpkg -s iwj-test-package-d
Package: iwj-test-package-d
Status: install ok installed
Maintainer: [EMAIL PROTECTED]
Architecture: all
Version: 0.passwd
Depends: iwj-test-package-c
Description: test package
Not-Breaks: nothing-we-know-about
[EMAIL PROTECTED]:/work/dpkg-tests # for f in a b c d; do echo; echo ===$f===; 
dpkg -I $f.deb ; done

===a===
 new debian package, version 2.0.
 size 682 bytes: control archive= 295 bytes.
     176 bytes,     7 lines      control              
     145 bytes,     6 lines      control~             
 Package: iwj-test-package-a
 Version: 0.passwd
 Description: test package
 Maintainer: [EMAIL PROTECTED]
 Architecture: all
 Replaces: iwj-test-package-b
 Conflicts: iwj-test-package-b

===b===
 new debian package, version 2.0.
 size 770 bytes: control archive= 374 bytes.
     151 bytes,     6 lines      control              
     151 bytes,     6 lines      control~             
      31 bytes,     2 lines   *  postinst             #!/bin/sh
      28 bytes,     2 lines   *  prerm                #!/bin/sh
 Package: iwj-test-package-b
 Version: 0.passwd
 Not-Breaks: nothing-we-know-about
 Description: test package
 Maintainer: [EMAIL PROTECTED]
 Architecture: all

===c===
 new debian package, version 2.0.
 size 814 bytes: control archive= 423 bytes.
     179 bytes,     7 lines      control              
     179 bytes,     7 lines      control~             
      31 bytes,     2 lines   *  postinst             #!/bin/sh
      31 bytes,     2 lines      postinst~            #!/bin/sh
      28 bytes,     2 lines   *  prerm                #!/bin/sh
      28 bytes,     2 lines      prerm~               #!/bin/sh
 Package: iwj-test-package-c
 Version: 0.passwd
 Not-Breaks: nothing-we-know-about
 Description: test package
 Maintainer: [EMAIL PROTECTED]
 Architecture: all
 Depends: iwj-test-package-b

===d===
 new debian package, version 2.0.
 size 812 bytes: control archive= 418 bytes.
     179 bytes,     7 lines      control              
     179 bytes,     7 lines      control~             
      31 bytes,     2 lines   *  postinst             #!/bin/sh
      31 bytes,     2 lines   *  postinst~            #!/bin/sh
      28 bytes,     2 lines   *  prerm                #!/bin/sh
      28 bytes,     2 lines   *  prerm~               #!/bin/sh
 Package: iwj-test-package-d
 Version: 0.passwd
 Not-Breaks: nothing-we-know-about
 Description: test package
 Maintainer: [EMAIL PROTECTED]
 Architecture: all
 Depends: iwj-test-package-c
[EMAIL PROTECTED]:/work/dpkg-tests #


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to