Activity log for bug #2048529

Date Who What changed Old value New value Message
2024-01-08 13:03:01 Christian Ehrhardt  bug added bug
2024-01-09 12:16:37 Christian Ehrhardt  attachment added lost-on-upgrade-do-release-upgrade.txt https://bugs.launchpad.net/ubuntu/+source/libvirt/+bug/2048529/+attachment/5737776/+files/lost-on-upgrade-do-release-upgrade.txt
2024-01-09 12:16:53 Christian Ehrhardt  attachment added lost-on-upgrade-apt-upgrade.txt https://bugs.launchpad.net/ubuntu/+source/libvirt/+bug/2048529/+attachment/5737777/+files/lost-on-upgrade-apt-upgrade.txt
2024-01-09 12:24:50 Christian Ehrhardt  bug task added ubuntu-release-upgrader (Ubuntu)
2024-01-09 12:24:55 Christian Ehrhardt  libvirt (Ubuntu): status New Incomplete
2024-01-09 13:21:14 Christian Ehrhardt  ubuntu-release-upgrader (Ubuntu): status New Incomplete
2024-01-09 13:21:17 Christian Ehrhardt  libvirt (Ubuntu): importance Undecided Medium
2024-01-09 13:21:19 Christian Ehrhardt  libvirt (Ubuntu): importance Medium Low
2024-01-09 13:21:20 Christian Ehrhardt  ubuntu-release-upgrader (Ubuntu): importance Undecided Low
2024-01-10 08:16:13 Christian Ehrhardt  summary Do we need to keep libvirt-bin forever? Is do-release-upgrade too aggressively removing transitionals?
2024-01-10 08:28:06 Christian Ehrhardt  description # History In debian/1.2.10-1 7ca6a8a libvirt-bin was changed to be a transitional. This will need to be retained until an LTS change happens so for Ubuntu this was kept and up until Xenial libvirt-bin was a package with content. Then it followed Debian Later in yakkety yak and later it got changed to be a transitional in 1.3.1-2 Since we'd need to wait for an Ubuntu LTS 1.3.3-2ubuntu1 kept libvirt-bin (the transitional) around this stayed another while. Then post Bionic we dropped even that and libvirt-bin was no more (no package, no transitional, no nothing). # Problem This is kind of how transitions work, but now we've got a report that if people installed e.g. on Xenial and just `apt install libvirt-bin` to get virsh and other things back then. And upgrade through to e.g. focal or even later - they got the replacement packages like `libvirt-clients` removed (presumably as nothing depended on it anymore). TODO: This history is a bit convoluted as the timing was so different due to waiting until after LTSes. But we need to: 1. Install xenial, install libvirt-bin, do-release-upgrade through to Jammy, check if libvirt-clients is still around or not. 2. if not, then this is a bug and we need to find how to avoid. Potentially this is needed in all >Bionic and need to retain the libvirt-bin transitional forever? This feels so worng, with a deeper look I hope we can find what is actually going on and find a better solution. P.S. original reporter is Mmike on #ubuntu-server in IRC It seems do-release-upgrade on long term multiple upgrades might unintentionally remove things a bit too aggressive if they have changed to be transitionals. Example Scenario: - LTS = src:foo v1 creates package bin:bar v1 - LTS+1 = src:foo v2 creates transitional:bar v2 depending on bin:newbar v2 - LTS+2 = src:foo v3 no more creates the transitional:bar Expectation: - LTS -> LTS+1 switches to transitional:bar v2 which pulls in bin:newbar - LTS+1 -> LTS+2 keeps transitional:bar v2 around pulling in bin:newbar still - apt dist-upgrade (even with apt autoremove) behaves this way What happens: - LTS -> LTS+1 switches to transitional:bar v2 which pulls in bin:newbar v2 - LTS+1 -> LTS+2 suggests to remove transitional:bar v2 in the section "Remove (was auto installed)" - If "y" is given, then the former functionality stops working To be fair, all of this is behind a question, with a default not to do so, like: ``` 39 packages are going to be removed. ... Continue [yN] ``` Question to update-release-manager: - Is this intentionally more aggressive than dist-upgrade + autoremove? - If so, what should packages or admins do to avoid that (other than saying "n" at the "Remove (was auto installed)" question? ---------- ### This was initially reported and checked for libvirt (below) but should be a generic behavior ### # History In debian/1.2.10-1 7ca6a8a libvirt-bin was changed to be a transitional. This will need to be retained until an LTS change happens so for Ubuntu this was kept and up until Xenial libvirt-bin was a package with content. Then it followed Debian Later in yakkety yak and later it got changed to be a transitional in 1.3.1-2 Since we'd need to wait for an Ubuntu LTS 1.3.3-2ubuntu1 kept libvirt-bin (the transitional) around this stayed another while. Then post Bionic we dropped even that and libvirt-bin was no more (no package, no transitional, no nothing). # Problem This is kind of how transitions work, but now we've got a report that if people installed e.g. on Xenial and just `apt install libvirt-bin` to get virsh and other things back then. And upgrade through to e.g. focal or even later - they got the replacement packages like `libvirt-clients` removed (presumably as nothing depended on it anymore). TODO: This history is a bit convoluted as the timing was so different due to waiting until after LTSes. But we need to: 1. Install xenial, install libvirt-bin, do-release-upgrade through to Jammy, check if libvirt-clients is still around or not. 2. if not, then this is a bug and we need to find how to avoid. Potentially this is needed in all >Bionic and need to retain the libvirt-bin transitional forever? This feels so worng, with a deeper look I hope we can find what is actually going on and find a better solution. P.S. original reporter is Mmike on #ubuntu-server in IRC
2024-01-10 08:28:09 Christian Ehrhardt  ubuntu-release-upgrader (Ubuntu): status Incomplete New