From: Michael Vogt Date: Tue, 6 Mar 2012 13:06:38 +0000 (+0100) Subject: * apt-pkg/packagemanager.cc: X-Git-Tag: 0.9.0~14 X-Git-Url: https://git.saurik.com/apt.git/commitdiff_plain/e2625f67efae93c2c8affff41ce3e5fb9a507f30?hp=22d9031d52d2c96c1457346580050edf2814cdc9 * apt-pkg/packagemanager.cc: - fix bug in predepends handling - ensure that packages that needs unpackaging are unpacked before they are configured (LP: #927993) --- diff --git a/apt-pkg/packagemanager.cc b/apt-pkg/packagemanager.cc index d8e9621a4..0e4595735 100644 --- a/apt-pkg/packagemanager.cc +++ b/apt-pkg/packagemanager.cc @@ -612,10 +612,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 c01c087a7..8e4c05d7c 100644 --- a/debian/changelog +++ b/debian/changelog @@ -36,6 +36,9 @@ apt (0.8.16~exp13) UNRELEASED; urgency=low (LP: #923807) * apt-pkg/contrib/fileutl.h: - fix compat with FileFd::OpenDescriptor() in ReadOnlyGzip mode + * apt-pkg/packagemanager.cc: + - fix bug in predepends handling - ensure that packages that needs + unpackaging are unpacked before they are configured (LP: #927993) [ Julian Andres Klode ] * apt-pkg/deb/deblistparser.cc: