[SRU] apt snapshot integration backport
Affects | Status | Importance | Assigned to | Milestone | ||
---|---|---|---|---|---|---|
Ubuntu Pro | Status tracked in 18.04 | |||||
18.04 |
Triaged
|
Undecided
|
Unassigned | |||
apt (Ubuntu) | Status tracked in Mantic | |||||
Bionic |
Won't Fix
|
Undecided
|
Unassigned | |||
Focal |
Fix Committed
|
Undecided
|
Unassigned | |||
Jammy |
Fix Committed
|
Undecided
|
Unassigned | |||
Lunar |
Won't Fix
|
Undecided
|
Unassigned | |||
Mantic |
Fix Released
|
Undecided
|
Unassigned |
Bug Description
[Impact]
The snapshot service provides users access to older states of the archive with ease of use, and enables a consistent user experience across all supported releases, as otherwise users would have to rewrite their sources.list to make use of snapshots and set up pinning; hence partners requested the feature be SRUed to older releases as well.
[Test plan]
The complete regression test suite in autopkgtests includes an automatic test case for this and the known limitations that have been fixed. Aside from that, it is also worthwhile to do an end-to-end test:
Configure snapshot=yes for Ubuntu sources in your sources.list and
1. run apt update - it should not use snapshot
2. run apt update --snapshot 20231001T000000Z, it should download the snapshot
3. run apt policy --snapshot 20231001T000000Z hello, it should show hello in the snapshot
4. run apt install --snapshot 20231001T000000Z hello, it should install hello from the snapshot
5. Run apt update; observe snapshot not being downloaded
6. Observe snapshots are gone from /var/lib/apt/lists again
[Where problems could occur]
The integration has been purposefully limited in how it works to reduce the impact it has on the APT code; hence it was possible to cherry-pick this into 22.04, 20.04, and even 18.04, with only a minor editorial change. This significantly limits the risk.
This feature is only enabled for sources with snapshot=yes (.list) or Snapshot: yes (.sources) or other truthy values apt recognizes. Most users will not have such entries as they did not have an APT supporting it.
This combined should ensure that users do not experience any regressions. However the feature may be lacking in some ways that we may want to address in follow up SRUs; it has not been used in the wild a lot.
Changed in apt (Ubuntu Mantic): | |
status: | New → Fix Released |
Changed in apt (Ubuntu Lunar): | |
status: | New → Won't Fix |
description: | updated |
description: | updated |
Changed in apt (Ubuntu Bionic): | |
status: | New → Won't Fix |
description: | updated |
description: | updated |
Changed in apt (Ubuntu Jammy): | |
status: | Confirmed → In Progress |
Changed in apt (Ubuntu Focal): | |
status: | Confirmed → In Progress |
Status changed to 'Confirmed' because the bug affects multiple users.