[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Ubuntu dpkg 1.16.0.3ubuntu5



This e-mail has been sent due to an upload to Ubuntu that contains Ubuntu
changes.  It contains the difference between the new version and the
previous version of the same source package in Ubuntu.
Format: 1.8
Date: Thu, 06 Oct 2011 07:29:02 +0000
Source: dpkg
Binary: libdpkg-dev dpkg dpkg-dev libdpkg-perl dselect
Architecture: source
Version: 1.16.0.3ubuntu5
Distribution: oneiric
Urgency: low
Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Changed-By: Steve Langasek <steve.langasek@ubuntu.com>
Description: 
 dpkg       - Debian package management system
 dpkg-dev   - Debian package development tools
 dselect    - Debian package management front-end
 libdpkg-dev - Debian package management static library
 libdpkg-perl - Dpkg perl modules
Launchpad-Bugs-Fixed: 863675
Changes: 
 dpkg (1.16.0.3ubuntu5) oneiric; urgency=low
 .
   * Cherry pick b8d4668 and 967a45f from pu/multiarch so that cross-grading a
     package doesn't result in dpkg believing the package has been disappeared
     on the next call.  Thanks to Raphaël Hertzog <hertzog@debian.org> for
     the quick fix!  (LP: #863675)
Checksums-Sha1: 
 39c58a5472604beb3f380044689cf5987f05bd45 1947 dpkg_1.16.0.3ubuntu5.dsc
 55c9026642cb04f1110cfb55bbf117b01a8e7601 5378599 dpkg_1.16.0.3ubuntu5.tar.bz2
Checksums-Sha256: 
 0e5656e3d373df7cac018b0483a7828905d89e81be042b5f482b82aed0aac703 1947 dpkg_1.16.0.3ubuntu5.dsc
 685c35c4d814f1b18817572af23ddaa37959251ae93b8792703520363f4701d9 5378599 dpkg_1.16.0.3ubuntu5.tar.bz2
Files: 
 d26c7ae2da8933674d3fb4aaf42db698 1947 admin required dpkg_1.16.0.3ubuntu5.dsc
 cdf40f82bd6e3740a8939b0a24b8c32b 5378599 admin required dpkg_1.16.0.3ubuntu5.tar.bz2
Original-Maintainer: Dpkg Developers <debian-dpkg@lists.debian.org>
diff -pruN 1.16.0.3ubuntu4/debian/changelog 1.16.0.3ubuntu5/debian/changelog
--- 1.16.0.3ubuntu4/debian/changelog	2011-09-27 23:40:04.000000000 +0000
+++ 1.16.0.3ubuntu5/debian/changelog	2011-10-06 07:33:13.000000000 +0000
@@ -1,3 +1,12 @@
+dpkg (1.16.0.3ubuntu5) oneiric; urgency=low
+
+  * Cherry pick b8d4668 and 967a45f from pu/multiarch so that cross-grading a
+    package doesn't result in dpkg believing the package has been disappeared
+    on the next call.  Thanks to Raphaël Hertzog <hertzog@debian.org> for
+    the quick fix!  (LP: #863675)
+
+ -- Steve Langasek <steve.langasek@ubuntu.com>  Thu, 06 Oct 2011 07:29:02 +0000
+
 dpkg (1.16.0.3ubuntu4) oneiric; urgency=low
 
   * Add /etc/dpkg/dpkg.cfg.d/multiarch as a conffile on amd64, so that users
diff -pruN 1.16.0.3ubuntu4/src/filesdb.c 1.16.0.3ubuntu5/src/filesdb.c
--- 1.16.0.3ubuntu4/src/filesdb.c	2011-06-13 06:51:44.000000000 +0000
+++ 1.16.0.3ubuntu5/src/filesdb.c	2011-10-06 07:33:13.000000000 +0000
@@ -299,6 +299,20 @@ ensure_packagefiles_available(struct pkg
     pkg->clientdata->fileslistvalid = true;
     return;
   }
+  /* In a package set that is not multiarch same, there's only
+   * one .list file. Don't read it multiple times. */
+  if (pkg->installed.multiarch != multiarch_same) {
+    struct pkginfo *otherpkg;
+    for (otherpkg = &pkg->set->pkg; otherpkg; otherpkg = otherpkg->arch_next) {
+      /* If we find a non-multiarch-same package in the set with a more
+       * advanced status, we assume the list file is not for this package. */
+      if (otherpkg->status > pkg->status &&
+          otherpkg->installed.multiarch != multiarch_same) {
+        pkg->clientdata->fileslistvalid = true;
+        return;
+      }
+    }
+  }
 
   filelistfile = pkgadminfile(pkg, &pkg->installed, LISTFILE);
 
diff -pruN 1.16.0.3ubuntu4/src/processarc.c 1.16.0.3ubuntu5/src/processarc.c
--- 1.16.0.3ubuntu4/src/processarc.c	2011-06-13 06:14:53.000000000 +0000
+++ 1.16.0.3ubuntu5/src/processarc.c	2011-10-06 07:33:13.000000000 +0000
@@ -1313,10 +1313,10 @@ void process_archive(const char *filenam
         debug(dbg_eachfiledetail, "process_archive ... diverted, skipping");
         continue;
       }
-      /* Multi-Arch: same packages can share files */
-      if (otherpkg->set == pkg->set &&
-          otherpkg->installed.multiarch == multiarch_same &&
-          pkg->installed.multiarch == multiarch_same)
+      /* Multi-Arch: same packages can share files, and Multi-Arch:
+       * foreign|allowed|no have a single list file, so we should
+       * not rewrite the list file that we have already put in place. */
+      if (otherpkg->set == pkg->set)
         continue;
 
       /* Found one. We delete remove the list entry for this file,

Reply to: