PACKAGES aptitude

Michael Prokop mika at grml.org
Wed Jul 13 02:05:38 CEST 2011


* Holger Parplies [Sat Jul 09, 2011 at 03:53:23AM +0200]:

> > I'd just like to add a non-negligible bit of information here: if you package
> > list grows too large, install_packages will split it into chunks. This is the
> > point where the dependency resolver could kick in in different ways, depending
> > on which groups of packages are formed. For instance package X might depend on
> > either A or B. If you have B in your list anyway, but ending up in a different
> > group than X, the dependency resolver might have chosen A over B, and you end up
> > with either A being installed and removed afterwards if conflicting with B, or
> > both A and B on your system.

> I've seen that happen.

> If I'm not completely mistaken, *apt-get* will have that problem (or at least
> used to) even if they land in the same chunk, but in the order 'X B'.

See http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=122304
WRT apt-get.

[...]
> The 'simple' solution seems to be defining MAX_PACKAGES=1000 (or whatever is
> 'large enough'), making /var large enough, and ***hoping*** that aptitude
> actually *doesn't* care about the order of the packages. Can anyone confirm
> that this hope is justified?

aptitude *does* care about the order of the packages on the command
line, see http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=401835

> I admit I don't currently have this problem, but with increasing
> debian_version I tend to have more and more dependencies I want to have
> resolved in a non-default way.

I use daily Q/A builds in combination with a package selection
verifier and a setting of MAX_PACKAGES=3000 to make sure that I
really get all the packages I want to have installed.

Together with consequently storing output of 'dpkg --get-selections'
and being able to compare output of two different runs that way
gives a pretty decent way to solve this issue, at least for me. :)

> (*) If you want a *lot* of information in your fai.log about why which
>     dependency was installed, create a hook prepareapt.MYCLASS containing

> #!/bin/sh

> (
>   echo 'Aptitude::CmdLine::Show-Why "true";'
>   echo 'Aptitude::CmdLine::Verbose "1";'
> ) > $target/etc/apt/apt.conf.d/50explanations

Nice tip, thanks for sharing!

regards,
-mika-
-- 
http://michael-prokop.at/  || http://adminzen.org/
http://grml-solutions.com/ || http://grml.org/
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 197 bytes
Desc: Digital signature
URL: <http://lists.uni-koeln.de/pipermail/linux-fai/attachments/20110713/cb46f398/attachment.bin>


More information about the linux-fai mailing list