Package: apt Version: 0.8.15.6 Severity: normal
apt-get prints a not helpful error message: The following packages have unmet dependencies: test2 : Depends: test1 (>= 0.1) but it is not going to be installed in the following testcase * the package test1 (version 1.0) is already installed * the actual error is caused by virtual package relationships where test1 Breaks: old-stuff, while test2 Provides: old-stuff, building a conflict between each other That should be somehow reflected in the diagnostic message. Attached is a debian/control file to build these test-packages. Some apt-get action with them (put together with a Packages file in /tmp and an appropriate sources.list line was added) First let's install the dependency: # apt-get --allow-unauthenticated -y install test3 Reading package lists... Done Building dependency tree Reading state information... Done The following extra packages will be installed: test1 The following NEW packages will be installed: test1 test3 0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded. Need to get 0 B/3426 B of archives. After this operation, 16.4 kB of additional disk space will be used. WARNING: The following packages cannot be authenticated! test1 test3 Authentication warning overridden. debconf: unable to initialize frontend: Dialog debconf: (No usable dialog-like program is installed, so the dialog based frontend cannot be used. at /usr/share/perl5/Debconf/FrontEnd/Dialog.pm line 75, <> line 2.) debconf: falling back to frontend: Readline Selecting previously deselected package test1. (Reading database ... 13101 files and directories currently installed.) Unpacking test1 (from /tmp/./test1_1.0_all.deb) ... Selecting previously deselected package test3. Unpacking test3 (from /tmp/./test3_1.0_all.deb) ... Setting up test1 (1.0) ... Setting up test3 (1.0) ... Now let's install the offender: # apt-get --allow-unauthenticated -y install test2 Reading package lists... Done Building dependency tree Reading state information... Done Some packages could not be installed. This may mean that you have requested an impossible situation or if you are using the unstable distribution that some required packages have not yet been created or been moved out of Incoming. The following information may help to resolve the situation: The following packages have unmet dependencies: test2 : Depends: test1 (>= 0.1) but it is not going to be installed E: Broken packages No, that was not helpful at all. Let's check the dependencies manually: # apt-cache show test1 test2 test3 | grep -E 'Package|Version|Depends|Provides|Conflicts|Breaks|^$' Package: test1 Version: 1.0 Breaks: old-stuff Package: test2 Version: 1.0 Depends: test1 (>= 0.1) Provides: old-stuff Package: test3 Version: 1.0 Depends: test1 (>= 0.1) Andreas
Source: testpkg Section: misc Priority: extra Maintainer: Andreas Beckmann <deb...@abeckmann.de> Build-Depends: debhelper (>= 8.0.0) Standards-Version: 3.9.2 Package: test1 Architecture: all Breaks: old-stuff Description: test1 test1 Package: test2 Architecture: all Depends: test1 (>= 0.1) Provides: old-stuff Description: test2 test2 Package: test3 Architecture: all Depends: test1 (>= 0.1) Description: test3 test3