Package: librust-object+compression-dev
Version: 0.12.0-3
Severity: serious
Tags: patch

librust-object+compression-dev depends on librust-flate2-1+default-dev
which is a (versioned) virtual package provided by
librust-flate2+zlib-dev in buster and by librust-flate2+rust-backend-dev
in bullseye. apt-get has problems exchanging these two packages during an
upgrade from buster to bullseye and prefers to keep the already installed
provider installed. This can be fixed by making the dependency versioned
s.t. the old provider from buster is no longer considered as a valid
solution.

Bad problem resolution by apt-get:

  Starting 2 pkgProblemResolver with broken count: 5
  Investigating (0) librust-goblin+pe32-dev:amd64 < 0.0.19-1 @ii mK Ib >
  Broken librust-goblin+pe32-dev:amd64 Depends on librust-goblin-dev:amd64 < 
0.0.19-1 -> 0.2.1-4 @ii umU > (= 0.0.19-1)
    Considering librust-goblin-dev:amd64 5 as a solution to 
librust-goblin+pe32-dev:amd64 -2
    Removing librust-goblin+pe32-dev:amd64 rather than change 
librust-goblin-dev:amd64
  Investigating (0) librust-goblin+pe64-dev:amd64 < 0.0.19-1 @ii mK Ib >
  Broken librust-goblin+pe64-dev:amd64 Depends on librust-goblin-dev:amd64 < 
0.0.19-1 -> 0.2.1-4 @ii umU > (= 0.0.19-1)
    Considering librust-goblin-dev:amd64 5 as a solution to 
librust-goblin+pe64-dev:amd64 -2
    Removing librust-goblin+pe64-dev:amd64 rather than change 
librust-goblin-dev:amd64
  Investigating (0) librust-goblin+mach64-dev:amd64 < 0.0.19-1 @ii mK Ib >
  Broken librust-goblin+mach64-dev:amd64 Depends on librust-goblin-dev:amd64 < 
0.0.19-1 -> 0.2.1-4 @ii umU > (= 0.0.19-1)
    Considering librust-goblin-dev:amd64 5 as a solution to 
librust-goblin+mach64-dev:amd64 -2
    Removing librust-goblin+mach64-dev:amd64 rather than change 
librust-goblin-dev:amd64
  Investigating (0) librust-parity-wasm+std-dev:amd64 < 0.35.5-1 @ii mK Ib >
  Broken librust-parity-wasm+std-dev:amd64 Depends on 
librust-parity-wasm-dev:amd64 < 0.35.5-1 -> 0.41.0-1 @ii umU > (= 0.35.5-1)
    Considering librust-parity-wasm-dev:amd64 0 as a solution to 
librust-parity-wasm+std-dev:amd64 -2
    Removing librust-parity-wasm+std-dev:amd64 rather than change 
librust-parity-wasm-dev:amd64
  Investigating (0) librust-flate2+zlib-dev:amd64 < 1.0.6-1 @ii mK Ib >
  Broken librust-flate2+zlib-dev:amd64 Depends on librust-flate2-dev:amd64 < 
1.0.6-1 -> 1.0.13-3 @ii umU > (= 1.0.6-1)
    Considering librust-flate2-dev:amd64 0 as a solution to 
librust-flate2+zlib-dev:amd64 -2
    Removing librust-flate2+zlib-dev:amd64 rather than change 
librust-flate2-dev:amd64
  Investigating (1) librust-object+compression-dev:amd64 < 0.11.0-1 -> 0.12.0-3 
@ii umU Ib >
  Broken librust-object+compression-dev:amd64 Depends on 
librust-flate2-1+default-dev:amd64 < none @un H >
    Considering librust-flate2+zlib-dev:amd64 -2 as a solution to 
librust-object+compression-dev:amd64 2
    Added librust-flate2+zlib-dev:amd64 to the remove list
    Fixing librust-object+compression-dev:amd64 via keep of 
librust-flate2+zlib-dev:amd64
  Investigating (1) librust-flate2+zlib-dev:amd64 < 1.0.6-1 @ii mK Ib >
  Broken librust-flate2+zlib-dev:amd64 Depends on librust-flate2-dev:amd64 < 
1.0.6-1 -> 1.0.13-3 @ii umU > (= 1.0.6-1)
    Considering librust-flate2-dev:amd64 0 as a solution to 
