]> git.saurik.com Git - apt.git/commitdiff
* merged the fixes from apt--progress-reporting
authorMichael Vogt <michael.vogt@ubuntu.com>
Fri, 5 Aug 2005 12:04:22 +0000 (12:04 +0000)
committerMichael Vogt <michael.vogt@ubuntu.com>
Fri, 5 Aug 2005 12:04:22 +0000 (12:04 +0000)
Patches applied:

 * michael.vogt@ubuntu.com--2005/apt--progress-reporting--0--patch-23
   * remvoed a debug string

 * michael.vogt@ubuntu.com--2005/apt--progress-reporting--0--patch-24
   * soname changed, fixed a bug in the parsing code when dpkg send the same state more than once (at the end)

 * michael.vogt@ubuntu.com--2005/apt--progress-reporting--0--patch-25
   * merged with apt@packages.debian.org/apt--main--0, added changelog entry for the 0.6.40.1 upload

 * michael.vogt@ubuntu.com--2005/apt--progress-reporting--0--patch-26
   * fix a bug when out-of-order states are send from dpkg

 * michael.vogt@ubuntu.com--2005/apt--progress-reporting--0--patch-27
   * changelog update

 * michael.vogt@ubuntu.com--2005/apt--progress-reporting--0--patch-28
   * a real changelog entry now

apt-pkg/contrib/configuration.cc
apt-pkg/deb/dpkgpm.cc
apt-pkg/init.h
apt-pkg/makefile
debian/changelog
methods/makefile

index 4b2c0fbb51977e53bdd21eb4f9ddd01e6c9ab03b..09e454be903edf217dbb3ceb1caebf69e922667d 100644 (file)
@@ -374,10 +374,9 @@ void Configuration::Clear(string Name, string Value)
 void Configuration::Clear(string Name)
 {
    Item *Top = Lookup(Name.c_str(),false);
-   if (Top == 0) {
-      cout << "config item: " << Name << " not found" << endl;
+   if (Top == 0) 
       return;
-   }
+
    Top->Value = string();
    Item *Stop = Top;
    Top = Top->Child;
index 2e85fc14ea28b2f3f5d799a83b0c078a96a4f9df..79a8c312bd9c399f6f8c7ccc2ba694cfe0ef5a44 100644 (file)
@@ -357,27 +357,27 @@ bool pkgDPkgPM::Go(int OutStatusFd)
       { 
         {"half-installed", _("Preparing %s")}, 
         {"unpacked", _("Unpacking %s") }, 
-        NULL
+        {NULL, NULL}
       },
       // Configure operation
       { 
         {"unpacked",_("Preparing to configure %s") },
         {"half-configured", _("Configuring %s") },
         { "installed", _("Installed %s")},
-         NULL
+        {NULL, NULL}
       },
       // Remove operation
       { 
         {"half-configured", _("Preparing for removal of %s")},
         {"half-installed", _("Removing %s")},
         {"config-files",  _("Removed %s")},
-         NULL
+        {NULL, NULL}
       },
       // Purge operation
       { 
         {"config-files", _("Preparing for remove with config %s")},
         {"not-installed", _("Removed with config %s")},
-        NULL 
+        {NULL, NULL}
       },
    };
 
@@ -627,13 +627,18 @@ bool pkgDPkgPM::Go(int OutStatusFd)
         char *pkg = list[1];
         char *action = list[2];
         vector<struct DpkgState> &states = PackageOps[pkg];
-        const char *next_action = states[PackageOpsDone[pkg]].state;
-        const char *translation = states[PackageOpsDone[pkg]].str;
-        char s[200];
-        snprintf(s, sizeof(s), translation, pkg);
+        const char *next_action = NULL;
+        if(PackageOpsDone[pkg] < states.size())
+           next_action = states[PackageOpsDone[pkg]].state;
         // check if the package moved to the next dpkg state
         if(next_action && (strcmp(action, next_action) == 0)) 
         {
+           // only read the translation if there is actually a next
+           // action
+           const char *translation = states[PackageOpsDone[pkg]].str;
+           char s[200];
+           snprintf(s, sizeof(s), translation, pkg);
+
            // we moved from one dpkg state to a new one, report that
            PackageOpsDone[pkg]++;
            Done++;
index 74ac3a7ca9736f768ffcad9c93a2ae50f1bb6839..e213517971b85551642c0063df1ffc84acc48ad5 100644 (file)
@@ -18,7 +18,7 @@
 
 // See the makefile
 #define APT_PKG_MAJOR 3
-#define APT_PKG_MINOR 5
+#define APT_PKG_MINOR 10
 #define APT_PKG_RELEASE 0
     
 extern const char *pkgVersion;
index 5f48f0f529bf2aaf202c1aa6aaf94a0a82ff1727..8de7d945e2e388efdfbe144c0a00b16a6a9e11b2 100644 (file)
@@ -13,7 +13,7 @@ include ../buildlib/defaults.mak
 # methods/makefile - FIXME
 LIBRARY=apt-pkg
 LIBEXT=$(GLIBC_VER)$(LIBSTDCPP_VER)
-MAJOR=3.9
+MAJOR=3.10
 MINOR=0
 SLIBS=$(PTHREADLIB) $(INTLLIBS)
 APT_DOMAIN:=libapt-pkg$(MAJOR)
index a01e1491be4102b81df01739073e947d1aeddd0b..7194dd328ba21ca352f049aa35dbc8de59c61766 100644 (file)
@@ -1,3 +1,12 @@
+apt (0.6.40.1) unstable; urgency=low
+
+  * bugfix in the parsing code for the apt<->dpkg communication. apt 
+    crashed when dpkg sends the same state more than once under certain
+    conditions
+  * 0.6.40 breaks the ABI but I accidentally didn't change the soname :/
+
+ --
+
 apt (0.6.40) unstable; urgency=low
 
   * Patch from Jordi Mallach to mark some additional strings for translation
index 0893005701cbaeace474266c6a9953f3eaa6058f..06fd2a6fc0c9117eef29e55bf89ecb74deb85c65 100644 (file)
@@ -7,7 +7,7 @@ include ../buildlib/defaults.mak
 BIN := $(BIN)/methods
 
 # FIXME..
-LIB_APT_PKG_MAJOR = 3.5
+LIB_APT_PKG_MAJOR = 3.10
 APT_DOMAIN := libapt-pkg$(LIB_APT_PKG_MAJOR)
 
 # The file method