]> git.saurik.com Git - apt.git/commitdiff
dpkg-triggers: deal properly with new package states; 0.7.6ubuntu6
authorIan Jackson <ian@anarres>
Thu, 16 Aug 2007 00:10:35 +0000 (01:10 +0100)
committerIan Jackson <ian@anarres>
Thu, 16 Aug 2007 00:10:35 +0000 (01:10 +0100)
apt-pkg/algorithms.cc
apt-pkg/deb/deblistparser.cc
apt-pkg/deb/dpkgpm.cc
apt-pkg/pkgcache.cc
apt-pkg/pkgcache.h
debian/changelog
doc/cache.sgml

index b21fcbb2f9b4e9a8d51553b5877bd3b45cc90054..62727a852fd01504e7cd27820913b153449f6231 100644 (file)
@@ -257,6 +257,8 @@ bool pkgApplyStatus(pkgDepCache &Cache)
            re-unpacked (probably) */
         case pkgCache::State::UnPacked:
         case pkgCache::State::HalfConfigured:
+        case pkgCache::State::TriggersAwaited:
+        case pkgCache::State::TriggersPending:
         if ((I->CurrentVer != 0 && I.CurrentVer().Downloadable() == true) ||
             I.State() != pkgCache::PkgIterator::NeedsUnpack)
            Cache.MarkKeep(I, false, false);
index 074abea6d0ae76f5ccc4ff37ae0ede852cad91ba..896d4d6d8590c3ef697d3171ea5f0bf994593e5c 100644 (file)
@@ -293,6 +293,8 @@ bool debListParser::ParseStatus(pkgCache::PkgIterator Pkg,
                             {"installed",pkgCache::State::Installed},
                             {"half-installed",pkgCache::State::HalfInstalled},
                             {"config-files",pkgCache::State::ConfigFiles},
+                            {"triggers-awaited",pkgCache::State::TriggersAwaited},
+                            {"triggers-pending",pkgCache::State::TriggersPending},
                             {"post-inst-failed",pkgCache::State::HalfConfigured},
                             {"removal-failed",pkgCache::State::HalfInstalled},
                             {}};
index dad8da9edc5befdb915e2e117360b1201533913d..c386e4b24a73432d7e5554d9c41d924e578c41c1 100644 (file)
@@ -521,7 +521,7 @@ bool pkgDPkgPM::Go(int OutStatusFd)
    
    // map the dpkg states to the operations that are performed
    // (this is sorted in the same way as Item::Ops)
-   static const struct DpkgState DpkgStatesOpMap[][5] = {
+   static const struct DpkgState DpkgStatesOpMap[][7] = {
       // Install operation
       { 
         {"half-installed", N_("Preparing %s")}, 
@@ -532,12 +532,17 @@ bool pkgDPkgPM::Go(int OutStatusFd)
       { 
         {"unpacked",N_("Preparing to configure %s") },
         {"half-configured", N_("Configuring %s") },
+        {"triggers-awaited", N_("Processing triggers for %s") },
+        {"triggers-pending", N_("Processing triggers for %s") },
+        {"half-configured", N_("Configuring %s") },
         { "installed", N_("Installed %s")},
         {NULL, NULL}
       },
       // Remove operation
       { 
         {"half-configured", N_("Preparing for removal of %s")},
+        {"triggers-awaited", N_("Preparing for removal of %s")},
+        {"triggers-pending", N_("Preparing for removal of %s")},
         {"half-installed", N_("Removing %s")},
         {"config-files",  N_("Removed %s")},
         {NULL, NULL}
index 7e3b9d78c9a5a58ebbb8913d69a5b421dc5f821f..133899a274fa8728f0a43181ea90426eab92ebda 100644 (file)
@@ -49,7 +49,7 @@ pkgCache::Header::Header()
    
    /* Whenever the structures change the major version should be bumped,
       whenever the generator changes the minor version should be bumped. */
-   MajorVersion = 6;
+   MajorVersion = 7;
    MinorVersion = 0;
    Dirty = false;
    
@@ -274,7 +274,9 @@ pkgCache::PkgIterator::OkState pkgCache::PkgIterator::State() const
       return NeedsUnpack;
    
    if (Pkg->CurrentState == pkgCache::State::UnPacked ||
-       Pkg->CurrentState == pkgCache::State::HalfConfigured)
+       Pkg->CurrentState == pkgCache::State::HalfConfigured ||
+       Pkg->CurrentState == pkgCache::State::TriggersPending ||
+       Pkg->CurrentState == pkgCache::State::TriggersAwaited)
       return NeedsConfigure;
    
    if (Pkg->CurrentState == pkgCache::State::HalfInstalled ||
index 83b7548a3da01e7ab5b52492f882e31fd387a826..59d5003bba4f7ecc0f151b1c8e82ba94639d13eb 100644 (file)
@@ -81,7 +81,8 @@ class pkgCache
       enum PkgSelectedState {Unknown=0,Install=1,Hold=2,DeInstall=3,Purge=4};
       enum PkgInstState {Ok=0,ReInstReq=1,HoldInst=2,HoldReInstReq=3};
       enum PkgCurrentState {NotInstalled=0,UnPacked=1,HalfConfigured=2,
-          HalfInstalled=4,ConfigFiles=5,Installed=6};
+          HalfInstalled=4,ConfigFiles=5,Installed=6,
+           TriggersAwaited=7,TriggersPending=8};
    };
    
    struct Flag
index 7b71c36087496d1e22747457b2fe47780b56a6a8..e526bc756f3e8941ac63eb27d6d2c2f3190d65ba 100644 (file)
@@ -1,3 +1,9 @@
+apt (0.7.6ubuntu6) gutsy; urgency=low
+
+  * dpkg-triggers: Deal properly with new package states.
+
+ -- Ian Jackson <iwj@ubuntu.com>  Wed, 15 Aug 2007 20:44:37 +0100
+
 apt (0.7.6ubuntu5) UNRELEASED; urgency=low
 
   * apt-pkg/acquire-item.cc:
index e257dcd819fd6f5e48c2419caca0280fc7ff03f7..aea5a45c35c580199117872310044143e0fe5c89 100644 (file)
@@ -721,6 +721,8 @@ or'd with the current package.
 #define pkgSTATE_HalfInstalled 4
 #define pkgSTATE_ConfigFiles 5
 #define pkgSTATE_Installed 6
+#define pkgSTATE_TriggersAwaited 7
+#define pkgSTATE_TriggersPending 8
 </example>
 </sect1>