]> git.saurik.com Git - apt.git/blobdiff - apt-pkg/packagemanager.cc
Clean support
[apt.git] / apt-pkg / packagemanager.cc
index 04b77eb0941250f36c0d904ed8f5217e02144847..0222b4445fae3b6b7347e427dab3278b163c99e5 100644 (file)
@@ -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();