diff options
-rw-r--r-- | apt-pkg/packagemanager.cc | 17 | ||||
-rw-r--r-- | debian/changelog | 10 |
2 files changed, 23 insertions, 4 deletions
diff --git a/apt-pkg/packagemanager.cc b/apt-pkg/packagemanager.cc index a370f15a3..701b64af1 100644 --- a/apt-pkg/packagemanager.cc +++ b/apt-pkg/packagemanager.cc @@ -611,10 +611,19 @@ bool pkgPackageManager::SmartUnPack(PkgIterator Pkg, bool const Immediate, int c continue; } - if (Debug) - clog << OutputInDepth(Depth) << "Trying to SmartConfigure " << Pkg.Name() << endl; - Bad = !SmartConfigure(Pkg, Depth + 1); - } + // check if it needs unpack or if if configure is enough + if (!List->IsFlag(Pkg,pkgOrderList::UnPacked)) + { + if (Debug) + clog << OutputInDepth(Depth) << "Trying to SmartUnpack " << Pkg.Name() << endl; + // SmartUnpack with the ImmediateFlag to ensure its really ready + Bad = !SmartUnPack(Pkg, true, Depth + 1); + } else { + if (Debug) + clog << OutputInDepth(Depth) << "Trying to SmartConfigure " << Pkg.Name() << endl; + Bad = !SmartConfigure(Pkg, Depth + 1); + } + } /* If this or element did not match then continue on to the next or element until a matching element is found */ diff --git a/debian/changelog b/debian/changelog index 54eeaae97..821719e15 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,13 @@ +apt (0.8.16~exp12ubuntu6) UNRELEASED; urgency=low + + * cherry pick r2222 from + http://bzr.debian.org/bzr/bzr/apt/apt/debian-experimental2/: + * apt-pkg/packagemanager.cc: + - fix bug in predepends handling - ensure that packages that needs + unpackaging are unpacked before they are configured (LP: #927993) + + -- Michael Vogt <michael.vogt@ubuntu.com> Tue, 13 Mar 2012 13:35:36 +0100 + apt (0.8.16~exp12ubuntu5) precise; urgency=low [ Michael Vogt ] |