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

Ubuntu dpkg 1.16.1.2ubuntu5



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: Fri, 16 Dec 2011 11:23:51 +0100
Source: dpkg
Binary: libdpkg-dev dpkg dpkg-dev libdpkg-perl dselect
Architecture: source
Version: 1.16.1.2ubuntu5
Distribution: precise
Urgency: low
Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Changed-By: Martin Pitt <martin.pitt@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: 902603
Changes: 
 dpkg (1.16.1.2ubuntu5) precise; urgency=low
 .
   * New version of previous patch, many thanks Raphaël Hertzog! (LP: #902603)
Checksums-Sha1: 
 19deff05a9da4ba8b3205a3752bcedfc590e69f6 2119 dpkg_1.16.1.2ubuntu5.dsc
 b4a013b6aa21158eb7324d3ef6763747efb47ad6 5475479 dpkg_1.16.1.2ubuntu5.tar.bz2
Checksums-Sha256: 
 ad022653f567fb242fd0436f70e94c0ec86e13538873e4c6ff829270b952dead 2119 dpkg_1.16.1.2ubuntu5.dsc
 5daf420bd6f26054f528952ab4b4af720dcc39144a6ca9aeca0ec58b7d56a8bd 5475479 dpkg_1.16.1.2ubuntu5.tar.bz2
Files: 
 d183132329068e1615e8ee8ffb2dbdaa 2119 admin required dpkg_1.16.1.2ubuntu5.dsc
 8bc812180b37768e6b667ee20cc27781 5475479 admin required dpkg_1.16.1.2ubuntu5.tar.bz2
Original-Maintainer: Dpkg Developers <debian-dpkg@lists.debian.org>
diff -pruN 1.16.1.2ubuntu4/debian/changelog 1.16.1.2ubuntu5/debian/changelog
--- 1.16.1.2ubuntu4/debian/changelog	2011-12-15 10:33:28.000000000 +0000
+++ 1.16.1.2ubuntu5/debian/changelog	2011-12-16 10:23:51.000000000 +0000
@@ -1,3 +1,9 @@
+dpkg (1.16.1.2ubuntu5) precise; urgency=low
+
+  * New version of previous patch, many thanks Raphaël Hertzog! (LP: #902603)
+
+ -- Martin Pitt <martin.pitt@ubuntu.com>  Fri, 16 Dec 2011 11:23:51 +0100
+
 dpkg (1.16.1.2ubuntu4) precise; urgency=low
 
   * dpkg: Do not try to disappear other packages from the same set. Packages
diff -pruN 1.16.1.2ubuntu4/src/archives.c 1.16.1.2ubuntu5/src/archives.c
--- 1.16.1.2ubuntu4/src/archives.c	2011-12-15 10:26:31.000000000 +0000
+++ 1.16.1.2ubuntu5/src/archives.c	2011-12-16 10:18:10.000000000 +0000
@@ -152,6 +152,13 @@ filesavespackage(struct fileinlist *file
     if (thirdpkg == pkgbeinginstalled || thirdpkg == pkgtobesaved)
       continue;
 
+    /* A Multi-Arch: same package can share files and their presence in a
+     * third package of the same set is not a sign that we can get rid of
+     * it. */
+    if (pkgtobesaved->installed.multiarch == multiarch_same &&
+        thirdpkg->set == pkgtobesaved->set)
+      continue;
+
     /* If !fileslistvalid then we've already disappeared this one, so
      * we shouldn't try to make it take over this shared directory. */
     debug(dbg_eachfiledetail,"filesavespackage ...  is 3rd package");
diff -pruN 1.16.1.2ubuntu4/src/processarc.c 1.16.1.2ubuntu5/src/processarc.c
--- 1.16.1.2ubuntu4/src/processarc.c	2011-12-15 10:26:58.000000000 +0000
+++ 1.16.1.2ubuntu5/src/processarc.c	2011-12-16 10:18:10.000000000 +0000
@@ -1273,11 +1273,17 @@ void process_archive(const char *filenam
   it = pkg_db_iter_new();
   while ((otherpkg = pkg_db_iter_next_pkg(it)) != NULL) {
     ensure_package_clientdata(otherpkg);
-    if (otherpkg->set == pkg->set ||
+    if (otherpkg == pkg ||
         otherpkg->status == stat_notinstalled ||
         otherpkg->status == stat_configfiles ||
 	otherpkg->clientdata->istobe == itb_remove ||
         !otherpkg->clientdata->files) continue;
+    /* Do not try to disappear other packages from the same set
+     * if they are Multi-Arch: same */
+    if (pkg->installed.multiarch == multiarch_same &&
+        otherpkg->installed.multiarch == multiarch_same &&
+        otherpkg->set == pkg->set)
+      continue;
     debug(dbg_veryverbose, "process_archive checking disappearance %s",
           pkg_describe(otherpkg, pdo_foreign));
     assert(otherpkg->clientdata->istobe == itb_normal ||

Reply to: