summaryrefslogtreecommitdiff
path: root/apt-pkg
diff options
context:
space:
mode:
authorDavid Kalnischkies <kalnischkies@gmail.com>2010-06-10 15:10:38 +0200
committerDavid Kalnischkies <kalnischkies@gmail.com>2010-06-10 15:10:38 +0200
commitc0ba35fc916d2adf0ba1fbd8cca62a83ce83d789 (patch)
tree5eec4761228ace2f9a03866daf5a8ad3bbc0612e /apt-pkg
parenta8ef7efd6df81d4fb9e52419695f10df9fe76cda (diff)
* apt-pkg/orderlist.cc:
- untouched packages are never missing * apt-pkg/packagemanager.cc: - packages that are not touched doesn't need to be unpacked
Diffstat (limited to 'apt-pkg')
-rw-r--r--apt-pkg/orderlist.cc3
-rw-r--r--apt-pkg/packagemanager.cc3
2 files changed, 4 insertions, 2 deletions
diff --git a/apt-pkg/orderlist.cc b/apt-pkg/orderlist.cc
index 7c950292a..55f9cb9cc 100644
--- a/apt-pkg/orderlist.cc
+++ b/apt-pkg/orderlist.cc
@@ -117,7 +117,8 @@ bool pkgOrderList::IsMissing(PkgIterator Pkg)
return false;
// Skip Packages that need configure only.
- if (Pkg.State() == pkgCache::PkgIterator::NeedsConfigure &&
+ if ((Pkg.State() == pkgCache::PkgIterator::NeedsConfigure ||
+ Pkg.State() == pkgCache::PkgIterator::NeedsNothing) &&
Cache[Pkg].Keep() == true)
return false;
diff --git a/apt-pkg/packagemanager.cc b/apt-pkg/packagemanager.cc
index eef79cccd..49776aac7 100644
--- a/apt-pkg/packagemanager.cc
+++ b/apt-pkg/packagemanager.cc
@@ -602,7 +602,8 @@ bool pkgPackageManager::SmartUnPack(PkgIterator Pkg)
// configured we don't need to unpack it again…
PkgIterator const P = Pkg.Group().FindPkg("all");
if (List->IsFlag(P,pkgOrderList::UnPacked) != true &&
- List->IsFlag(P,pkgOrderList::Configured) != true) {
+ List->IsFlag(P,pkgOrderList::Configured) != true &&
+ P.State() != pkgCache::PkgIterator::NeedsNothing) {
if (SmartUnPack(P) == false)
return false;
}