[08:13] <juliank> I'd be inclined to believe there's a packaging bug here somewhere https://bugs.launchpad.net/ubuntu/+source/apt/+bug/2025462
[08:13] -ubottu:#ubuntu-desktop- Launchpad bug 2025462 in apt (Ubuntu) "Apt deletes ubuntu-desktop during dist-upgrade" [Undecided, Incomplete]
[08:14] <juliank> it's really hard to figure out why gnome-shell was removed to upgrade gnome-shell-common
[08:16] <juliank> I think I see what's going on
[08:17] <juliank> The only reasonable explanation I can come up with is that the bumped mutter dependency and a phasing mismatch caused new gnome-shell versions to be uninstallable because they depend on not-yet-phased mutter
[08:18] <juliank> so apt calculates to upgrade gnome-shell and mutter, but then undoes all the upgrade paths involving mutter, but the gnome-shell-common upgrade path remains valid
[08:19] <juliank> so now we remain with gnome-shell-common marked for upgrade and the 2nd stage solver removes all the other packages to do it
[08:19] <juliank> but can't validate those assumptions really
[08:21] <juliank> Presumably we should mark ubuntu-desktop-minimal as Protected: yes so that apt treats it like Essential when it is installed and doesn't allow removing it
[08:23] <juliank> I still believe apt should not be suggesting removals at all unless caused by Conflicts+Replaces but that's a different more complex topic
[08:25] <juliank> There's a bit of a catch-22, apt remove <meta package> removes the meta package and keeps dependencies automatically installed (they'll be up for autoremoval), whereas removing a metapackage due to dependency conflicts will result in the dependencies inherting the manual bit from the metapackage
[08:26] <juliank> Oh I believe that this is in fact a regression from bug https://bugs.launchpad.net/ubuntu/+source/python3.10/+bug/1990586
[08:26] -ubottu:#ubuntu-desktop- Launchpad bug 1990586 in python3.10 (Ubuntu) "22.04: python3* mismatched phasing breaks dist-upgrades" [Critical, Fix Released]
[08:36] <juliank> Now I think I have a fix for apt dist-upgrade
[08:36] <juliank> I just need to write a test case
[08:37] <juliank> So what the fix for the other bug did was: (1) mark phased updates as kept back (2) do normal upgrade (3) mark for keep back again (4) resolve by any means necessary
[08:37] <juliank> now: (1) do normal upgrade (2) resolve by any means necessary (3) revert anything dependending on phasing
[08:41] <juliank> It regresses another issue
[08:47] <juliank> Oh this also implies that held packages can cause removals rather than held back upgrades
[08:55] <juliank> phased updates are rocket surgery, lol
[09:30] <juliank> So if anyone sees to see the effort it took, the fix for this is in https://salsa.debian.org/apt-team/apt/-/merge_requests/299
[09:30] -ubottu:#ubuntu-desktop- Merge 299 in apt-team/apt "Revert phased updates using keeps only" [Opened]
[09:34] <laney> good work juliank
[09:55] <juliank> thanks laney 
[09:56] <seb128> juliank, thanks for investigating and providing us the details!
[09:59] <juliank> seb128: So what this means if there's a gnome-shell+mutter SRU in the next 3 weeks or so (while apt update rolls out), we must make sure we don't release gnome-shell before mutter is fully phased
[10:00] <seb128> right, that's something you should probably mention to the SRU team on #ubuntu-release
[10:00] <juliank> it's probably something that needs to go into a gnome-shell SRU bug, if any
[10:00] <juliank> I don't think SRU team has a notes document :D
[10:13] <seb128> having them aware that it is an issue helps though
[10:28] <juliank> seb128: I have notified. I now have also noticed that the same issue happens if you mark mutter for hold, that also causes gnome-shell to be removed, sigh. Fixing that is near impossible as the holds are applied at a much earlier state and affect dependency resolution (apt will pick different solutions if something is on hold, e.g. b in x depends a|b  if a is held rather than keep back x)
[10:29] <juliank> I think ultimately I probably should go ahead with my plan to make the apt resolver dumber and not remove stuff due to broken depends
[11:19] <seb128> ack
[11:36] <jbicha> I added a warning to the open jammy gnome-shell SRU bug. btw I believe the SRU team does use a trello board to coordinate their work
[11:40] <ricotz> hello desktopers!
[11:44] <jbicha> good morning