summaryrefslogtreecommitdiff
path: root/apt-pkg/packagemanager.cc
diff options
context:
space:
mode:
authorMichael Vogt <michael.vogt@ubuntu.com>2011-10-20 11:44:44 +0200
committerMichael Vogt <michael.vogt@ubuntu.com>2011-10-20 11:44:44 +0200
commitcf4f17a9d87a36b20ef5afa2cb5145e466d8ad3b (patch)
treeef98bfe313fb16147be056d248885b535e7b2fd4 /apt-pkg/packagemanager.cc
parentb83f0f06f611657c39dd6d141ce4ff7280ccadf3 (diff)
parentcd5e84440a9bb75a9cc2c142ac8bc214ba57685a (diff)
merged from donkult
Diffstat (limited to 'apt-pkg/packagemanager.cc')
-rw-r--r--apt-pkg/packagemanager.cc11
1 files changed, 2 insertions, 9 deletions
diff --git a/apt-pkg/packagemanager.cc b/apt-pkg/packagemanager.cc
index b9ef0f5d7..a97ce4833 100644
--- a/apt-pkg/packagemanager.cc
+++ b/apt-pkg/packagemanager.cc
@@ -551,14 +551,6 @@ bool pkgPackageManager::SmartUnPack(PkgIterator Pkg, bool const Immediate, int c
cout << endl;
}
- // Check if it is already unpacked
- if (Pkg.State() == pkgCache::PkgIterator::NeedsConfigure &&
- Cache[Pkg].Keep() == true)
- {
- cout << OutputInDepth(Depth) << "SmartUnPack called on Package " << Pkg.Name() << " but its unpacked" << endl;
- return false;
- }
-
VerIterator const instVer = Cache[Pkg].InstVerIter(Cache);
/* PreUnpack Checks: This loop checks and attempts to rectify and problems that would prevent the package being unpacked.
@@ -768,7 +760,8 @@ bool pkgPackageManager::SmartUnPack(PkgIterator Pkg, bool const Immediate, int c
return false;
}
}
- else if (Install(Pkg,FileNames[Pkg->ID]) == false)
+ // packages which are already unpacked don't need to be unpacked again
+ else if (Pkg.State() != pkgCache::PkgIterator::NeedsConfigure && Install(Pkg,FileNames[Pkg->ID]) == false)
return false;
if (Immediate == true) {