]> git.saurik.com Git - apt.git/commitdiff
* apt-pkg/packagemanager.cc:
authorDavid Kalnischkies <kalnischkies@gmail.com>
Mon, 17 Oct 2011 09:22:45 +0000 (11:22 +0200)
committerDavid Kalnischkies <kalnischkies@gmail.com>
Mon, 17 Oct 2011 09:22:45 +0000 (11:22 +0200)
  - do not fail on unpacked packages in SmartUnPack, just don't
    shedule them for unpack, but do all checks and configure them

apt-pkg/packagemanager.cc
debian/changelog

index b9ef0f5d7c2644a258f1986ce82bb7bc4113a5c2..a97ce4833fc02b1a783c01389cab2e5e47476764 100644 (file)
@@ -551,14 +551,6 @@ bool pkgPackageManager::SmartUnPack(PkgIterator Pkg, bool const Immediate, int c
       cout << endl;
    }
 
       cout << endl;
    }
 
-   // Check if it is already unpacked
-   if (Pkg.State() == pkgCache::PkgIterator::NeedsConfigure &&
-       Cache[Pkg].Keep() == true)
-   {
-      cout << OutputInDepth(Depth) << "SmartUnPack called on Package " << Pkg.Name() << " but its unpacked" << endl;
-      return false;
-   }
    VerIterator const instVer = Cache[Pkg].InstVerIter(Cache);
 
    /* PreUnpack Checks: This loop checks and attempts to rectify and problems that would prevent the package being unpacked.
    VerIterator const instVer = Cache[Pkg].InstVerIter(Cache);
 
    /* PreUnpack Checks: This loop checks and attempts to rectify and problems that would prevent the package being unpacked.
@@ -768,7 +760,8 @@ bool pkgPackageManager::SmartUnPack(PkgIterator Pkg, bool const Immediate, int c
            return false;
       }
    }
            return false;
       }
    }
-   else if (Install(Pkg,FileNames[Pkg->ID]) == false)
+   // packages which are already unpacked don't need to be unpacked again
+   else if (Pkg.State() != pkgCache::PkgIterator::NeedsConfigure && Install(Pkg,FileNames[Pkg->ID]) == false)
       return false;
 
    if (Immediate == true) {
       return false;
 
    if (Immediate == true) {
index 552597405a670717795430a7e8f178c571af0217..98a5616987fefbd7868a6332eb21a5fc44ac366a 100644 (file)
@@ -1,3 +1,12 @@
+apt (0.8.16~exp8) experimental; urgency=low
+
+  [ David Kalnischkies ]
+  * apt-pkg/packagemanager.cc:
+    - do not fail on unpacked packages in SmartUnPack, just don't
+      shedule them for unpack, but do all checks and configure them
+
+ -- David Kalnischkies <kalnischkies@gmail.com>  Mon, 17 Oct 2011 11:21:21 +0200
+
 apt (0.8.16~exp7) experimental; urgency=low
 
   [ David Kalnischkies ]
 apt (0.8.16~exp7) experimental; urgency=low
 
   [ David Kalnischkies ]