librust-flate2+zlib-dev:amd64 -2
    Removing librust-flate2+zlib-dev:amd64 rather than change 
librust-flate2-dev:amd64
  Investigating (2) librust-object+compression-dev:amd64 < 0.11.0-1 -> 0.12.0-3 
@ii umU Ib >
  Broken librust-object+compression-dev:amd64 Depends on 
librust-flate2-1+default-dev:amd64 < none @un H >
    Considering librust-flate2+zlib-dev:amd64 -2 as a solution to 
librust-object+compression-dev:amd64 2
    Added librust-flate2+zlib-dev:amd64 to the remove list
    Fixing librust-object+compression-dev:amd64 via keep of 
librust-flate2+zlib-dev:amd64
  Investigating (2) librust-flate2+zlib-dev:amd64 < 1.0.6-1 @ii mK Ib >
  Broken librust-flate2+zlib-dev:amd64 Depends on librust-flate2-dev:amd64 < 
1.0.6-1 -> 1.0.13-3 @ii umU > (= 1.0.6-1)
    Considering librust-flate2-dev:amd64 0 as a solution to 
librust-flate2+zlib-dev:amd64 2
    Added librust-flate2-dev:amd64 to the remove list
    Fixing librust-flate2+zlib-dev:amd64 via keep of librust-flate2-dev:amd64
   Try to Re-Instate (3) librust-flate2-dev:amd64
  Done
  
  The following packages were automatically installed and are no longer 
required:
    libperl5.28 librust-byteorder-dev librust-cfg-if-dev
    librust-rustc-version-dev librust-semver-dev librust-semver-parser-0.7-dev
    perl-modules-5.28
  Use 'sudo apt autoremove' to remove them.
  The following packages will be REMOVED:
    librust-goblin+mach64-dev librust-goblin+pe32-dev librust-goblin+pe64-dev
    librust-parity-wasm+std-dev
  The following NEW packages will be installed:
    gcc-10-base libapt-pkg6.0 libcrypt-dev libcrypt1 libffi7 libgcc-s1
    libgssapi-krb5-2 libhogweed6 libk5crypto3 libkeyutils1 libkrb5-3
    libkrb5support0 libnettle8 libnsl-dev libnsl2 libpcre2-8-0 libperl5.32
    librust-cfg-if-0.1-dev librust-libz-sys+default-dev libssl1.1
    libtirpc-common libtirpc-dev libtirpc3 libxxhash0 logsave lsb-base
    perl-modules-5.32
  The following packages have been kept back:
    librust-flate2-dev
  The following packages will be upgraded:
[...]
  120 upgraded, 27 newly installed, 4 to remove and 1 not upgraded.

Fixed problem resolution by apt-get when using the attached patch:

  Starting 2 pkgProblemResolver with broken count: 5
  Investigating (0) librust-flate2+zlib-dev:amd64 < 1.0.6-1 @ii mK Ib >
  Broken librust-flate2+zlib-dev:amd64 Depends on librust-flate2-dev:amd64 < 
1.0.6-1 -> 1.0.13-3 @ii umU > (= 1.0.6-1)
    Considering librust-flate2-dev:amd64 1 as a solution to 
librust-flate2+zlib-dev:amd64 -1
    Removing librust-flate2+zlib-dev:amd64 rather than change 
librust-flate2-dev:amd64
  Investigating (0) librust-goblin+pe32-dev:amd64 < 0.0.19-1 @ii mK Ib >
  Broken librust-goblin+pe32-dev:amd64 Depends on librust-goblin-dev:amd64 < 
0.0.19-1 -> 0.2.1-4 @ii umU > (= 0.0.19-1)
    Considering librust-goblin-dev:amd64 5 as a solution to 
librust-goblin+pe32-dev:amd64 -2
    Removing librust-goblin+pe32-dev:amd64 rather than change 
librust-goblin-dev:amd64
  Investigating (0) librust-goblin+mach64-dev:amd64 < 0.0.19-1 @ii mK Ib >
  Broken librust-goblin+mach64-dev:amd64 Depends on librust-goblin-dev:amd64 < 
0.0.19-1 -> 0.2.1-4 @ii umU > (= 0.0.19-1)
    Considering librust-goblin-dev:amd64 5 as a solution to 
librust-goblin+mach64-dev:amd64 -2
    Removing librust-goblin+mach64-dev:amd64 rather than change 
