Breaks: phased-dep (<< phasing version) removes phased-dep

Bug #2098140 reported by Julian Andres Klode
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
apt (Ubuntu)
Triaged
Medium
Unassigned
Jammy
New
Undecided
Unassigned
Noble
New
Undecided
Unassigned
Oracular
Won't Fix
Undecided
Unassigned
Plucky
Won't Fix
Medium
Unassigned
update-manager (Ubuntu)
New
Undecided
Unassigned
Focal
New
Undecided
Unassigned
Jammy
Won't Fix
Undecided
Unassigned
Noble
Won't Fix
Undecided
Unassigned
Oracular
Won't Fix
Undecided
Unassigned
Plucky
Won't Fix
Undecided
Unassigned

Bug Description

[Impact]
If two intertwined updates are being released, call them "breaks-phased-dep" and "phased-dep", version 2; both are installed in version 1; and "breaks-phased-dep" is available to install (e.g. fully phased), then `apt full-upgrade/dist-upgrade` will remove "phased-dep" to install "breaks-phased-dep".

The expected behavior is that "breaks-phased-dep" is kept back as the new version of the dependency is not yet ready.

[Test plan]
Regression test suite, with the addition of new test:

# Test case breaks-phased-dep: A released update breaks installed version of phased-dep
insertinstalledpackage 'phased-dep' 'all' '1'
insertinstalledpackage 'breaks-phased-dep' 'all' '1'
insertpackage 'unstable-updates' 'breaks-phased-dep' 'all' '3' 'Breaks: phased-dep (<< 3)'
insertpackage 'unstable-updates' 'phased-dep' 'all' '3' 'Phased-Update-Percentage: 0'
setupaptarchive

testsuccessequal "Reading package lists...
Building dependency tree...
Calculating upgrade...
The following packages have been kept back:
  breaks-phased-dep
0 upgraded, 0 newly installed, 0 to remove and 1 not upgraded." aptget dist-upgrade

[Where problems could occur]
here be dragons

[Details]
This should also affect the original implementation in update-manager. Basically both implementations work by first calculating the full upgrade, and then reverting any upgrades to phased packages using MarkKeep.

However; in case of a Breaks, the phased package at this point is marked "remove" and not "upgrade", so the keep back logic does not trigger.

Changed in apt (Ubuntu):
status: New → Triaged
importance: Undecided → Medium
description: updated
no longer affects: apt (Ubuntu Focal)
Revision history for this message
Julian Andres Klode (juliank) wrote :

update-manager has the code everywhere, but starting from jammy, apt is already keeping back phased updates, so it should not be triggered anymore (just nobody removed the duplicated logic :D)

Changed in update-manager (Ubuntu Jammy):
status: New → Won't Fix
Changed in update-manager (Ubuntu Noble):
status: New → Won't Fix
Changed in update-manager (Ubuntu Oracular):
status: New → Won't Fix
Changed in update-manager (Ubuntu Plucky):
status: New → Won't Fix
Revision history for this message
Ural Tunaboyu (uralt) wrote :

Ubuntu 24.10 (Oracular Oriole) has reached end of life, so this bug will not be fixed for that specific release.

Changed in apt (Ubuntu Oracular):
status: New → Won't Fix
Revision history for this message
Utkarsh Gupta (utkarsh) wrote :

Ubuntu 25.04 (Plucky Puffin) has reached end of life, so this bug will not be fixed for that specific release.

Changed in apt (Ubuntu Plucky):
status: Triaged → Won't Fix
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.