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=-c * apt-pkg/packagemanager.cc: - fix bug in predepends handling - ensure that packages that needs unpackaging are unpacked before they are configured (LP: #927993) --- e2625f67efae93c2c8affff41ce3e5fb9a507f30 diff --combined apt-pkg/packagemanager.cc index d8e9621a4,701b64af1..0e4595735 --- a/apt-pkg/packagemanager.cc +++ b/apt-pkg/packagemanager.cc @@@ -184,7 -184,8 +184,7 @@@ bool pkgPackageManager::CreateOrderList continue; // Mark the package and its dependends for immediate configuration - if ((((I->Flags & pkgCache::Flag::Essential) == pkgCache::Flag::Essential || - (I->Flags & pkgCache::Flag::Important) == pkgCache::Flag::Important) && + if ((((I->Flags & pkgCache::Flag::Essential) == pkgCache::Flag::Essential) && NoImmConfigure == false) || ImmConfigureAll) { if(Debug && !ImmConfigureAll) @@@ -486,8 -487,7 +486,8 @@@ bool pkgPackageManager::EarlyRemove(Pkg // Essential packages get special treatment bool IsEssential = false; - if ((Pkg->Flags & pkgCache::Flag::Essential) != 0) + if ((Pkg->Flags & pkgCache::Flag::Essential) != 0 || + (Pkg->Flags & pkgCache::Flag::Important) != 0) IsEssential = true; /* Check for packages that are the dependents of essential packages and @@@ -497,8 -497,7 +497,8 @@@ for (DepIterator D = Pkg.RevDependsList(); D.end() == false && IsEssential == false; ++D) if (D->Type == pkgCache::Dep::Depends || D->Type == pkgCache::Dep::PreDepends) - if ((D.ParentPkg()->Flags & pkgCache::Flag::Essential) != 0) + if ((D.ParentPkg()->Flags & pkgCache::Flag::Essential) != 0 || + (D.ParentPkg()->Flags & pkgCache::Flag::Important) != 0) IsEssential = true; } @@@ -612,10 -611,19 +612,19 @@@ bool pkgPackageManager::SmartUnPack(Pkg 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 --combined debian/changelog index c01c087a7,25563e811..8e4c05d7c --- a/debian/changelog +++ b/debian/changelog @@@ -27,8 -27,6 +27,8 @@@ apt (0.8.16~exp13) UNRELEASED; urgency= of them in a single iteration (Closes: #657695, LP: #922485) - use a signed int instead of short for score calculation as upgrades become so big now that it can overflow (Closes: #657732, LP: #917173) + * Fix IndexCopy::CopyPackages and TranslationsCopy::CopyTranslations to + handle compressed files again (LP: #924182, closes: #658096) [ Michael Vogt ] * apt-pkg/deb/dpkgpm.cc: @@@ -36,16 -34,9 +36,19 @@@ (LP: #923807) * apt-pkg/contrib/fileutl.h: - fix compat with FileFd::OpenDescriptor() in ReadOnlyGzip mode + * apt-pkg/packagemanager.cc: - - when calculating pre-dependencies ensure that both unpack and - configure are considered (instead of only configure) LP: #927993 ++ - 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: + - Set the Essential flag on APT instead of only Important + * apt-pkg/packagemanager.cc: + - Do not use immediate configuration for packages with the Important flag + * Treat the Important flag like the Essential flag with those differences: + - No Immediate configuration (see above) + - Not automatically installed during dist-upgrade + - No higher score for installation ordering -- David Kalnischkies Mon, 30 Jan 2012 19:17:09 +0100