#464907 dpkg: check rdepends on unpack

Package:
dpkg
Source:
dpkg
Description:
Debian package management system
Submitter:
Joey Hess
Date:
2010-05-06 13:33:07 UTC
Severity:
important
#464907#5
Date:
2008-02-09 18:59:46 UTC
From:
To:
libzlui-gtk depends on libzlcore (= 0.8.12-3). I have both installed. If
I tell dpkg to upgrade to a new 0.8.13 version of libzlcore, it does so,
leaving libzlui-gtk with a broken dependency. At no point does dpkg
complain about that dependency being broken.

root@kodama:/home/joey/src/packages/fbreader>dpkg -i ../fbreader_0.8.13-1_i386.deb ../libzltext_0.8.13-1_i386.deb ../libzlcore_0.8.13-1_i386.deb
(Reading database ... 172424 files and directories currently installed.)
Preparing to replace fbreader 0.8.13-1 (using ../fbreader_0.8.13-1_i386.deb) ...
Unpacking replacement fbreader ...
Preparing to replace libzltext 0.8.12-3 (using ../libzltext_0.8.13-1_i386.deb) ...
Unpacking replacement libzltext ...
Preparing to replace libzlcore 0.8.12-3 (using ../libzlcore_0.8.13-1_i386.deb) ...
Unpacking replacement libzlcore ...
Setting up libzlcore (0.8.13-1) ...
Setting up libzltext (0.8.13-1) ...
Setting up fbreader (0.8.13-1) ...

root@kodama:/home/joey/src/packages/fbreader>dpkg -s libzlui-gtk
Package: libzlui-gtk
Status: install ok installed
Priority: optional
Section: libs
Installed-Size: 220
Maintainer: Joey Hess <joeyh@debian.org>
Architecture: i386
Source: fbreader
Version: 0.8.12-3
Provides: libzlui
Depends: libatk1.0-0 (>= 1.20.0), libbz2-1.0, libc6 (>= 2.7-1), libcairo2 (>= 1.4.0), libexpat1 (>= 1.95.8), libgcc1, libglib2.0-0 (>= 2.12.0), libgtk2.0-0 (>= 2.12.0), libjpeg62, libpango1.0-0 (>= 1.18.4), libpng12-0 (>= 1.2.13-4), libstdc++6 (>= 4.1.1-21), libzlcore (= 0.8.12-3), zlib1g

#464907#10
Date:
2008-02-11 14:59:50 UTC
From:
To:
I haven't checked, but this sounds very similar to #20471. There's a patch
in that bug. If you can take some time to verify if it also fixes this
issue, it would be nice.

Cheers,

#464907#15
Date:
2008-02-11 18:22:00 UTC
From:
To:
Raphael Hertzog wrote:

root@kodama:~joey/lib/debian/unstable>dpkg -i fbreader_0.8.14-1_i386.deb libzltext_0.8.14-1_i386.deb libzlcore_0.8.14-1_i386.deb
(Reading database ... 173289 files and directories currently installed.)
Preparing to replace fbreader 0.8.13-1 (using fbreader_0.8.14-1_i386.deb) ...
Unpacking replacement fbreader ...
Preparing to replace libzltext 0.8.13-1 (using libzltext_0.8.14-1_i386.deb) ...
Unpacking replacement libzltext ...
dpkg: libzlcore_0.8.14-1_i386.deb containing libzlcore breaks existing dependency:
 libzlui-gtk depends on libzlcore (= 0.8.13-1)
  libzlcore is to be installed, but is version 0.8.14-1.
dpkg: error processing libzlcore_0.8.14-1_i386.deb (--install):
 existing dependency problem - not installing libzlcore
dpkg: dependency problems prevent configuration of fbreader:
 fbreader depends on libzlcore (>= 0.8.14); however:
  Version of libzlcore on system is 0.8.13-1.
dpkg: error processing fbreader (--install):
 dependency problems - leaving unconfigured
dpkg: dependency problems prevent configuration of libzltext:
 libzltext depends on libzlcore (= 0.8.14-1); however:
  Version of libzlcore on system is 0.8.13-1.
dpkg: error processing libzltext (--install):
 dependency problems - leaving unconfigured
Errors were encountered while processing:
 libzlcore_0.8.14-1_i386.deb
 fbreader
 libzltext
zsh: exit 1     dpkg -i fbreader_0.8.14-1_i386.deb libzltext_0.8.14-1_i386.deb

Which looks perfect.

#464907#20
Date:
2008-02-11 21:46:46 UTC
From:
To:
I applied this patch on top of current git master
(rev 98cdd8883f0661e24ff72d4c29d73554586eddf8), and have been using it
today while doing whatever, and it seemed to cause this failure:

root@kodama:/home/joey/tmp/xterm-231>dpkg -i ../xterm_231-2boldmode1_i386.deb
dpkg: ../../src/depcon.c:218: depisok: Assertion `dep->type == dep_depends || dep->type == dep_predepends || dep->type == dep_breaks || dep->type == dep_conflicts || dep->type == dep_recommends || dep->type == dep_suggests || dep->type == dep_enhances' failed.

Other packages installed ok; I was able to downgrade to unstable's dpkg
and then install xterm successfully.

Here's the package's header, just in case:

 Package: xterm
 Version: 231-2boldmode1
 Architecture: i386
 Maintainer: Debian X Strike Force <debian-x@lists.debian.org>
 Installed-Size: 1108
 Depends: libc6 (>= 2.7-1), libfontconfig1 (>= 2.4.0), libice6 (>= 1:1.0.0), libncurses5 (>= 5.6+20071006-3), libsm6, libx11-6, libxaw7, libxext6, libxft2 (>> 2.1.1), libxmu6, libxt6, xbitmaps
 Recommends: xutils
 Suggests: xfonts-cyrillic
 Provides: x-terminal-emulator
 Section: x11
 Priority: optional

#464907#25
Date:
2008-02-12 08:22:33 UTC
From:
To:
Hi Ian,

since you wrote the patch that Joey has been testing, can you look what's
wrong with it ?

Cheers,

#464907#30
Date:
2008-02-22 21:14:09 UTC
From:
To:
Raphael Hertzog writes ("[joeyh@debian.org: Re: Bug#464907: dpkg seems not to check for 	broken versioned dependencies when upgrading]"):

Yes, I should investigate.

Ian.

#464907#37
Date:
2009-10-26 10:43:34 UTC
From:
To:
I also get this problem when downgrading.

X depends on libpixman >> 0.15 but dpkg happily installs 0.14 and breaks
X.