X-Git-Url: https://git.saurik.com/apt.git/blobdiff_plain/d38b7b3d803a719b189df80820aeda6a818f4909..b381f6ed580f9c58c1547fddd92af1b52fc5a1f0:/apt-pkg/packagemanager.cc diff --git a/apt-pkg/packagemanager.cc b/apt-pkg/packagemanager.cc index 04b77eb09..0222b4445 100644 --- a/apt-pkg/packagemanager.cc +++ b/apt-pkg/packagemanager.cc @@ -1,6 +1,6 @@ // -*- mode: cpp; mode: fold -*- // Description /*{{{*/ -// $Id: packagemanager.cc,v 1.8 1998/11/23 07:03:01 jgg Exp $ +// $Id: packagemanager.cc,v 1.12 1999/01/31 06:24:46 jgg Exp $ /* ###################################################################### Package Manager - Abstacts the package manager @@ -107,11 +107,14 @@ bool pkgPackageManager::CreateOrderList() delete List; List = new pkgOrderList(Cache); + bool NoImmConfigure = _config->FindB("APT::Immediate-Configure",false); + // Generate the list of affected packages and sort it for (PkgIterator I = Cache.PkgBegin(); I.end() == false; I++) { // Mark the package for immediate configuration - if ((I->Flags & pkgCache::Flag::Essential) == pkgCache::Flag::Essential) + if ((I->Flags & pkgCache::Flag::Essential) == pkgCache::Flag::Essential && + NoImmConfigure == false) { List->Flag(I,pkgOrderList::Immediate); @@ -377,7 +380,7 @@ bool pkgPackageManager::SmartUnPack(PkgIterator Pkg) return _error->Error("Internal Error, Could not perform immediate configuraton"); return true; } - + /* See if this packages install version has any predependencies that are not met by 'now' packages. */ for (DepIterator D = Cache[Pkg].InstVerIter(Cache).DependsList();