librust-goblin-dev:amd64
  Investigating (0) librust-parity-wasm+std-dev:amd64 < 0.35.5-1 @ii mK Ib >
  Broken librust-parity-wasm+std-dev:amd64 Depends on 
librust-parity-wasm-dev:amd64 < 0.35.5-1 -> 0.41.0-1 @ii umU > (= 0.35.5-1)
    Considering librust-parity-wasm-dev:amd64 0 as a solution to 
librust-parity-wasm+std-dev:amd64 -2
    Removing librust-parity-wasm+std-dev:amd64 rather than change 
librust-parity-wasm-dev:amd64
  Investigating (0) librust-goblin+pe64-dev:amd64 < 0.0.19-1 @ii mK Ib >
  Broken librust-goblin+pe64-dev:amd64 Depends on librust-goblin-dev:amd64 < 
0.0.19-1 -> 0.2.1-4 @ii umU > (= 0.0.19-1)
    Considering librust-goblin-dev:amd64 5 as a solution to 
librust-goblin+pe64-dev:amd64 -2
    Removing librust-goblin+pe64-dev:amd64 rather than change 
librust-goblin-dev:amd64
  Done
  
  The following packages were automatically installed and are no longer 
required:
    libc-dev-bin libc6-dev libcrypt-dev libdpkg-perl libglib2.0-0 libnsl-dev
    libperl5.28 librust-byteorder-dev librust-cc-dev librust-cfg-if-dev
    librust-libz-sys-dev librust-pkg-config-dev librust-rustc-version-dev
    librust-semver-dev librust-semver-parser-0.7-dev librust-vcpkg-dev
    libtirpc-dev linux-libc-dev perl-modules-5.28 pkg-config zlib1g-dev
  Use 'sudo apt autoremove' to remove them.
  The following packages will be REMOVED:
    librust-flate2+zlib-dev librust-goblin+mach64-dev librust-goblin+pe32-dev
    librust-goblin+pe64-dev librust-parity-wasm+std-dev
  The following NEW packages will be installed:
    gcc-10-base libapt-pkg6.0 libcrypt-dev libcrypt1 libffi7 libgcc-s1
    libgssapi-krb5-2 libhogweed6 libk5crypto3 libkeyutils1 libkrb5-3
    libkrb5support0 libnettle8 libnsl-dev libnsl2 libpcre2-8-0 libperl5.32
    librust-adler32-dev librust-cfg-if-0.1-dev librust-flate2+rust-backend-dev
    librust-miniz-oxide-dev libssl1.1 libtirpc-common libtirpc-dev libtirpc3
    libxxhash0 logsave lsb-base perl-modules-5.32
  The following packages will be upgraded:
[...]
  121 upgraded, 29 newly installed, 5 to remove and 0 not upgraded.


Andreas
diff -Nru rust-object-0.12.0/debian/changelog 
rust-object-0.12.0/debian/changelog
--- rust-object-0.12.0/debian/changelog 2020-04-13 03:15:56.000000000 +0200
+++ rust-object-0.12.0/debian/changelog 2021-06-25 13:49:09.000000000 +0200
@@ -1,3 +1,12 @@
+rust-object (0.12.0-4) UNRELEASED; urgency=medium
+
+  * librust-object+compression-dev: Version the dependency on the virtual
+    librust-flate2-1+default-dev for smoother upgrades from buster which need
+    to switch the provider from librust-flate2+zlib-dev to
+    librust-flate2+rust-backend-dev.  (Closes: #-1)
+
+ -- Andreas Beckmann <a...@debian.org>  Fri, 25 Jun 2021 13:49:09 +0200
+
 rust-object (0.12.0-3) unstable; urgency=medium
 
   * Team upload.
diff -Nru rust-object-0.12.0/debian/control rust-object-0.12.0/debian/control
--- rust-object-0.12.0/debian/control   2020-04-13 03:15:56.000000000 +0200
+++ rust-object-0.12.0/debian/control   2021-06-25 13:49:07.000000000 +0200
@@ -63,7 +63,7 @@
 Depends:
  ${misc:Depends},
  librust-object-dev (= ${binary:Version}),
- librust-flate2-1+default-dev
+ librust-flate2-1+default-dev (>= 1.0.13)
 Provides:
  librust-object+flate2-dev (= ${binary:Version}),
  librust-object-0+compression-dev (= ${binary:Version}),

Attachment: rust-object.0.log.gz
Description: application/gzip

Reply via email to