* 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/
signature.asc
Description: Digital signature