[Aptitude-devel] Bug#718881: aptitude mishandles ':any' dpendencies on virtual packages

Sven Joachim svenjoac at gmx.de
Thu Oct 17 21:43:14 BST 2019


Control: reassign -1 apt 0.9.8.2
Control: fixed -1 apt/1.1~exp13

On 2013-08-06 15:46 +0200, Francois Gouget wrote:

> Package: aptitude
> Version: 0.6.8.2-1
> Severity: normal
>
> Dear Maintainer,
>
> Here is how to reproduce this bug:
>  * Download http://fgouget.free.fr/bugs/testdep.tar.bz2
>    This is a small archive that contains a set of test, empty, Debian
>    package files along with their source.
>    (run ./build to rebuild them)
>
>  * Install the testdep-allowed_1.0-1_amd64.deb package.
>
>  * Then run:
>
> # dpkg -i /home/weaver/testdep-vallowed-any_1.0-1_i386.deb
> Selecting previously unselected package testdep-vallowed-any.
> (Reading database ... 177820 files and directories currently installed.)
> Unpacking testdep-vallowed-any (from .../testdep-vallowed-any_1.0-1_i386.deb) ...
> Setting up testdep-vallowed-any (1.0-1) ...
> # echo $?
> 0

Thanks for the detailed instructions.

> So the testdep-vallowed-any installs fine and dpkg finds no missing
> dependency. Yet aptitude complains that the dependency is broken and
> wants to remove the testdep-vallowed-any package:
>
>   testdep-vallowed-any:i386 depends upon testdep-virtual-allowed:any:i386
>   The following actions will resolve this dependency:
>   -> Remove testdep-vallowed-any:i386 [1.0-1 (now)]

That's true, but the dependency detection actually comes from
libapt-pkg.  You would get the same result with "apt-get -f install",
for instance.

> Since dpkg and aptitude disagree one of them must be wrong. Now
> testdep-vallowed-any's only dependency is 'testdep-virtual-allowed:any'
> which is a virtual package provided by testdep-allowed which was
> installed just before So I'm siding with dpkg on this one.

It seems the apt maintainers agree with you here, since apt (and
aptitude) in Stretch and later do not show the mentioned behavior
anymore, but regard the dependency as satisfied.  The relevant change
seems to have been commit 3addaba1[1] ("implement dpkgs vision of
interpreting pkg:<arch> dependencies"), which went into apt 1.1~exp13.

Cheers,
       Sven


1. https://salsa.debian.org/apt-team/apt/commit/3addaba1ff6fe27cc96af5c2d345ee039c2bffec



More information about the Aptitude-devel mailing list