Bug #11673
Updated by Nathan Cutler almost 9 years ago
I recently moved @ceph-objectstore-tool@ from the "ceph-test" package Debian's debug packages ought to the main "ceph" package, in ticket #11376. Soon after this was completed, our upgrade test suites began to fail when apt updated ceph-dbg. As one example: http://pulpito.ceph.com/teuthology-2015-05-15_17:18:01-upgrade:firefly-x-hammer-distro-basic-vps/894814/ <pre> 2015-05-15T18:51:18.423 INFO:teuthology.orchestra.run.burnupi49.stderr:dpkg: error processing archive /var/cache/apt/archives/ceph-dbg_0.94.1-111-gb69fb89-1trusty_amd64.deb (--unpack): 2015-05-15T18:51:18.423 INFO:teuthology.orchestra.run.burnupi49.stderr: trying to overwrite '/usr/lib/debug/usr/bin/ceph-objectstore-tool', which is also in package ceph-test-dbg 0.80.9-242-g7d11b19-1trusty 2015-05-15T18:51:18.552 INFO:teuthology.orchestra.run.burnupi49.stderr:dpkg-deb: error: subprocess paste was killed by signal (Broken pipe) </pre> Ordinarily this would have been addressed by the following dependency chain: # apt-get updates "ceph" to a newer version with @objectstore-tool@ present. # With the @Replaces:@ and @Breaks:@" changes in #11376, the new "ceph" .deb depends on a newer version of "ceph-test" with the @objectstore-tool@ removed, so apt updates that as well. # The dbg packages depend on their respective binary packages. This was the newer versions case for many of our ceph and ceph-test, so apt updates them as well. The problem is with that third step. This Teuthology test uncovered the fact that ceph-test-dbg did not have a specific dependency on ceph-test. When apt updated ceph-test, packages, but it did was not know it also needed to update the case for ceph-test-dbg as well. or rest-bench-dbg. The explicit Add the dependencies between -dbg packages and main subpackages are already present for a lot of on the ceph packages that we ship (like ceph itself with ceph-dbg, or ceph-mds and ceph-mds-dbg, etc), but two newer subpackages are missing the explicit dependency: ceph-test-dbg and rest-bench-dbg. relevant binary packages, pinned to "= ${binary:Version}" per convention.