diff options
-rw-r--r-- | apt-pkg/packagemanager.cc | 11 | ||||
-rw-r--r-- | debian/changelog | 9 |
2 files changed, 11 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) { diff --git a/debian/changelog b/debian/changelog index 552597405..98a561698 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,12 @@ +apt (0.8.16~exp8) experimental; urgency=low + + [ David Kalnischkies ] + * apt-pkg/packagemanager.cc: + - do not fail on unpacked packages in SmartUnPack, just don't + shedule them for unpack, but do all checks and configure them + + -- David Kalnischkies <kalnischkies@gmail.com> Mon, 17 Oct 2011 11:21:21 +0200 + apt (0.8.16~exp7) experimental; urgency=low [ David Kalnischkies ] |