]> git.saurik.com Git - apt.git/blobdiff - apt-pkg/packagemanager.cc
* apt-pkg/depcache.cc:
[apt.git] / apt-pkg / packagemanager.cc
index 7be6e72f231e6d8d17150f13d4a6355eacdceccf..b747fa78a7b4904e945f2c26570df72b964b6e55 100644 (file)
@@ -143,10 +143,6 @@ void pkgPackageManager::ImmediateAdd(PkgIterator I, bool UseInstallVer, unsigned
    for ( /* nothing */  ; D.end() == false; D++)
       if (D->Type == pkgCache::Dep::Depends || D->Type == pkgCache::Dep::PreDepends)
       {
    for ( /* nothing */  ; D.end() == false; D++)
       if (D->Type == pkgCache::Dep::Depends || D->Type == pkgCache::Dep::PreDepends)
       {
-        // ignore dependencies if no instal/upgrade/remove is going to happen
-        if (D.TargetPkg() == 0 || Cache[D.TargetPkg()].Keep())
-             continue;
-
         if(!List->IsFlag(D.TargetPkg(), pkgOrderList::Immediate))
         {
            if(Debug)
         if(!List->IsFlag(D.TargetPkg(), pkgOrderList::Immediate))
         {
            if(Debug)
@@ -325,8 +321,9 @@ bool pkgPackageManager::SmartConfigure(PkgIterator Pkg)
 
    // Sanity Check
    if (List->IsFlag(Pkg,pkgOrderList::Configured) == false)
 
    // Sanity Check
    if (List->IsFlag(Pkg,pkgOrderList::Configured) == false)
-      return _error->Error("Internal error, could not immediate configure %s",Pkg.Name());
-   
+      return _error->Error(_("Could not perform immediate configuration on '%s'."
+                       "Please see man 5 apt.conf under APT::Immediate-Configure for details. (%d)"),Pkg.Name(),1);
+
    return true;
 }
                                                                        /*}}}*/
    return true;
 }
                                                                        /*}}}*/
@@ -341,6 +338,9 @@ bool pkgPackageManager::DepAdd(pkgOrderList &OList,PkgIterator Pkg,int Depth)
       return true;
    if (List->IsFlag(Pkg,pkgOrderList::UnPacked) == false)
       return false;
       return true;
    if (List->IsFlag(Pkg,pkgOrderList::UnPacked) == false)
       return false;
+
+   if (Debug) 
+      std::clog << OutputInDepth(Depth) << "DepAdd: " << Pkg.Name() << std::endl;
       
    // Put the package on the list
    OList.push_back(Pkg);
       
    // Put the package on the list
    OList.push_back(Pkg);
@@ -394,6 +394,8 @@ bool pkgPackageManager::DepAdd(pkgOrderList &OList,PkgIterator Pkg,int Depth)
       
       if (Bad == true)
       {
       
       if (Bad == true)
       {
+        if (Debug) 
+           std::clog << OutputInDepth(Depth) << "DepAdd FAILS on: " << Pkg.Name() << std::endl;
         OList.Flag(Pkg,0,pkgOrderList::Added);
         OList.pop_back();
         Depth--;
         OList.Flag(Pkg,0,pkgOrderList::Added);
         OList.pop_back();
         Depth--;
@@ -478,7 +480,8 @@ bool pkgPackageManager::SmartUnPack(PkgIterator Pkg)
       List->Flag(Pkg,pkgOrderList::UnPacked,pkgOrderList::States);
       if (List->IsFlag(Pkg,pkgOrderList::Immediate) == true)
         if (SmartConfigure(Pkg) == false)
       List->Flag(Pkg,pkgOrderList::UnPacked,pkgOrderList::States);
       if (List->IsFlag(Pkg,pkgOrderList::Immediate) == true)
         if (SmartConfigure(Pkg) == false)
-           return _error->Error("Internal Error, Could not perform immediate configuration (1) on %s",Pkg.Name());
+           return _error->Error(_("Could not perform immediate configuration on already unpacked '%s'."
+                       "Please see man 5 apt.conf under APT::Immediate-Configure for details."),Pkg.Name());
       return true;
    }
 
       return true;
    }
 
@@ -585,7 +588,8 @@ bool pkgPackageManager::SmartUnPack(PkgIterator Pkg)
    // Perform immedate configuration of the package.
    if (List->IsFlag(Pkg,pkgOrderList::Immediate) == true)
       if (SmartConfigure(Pkg) == false)
    // Perform immedate configuration of the package.
    if (List->IsFlag(Pkg,pkgOrderList::Immediate) == true)
       if (SmartConfigure(Pkg) == false)
-        return _error->Error("Internal Error, Could not perform immediate configuration (2) on %s",Pkg.Name());
+        return _error->Error(_("Could not perform immediate configuration on '%s'."
+                       "Please see man 5 apt.conf under APT::Immediate-Configure for details. (%d)"),Pkg.Name(),2);
    
    return true;
 }
    
    return true;
 }