piuparts fails when dependencies of previous version cannot be satisfied
I uploaded mongo-cxx-driver 4.1.4-1, and piuparts tasks fail because the dependencies of the previous version (4.0.0-1 in this case) cannot be satisfied. Specifically, the recent mongo-c-driver transition removed the binary packages libbson-1.0-0t64 and libmongoc-1.0-0t64, replacing them with libbson2-2 and libmongoc2-2`, respectively.
So, when the piuparts task attempts to install the packages of mongo-cxx-driver 4.0.0-1, this is the result:
0m14.1s DUMP:
Package: libbsoncxx-dev
Source: mongo-cxx-driver
Version: 4.0.0-1
Installed-Size: 460
Maintainer: Mongo C++ Driver Team <mongo-cxx-driver-debian@googlegroups.com>
Architecture: amd64
Depends: libbsoncxx-noabi (= 4.0.0-1)
Description: Library to parse and generate BSON documents - dev files
Description-md5: 72dfa140819ca33867420fd5061e92bd
Homepage: https://mongocxx.org/
Section: libdevel
Priority: optional
Filename: pool/main/m/mongo-cxx-driver/libbsoncxx-dev_4.0.0-1_amd64.deb
Size: 53804
MD5sum: 74e77d1eda1dc2a2f2f4c88b4059fdf1
SHA256: 6a614592cf8f408a8a807b133c577589e0388cd610cd97bd7627e209494a9de4
0m14.1s DEBUG: Command ok: ['chroot', '/tmp/tmpy835qd9c', 'eatmydata', 'apt-cache', 'show', '--no-all-versions', 'libbsoncxx-dev']
0m14.1s DEBUG: Starting command: ['chroot', '/tmp/tmpy835qd9c', 'eatmydata', 'apt-cache', 'show', '--no-all-versions', 'libbsoncxx-noabi-dbgsym']
0m14.2s DUMP:
E: No packages found
0m14.2s DEBUG: Command failed (status=100), but ignoring error: ['chroot', '/tmp/tmpy835qd9c', 'eatmydata', 'apt-cache', 'show', '--no-all-versions', 'libbsoncxx-noabi-dbgsym']
0m14.2s DEBUG: Starting command: ['chroot', '/tmp/tmpy835qd9c', 'eatmydata', 'apt-cache', 'show', '--no-all-versions', 'libbsoncxx-noabi']
0m14.4s DUMP:
Package: libbsoncxx-noabi
Source: mongo-cxx-driver
Version: 4.0.0-1
Installed-Size: 195
Maintainer: Mongo C++ Driver Team <mongo-cxx-driver-debian@googlegroups.com>
Architecture: amd64
Depends: libbson-1.0-0t64 (>= 1.29.0), libc6 (>= 2.14), libgcc-s1 (>= 3.0), libstdc++6 (>= 13.1)
Description: Library to parse and generate BSON documents - runtime files
Description-md5: 6f2949db928872723bee3d027f4e58f7
Homepage: https://mongocxx.org/
Section: libs
Priority: optional
Filename: pool/main/m/mongo-cxx-driver/libbsoncxx-noabi_4.0.0-1_amd64.deb
Size: 48920
MD5sum: e62b2bd8ea20f79b57ceead0a840400b
SHA256: 558745910fe11fa16f944b8a8da90e717d337de7ca5e81a14acacc41b49f265f
0m14.4s DEBUG: Command ok: ['chroot', '/tmp/tmpy835qd9c', 'eatmydata', 'apt-cache', 'show', '--no-all-versions', 'libbsoncxx-noabi']
0m14.4s DEBUG: Starting command: ['chroot', '/tmp/tmpy835qd9c', 'eatmydata', 'apt-cache', 'show', '--no-all-versions', 'libmongocxx-dev']
0m14.6s DUMP:
Package: libmongocxx-dev
Source: mongo-cxx-driver
Version: 4.0.0-1
Installed-Size: 990
Maintainer: Mongo C++ Driver Team <mongo-cxx-driver-debian@googlegroups.com>
Architecture: amd64
Depends: libmongocxx-noabi (= 4.0.0-1), libbsoncxx-dev (= 4.0.0-1), libssl-dev, zlib1g-dev, libsnappy-dev, libutf8proc-dev
Description: MongoDB C++ client library - dev files
Description-md5: 3d71ff2a964206f29d4189d9f34310ab
Homepage: https://mongocxx.org/
Section: libdevel
Priority: optional
Filename: pool/main/m/mongo-cxx-driver/libmongocxx-dev_4.0.0-1_amd64.deb
Size: 81208
MD5sum: 52398f2d44d5eb7b9091713ef1732282
SHA256: f2a7ac7e47680b1b6ad86a1e644216ed52a9b8232e6b6cc645d0a68a8dda4b06
0m14.6s DEBUG: Command ok: ['chroot', '/tmp/tmpy835qd9c', 'eatmydata', 'apt-cache', 'show', '--no-all-versions', 'libmongocxx-dev']
0m14.6s DEBUG: Starting command: ['chroot', '/tmp/tmpy835qd9c', 'eatmydata', 'apt-cache', 'show', '--no-all-versions', 'libmongocxx-doc']
0m14.7s DUMP:
Package: libmongocxx-doc
Source: mongo-cxx-driver
Version: 4.0.0-1
Installed-Size: 18939
Maintainer: Mongo C++ Driver Team <mongo-cxx-driver-debian@googlegroups.com>
Architecture: all
Description: MongoDB C++ client library - documentation
Description-md5: 22d0ca7e7d9844d20ad65eb38be7980e
Homepage: https://mongocxx.org/
Section: doc
Priority: optional
Filename: pool/main/m/mongo-cxx-driver/libmongocxx-doc_4.0.0-1_all.deb
Size: 741292
MD5sum: 19d229d2e81a0b82a50f4322a3a88466
SHA256: be2c80b0480778e9b734b8e21a724b375e8095731ae91cb145dbd87375992498
0m14.7s DEBUG: Command ok: ['chroot', '/tmp/tmpy835qd9c', 'eatmydata', 'apt-cache', 'show', '--no-all-versions', 'libmongocxx-doc']
0m14.7s DEBUG: Starting command: ['chroot', '/tmp/tmpy835qd9c', 'eatmydata', 'apt-cache', 'show', '--no-all-versions', 'libmongocxx-noabi-dbgsym']
0m14.9s DUMP:
E: No packages found
0m14.9s DEBUG: Command failed (status=100), but ignoring error: ['chroot', '/tmp/tmpy835qd9c', 'eatmydata', 'apt-cache', 'show', '--no-all-versions', 'libmongocxx-noabi-dbgsym']
0m14.9s DEBUG: Starting command: ['chroot', '/tmp/tmpy835qd9c', 'eatmydata', 'apt-cache', 'show', '--no-all-versions', 'libmongocxx-noabi']
0m15.1s DUMP:
Package: libmongocxx-noabi
Source: mongo-cxx-driver
Version: 4.0.0-1
Installed-Size: 832
Maintainer: Mongo C++ Driver Team <mongo-cxx-driver-debian@googlegroups.com>
Architecture: amd64
Depends: libbson-1.0-0t64 (>= 1.29.0), libbsoncxx-noabi, libc6 (>= 2.14), libgcc-s1 (>= 3.0), libmongoc-1.0-0t64 (>= 1.29.0), libstdc++6 (>= 13.1)
Description: MongoDB C++ client library - runtime files
Description-md5: 23eb0075af7fa0539670453618e1bd01
Homepage: https://mongocxx.org/
Section: libs
Priority: optional
Filename: pool/main/m/mongo-cxx-driver/libmongocxx-noabi_4.0.0-1_amd64.deb
Size: 206244
MD5sum: 394f8b88ca6ae50fab4f267f37c1eda3
SHA256: 71a18a1299dc392a9d3e2156f8f22455972f7936284816e15a6a3ab2dd7d1ae7
0m15.1s DEBUG: Command ok: ['chroot', '/tmp/tmpy835qd9c', 'eatmydata', 'apt-cache', 'show', '--no-all-versions', 'libmongocxx-noabi']
0m15.1s INFO: apt-cache knows about the following packages: libbsoncxx-dev, libbsoncxx-noabi, libmongocxx-dev, libmongocxx-doc, libmongocxx-noabi
0m15.1s INFO: the following packages are not in the archive: libbsoncxx-noabi-dbgsym, libmongocxx-noabi-dbgsym
0m15.1s INFO: Running scripts pre_test
0m15.1s INFO: Running scripts pre_install
0m15.1s DEBUG: Starting command: ['chroot', '/tmp/tmpy835qd9c', 'eatmydata', 'apt-cache', 'policy']
0m15.1s DUMP:
Package files:
100 /var/lib/dpkg/status
release a=now
1 http://deb.debian.org/debian experimental/main amd64 Packages
release o=Debian,a=experimental,n=rc-buggy,l=Debian,c=main,b=amd64
origin deb.debian.org
500 http://deb.debian.org/debian sid/non-free-firmware amd64 Packages
release o=Debian,a=unstable,n=sid,l=Debian,c=non-free-firmware,b=amd64
origin deb.debian.org
500 http://deb.debian.org/debian sid/non-free amd64 Packages
release o=Debian,a=unstable,n=sid,l=Debian,c=non-free,b=amd64
origin deb.debian.org
500 http://deb.debian.org/debian sid/contrib amd64 Packages
release o=Debian,a=unstable,n=sid,l=Debian,c=contrib,b=amd64
origin deb.debian.org
500 http://deb.debian.org/debian sid/main amd64 Packages
release o=Debian,a=unstable,n=sid,l=Debian,c=main,b=amd64
origin deb.debian.org
Pinned packages:
0m15.1s DEBUG: Command ok: ['chroot', '/tmp/tmpy835qd9c', 'eatmydata', 'apt-cache', 'policy']
0m15.1s DEBUG: Starting command: ['chroot', '/tmp/tmpy835qd9c', 'eatmydata', 'apt-cache', 'policy', 'libbsoncxx-dev', 'libbsoncxx-noabi', 'libmongocxx-dev', 'libmongocxx-doc', 'libmongocxx-noabi']
0m15.2s DUMP:
libbsoncxx-dev:
Installed: (none)
Candidate: 4.0.0-1
Version table:
4.0.0-1 1
1 http://deb.debian.org/debian experimental/main amd64 Packages
libbsoncxx-noabi:
Installed: (none)
Candidate: 4.0.0-1
Version table:
4.0.0-1 1
1 http://deb.debian.org/debian experimental/main amd64 Packages
libmongocxx-dev:
Installed: (none)
Candidate: 4.0.0-1
Version table:
4.0.0-1 1
1 http://deb.debian.org/debian experimental/main amd64 Packages
libmongocxx-doc:
Installed: (none)
Candidate: 4.0.0-1
Version table:
4.0.0-1 1
1 http://deb.debian.org/debian experimental/main amd64 Packages
libmongocxx-noabi:
Installed: (none)
Candidate: 4.0.0-1
Version table:
4.0.0-1 1
1 http://deb.debian.org/debian experimental/main amd64 Packages
0m15.2s DEBUG: Command ok: ['chroot', '/tmp/tmpy835qd9c', 'eatmydata', 'apt-cache', 'policy', 'libbsoncxx-dev', 'libbsoncxx-noabi', 'libmongocxx-dev', 'libmongocxx-doc', 'libmongocxx-noabi']
0m15.2s DEBUG: Starting command: ['chroot', '/tmp/tmpy835qd9c', 'eatmydata', 'apt-get', '-y', 'install', 'libbsoncxx-dev', 'libbsoncxx-noabi', 'libmongocxx-dev', 'libmongocxx-doc', 'libmongocxx-noabi']
0m15.5s DUMP:
Reading package lists...
Building dependency tree...
Reading state information...
Solving dependencies...
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:
The following packages have unmet dependencies:
libbsoncxx-noabi : Depends: libbson-1.0-0t64 (>= 1.29.0) but it is not installable
libmongocxx-noabi : Depends: libbson-1.0-0t64 (>= 1.29.0) but it is not installable
Depends: libmongoc-1.0-0t64 (>= 1.29.0) but it is not installable
E: Unable to correct problems, you have held broken packages.
E: The following information from --solver 3.0 may provide additional context:
Unable to satisfy dependencies. Reached two conflicting decisions:
1. libmongocxx-noabi:amd64=4.0.0-1 is selected for install
2. libmongocxx-noabi:amd64 Depends libbson-1.0-0t64 (>= 1.29.0)
but none of the choices are installable:
[no choices]
0m15.5s ERROR: Command failed (status=100): ['chroot', '/tmp/tmpy835qd9c', 'eatmydata', 'apt-get', '-y', 'install', 'libbsoncxx-dev', 'libbsoncxx-noabi', 'libmongocxx-dev', 'libmongocxx-doc', 'libmongocxx-noabi']
Reading package lists...
Building dependency tree...
Reading state information...
Solving dependencies...
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:
The following packages have unmet dependencies:
libbsoncxx-noabi : Depends: libbson-1.0-0t64 (>= 1.29.0) but it is not installable
libmongocxx-noabi : Depends: libbson-1.0-0t64 (>= 1.29.0) but it is not installable
Depends: libmongoc-1.0-0t64 (>= 1.29.0) but it is not installable
E: Unable to correct problems, you have held broken packages.
E: The following information from --solver 3.0 may provide additional context:
Unable to satisfy dependencies. Reached two conflicting decisions:
1. libmongocxx-noabi:amd64=4.0.0-1 is selected for install
2. libmongocxx-noabi:amd64 Depends libbson-1.0-0t64 (>= 1.29.0)
but none of the choices are installable:
[no choices]
All of that said, the mongo-cxx-driver package only exists in experimental. So, I wonder if the archive management software allowed the removal of libbson-1.0-0t64 and libmongoc-1.0-0t64 from unstable as part of the transition because it doesn't consider dependencies originating from experimental.
So, I suppose that it is possible that this is a case of "works as designed" or it is simply a limitation imposed by the way the Debian archive is managed and that debusine simply has to live with it.