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)
// 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
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;
}
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 */
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:
(LP: #923807)
* apt-pkg/contrib/fileutl.h:
- fix compat with FileFd::OpenDescriptor() in ReadOnlyGzip mode
- - when calculating pre-dependencies ensure that both unpack and
- configure are considered (instead of only configure) LP: #927993
+ * 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:
+ - 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 <kalnischkies@gmail.com> Mon, 30 Jan 2012 19:17:09 +0100