diff options
author | Michael Vogt <michael.vogt@ubuntu.com> | 2006-09-16 12:02:02 +0200 |
---|---|---|
committer | Michael Vogt <michael.vogt@ubuntu.com> | 2006-09-16 12:02:02 +0200 |
commit | 42142a6cf63458599c6a11c398a25b301df2df55 (patch) | |
tree | 963fa5ea4c8ca33d7fd4eb1ca7568a51e94a5af4 /cmdline | |
parent | 2ca99a0dceb4101f1ecaff0348b1684cb975099c (diff) | |
download | apt-42142a6cf63458599c6a11c398a25b301df2df55.tar.gz |
* cmdline/apt-get.cc:
- merged patch from otavio to make the order of package selections less important
Diffstat (limited to 'cmdline')
-rw-r--r-- | cmdline/apt-get.cc | 19 |
1 files changed, 15 insertions, 4 deletions
diff --git a/cmdline/apt-get.cc b/cmdline/apt-get.cc index 64882e3e8..b33a324ea 100644 --- a/cmdline/apt-get.cc +++ b/cmdline/apt-get.cc @@ -1144,10 +1144,7 @@ bool TryToInstall(pkgCache::PkgIterator Pkg,pkgDepCache &Cache, } else ExpectedInst++; - - // Install it with autoinstalling enabled. - if (State.InstBroken() == true && BrokenFix == false) - Cache.MarkInstall(Pkg,true); + return true; } /*}}}*/ @@ -1538,6 +1535,20 @@ bool DoInstall(CommandLine &CmdL) } } + for (unsigned J = 0; J < Cache->Head().PackageCount; J++) + { + pkgCache::PkgIterator I(Cache,Cache.List[J]); + if ((*Cache)[I].Install() == false) + continue; + + pkgDepCache::StateCache &State = Cache[I]; + // Install it with autoinstalling enabled (if we not respect the minial + // required deps or the policy) + if (State.InstBroken() == true && BrokenFix == false) + Cache->MarkInstall(I,true); + } + + /* If we are in the Broken fixing mode we do not attempt to fix the problems. This is if the user invoked install without -f and gave packages */ |