Last commit made on 2021-06-14
Get this branch:
git clone -b 2.2.y https://git.launchpad.net/apt

Branch merges

Branch information


Recent commits

d65087d... by Julian Andres Klode

Add (LP: #1931874) bug reference to 2.2.4 changelog

1f89991... by Julian Andres Klode

Release 2.2.4, take 2

014f31c... by David Kalnischkies

URI encode Filename field of Packages files (again)

Keeping URIs encoded in the acquire system depends on having them
encoded in the first place. While many other places got the encoding
2 out of 3 ArchiveURI implementations were missed which are in practice
responsible for nearly all of the URI building, just that index filename
do not contain characters to escape and the Filename fields in Packages
files usually aren't. Usually. Except if you happen to have e.g. an epoch
featuring package with the colon encoded in the filename. On the upside,
in most repositories the epoch isn't part of the filename.

Reported-By: Johannes 'josch' Schauer on IRC
References: e6c55283d235aa9404395d30f2db891f36995c49

aec1df0... by Julian Andres Klode

Release 2.2.4

0bfc3bf... by Julian Andres Klode

Merge branch '2.2.y' into '2.2.y'


See merge request apt-team/apt!174

da4b5ea... by Julian Andres Klode

policy: Apply phasing to uninstalled packages too

If a package is not installed yet, we do need to apply
phasing as we otherwise get into weird situations when
installing packages:

In the launchpad bug below, ubuntu-release-upgrader-core
was installed, and hence the phasing for the upgrade to it
was applied. However, ubuntu-release-upgrader-gtk was about
to be installed - and hence the phasing did not apply, causing
a version mismatch, because ubuntu-release-upgrader-gtk from
-updates was used, but -core from release pocket. Sigh.

An alternative approach to dealing with this issue could be to
apply phasing to all packages within the same source package,
which would work in most cases. However, there might be unforeseen
side effects and it is of course possible to have = depends between
source packages, such as -signed packages on the unsigned ones for

This problem does not occur in the update-manager implementation
of phased updates as update-manager only deals with upgrading packages,
but does not install new packages and thus does not see that issue. APT
however, has to apply phasing more broadly, as you can and often do
install additional packages during upgrade, or upgrade packages during
install commands, as both accept package list arguments and have the
same code in the backend.

LP: #1925745
(cherry picked from commit 81eb944c76d99f34b57d7c3efd283c3ffb6e4c1f)

693603f... by Julian Andres Klode

Turn TLS handshake issues into transient errors

This makes them retriable, and brings them more into line with
TCP, where handshake is also a transient error.

LP: #1928100
(cherry picked from commit 2129ffecc084ca772af75418225c5551631e6278)

b94bf14... by Brian Murray

Fix a typo in json-hooks-protocol.md

(cherry picked from commit 289b7d2e8c8fb1ee4d5ef67a57ca74ce6f19b727)

c773696... by Julian Andres Klode

test/json: Make the test hook more reliable

Ugh, this was super flaky under -j 16 and -j 4, each behaving
in slightly different ways. This seems to be stable now. No
real bug though, all behaviors were OK.

(cherry picked from commit 329f0cc3654f8d13bbaff71cc400cb9c4154ad53)

3097921... by Julian Andres Klode

Avoid infinite loop on EOF on media change prompt

The code missed a break, so it was looping infinitely because
the while loop condition only checked for '\n' and '\r', but not
end of file.

(cherry picked from commit 94cf53979640ff8a29d445a2b056a6b17c7b3e49)