summaryrefslogtreecommitdiff
path: root/cmdline
diff options
context:
space:
mode:
Diffstat (limited to 'cmdline')
-rw-r--r--cmdline/apt-get.cc19
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 */