APT

apt:2.4.y

Last commit made on 2024-02-13
Get this branch:
git clone -b 2.4.y https://git.launchpad.net/apt

Branch merges

Branch information

Name:
2.4.y
Repository:
lp:apt

Recent commits

21f77c9... by Julian Andres Klode

Release 2.4.12

fee7ae3... by Julian Andres Klode

For phasing, check if current version is a security update, not just previous ones

We only considered an update a security update if a previous update
is a security update but not the update in question itself.

LP: #2051181

99aec8c... by Julian Andres Klode

Fix the test suite by adding new "m" flags to debug output

In "Restore ?garbage by calling MarkAndSweep before parsing" I
made install code run MarkAndSweep before parsing arguments such
that the "?garbage" pattern works correctly.

This caused test suite breakage because packages now ended up
with marked flags in the debug output. Hence add "m" to the output
we assert where necessary.

In a nicer world we might want to just do MarkAndSweep if we actually
have a ?garbage pattern to evaluate but that is a bit unpredictable
in terms of performance expectations and because a "read-only" construct
modifies the depcache, so let's go with the more expected option for now

Regression-of: b6f362e8013b03efce54e7381e0e22fac1fa1539

1377492... by Julian Andres Klode

Restore ?garbage by calling MarkAndSweep before parsing

This ensures that things work correctly.

LP: #1995790

90bdf8a... by Julian Andres Klode

Release 2.4.11

c75f6a8... by Julian Andres Klode

snapshots: Backport to stable release test suite

This has a /var/lib/dpkg/status that the newer releases don't
seem to have.

57a46ce... by Julian Andres Klode

Fix snapshot crashes

We did not handle multiple components properly, add a contrib
component to the test case.

(cherry picked from commit 5dcb36e7af4bd65211ac4937e5e7feac8c85683c)

51b2ba1... by Julian Andres Klode

Ensure that Snapshots: no doesn't get overriden by host-name config

(cherry picked from commit 4e35e5079f589700b4b5f1fc00787144bc1c58bf)

708b167... by Julian Andres Klode

Seed snapshot servers for well-known hosts

This will attempt to fallback to a per-server setting if we could
not determine a value from the release file.

(cherry picked from commit 48cbc5413fb2a0e490c2282b9df65da96ad7a9f2)

3023024... by Julian Andres Klode

Initial support for snapshot servers, apt --snapshot option

Provide snapshot support for offical Debian and Ubuntu archives.

There are two ways to enable snapshots for sources:

1. Add Snapshot: yes to your sources file ([snapshot=yes]). This
   will allow you to specify a snapshot to use when updating or
   installing using the --snapshot,-S option.

2. Add Snapshot: ID to your sources files to request a specific
   snapshot for this source.

Snapshots are discovered using Label and Origin fields in the Release
file of the main source, hence you need to have updated the source at
least once before you can use snapshots.

The Release file may also declare a snapshots server to use, similar
to Changelogs, it can contain a Snapshots field with the values:

1. `Snapshots: https://example.com/@SNAPSHOTID@` where `@SNAPSHOTID@`
   is a placeholder that is replaced with the requested snapshot id

2. `Snapshots: no` to disable snapshot support for this source.
   Requesting snapshots for this source will result in a failure
   to load the source.

The implementation adds a SHADOWED option to deb source entries,
and marks the main entry as SHADOWED when a snapshot has been
requested, which will cause it to be updated, but not included
in the generated cache.

The concern here was that we need to keep generating the shadowed
entries because the cleanup in `apt update` deletes any files not
queued for download, so we gotta keep downloading the main source.

This design is not entirely optimal, but avoids the pitfalls of
having to reimplement list cleanup.

Gaps:

- Ubuntu Pro repositories and PPAs are not yet supported.

(cherry picked from commit a19f606aad717fe5c9c69237c3af53feb547115e)