<feed xmlns='http://www.w3.org/2005/Atom'>
<title>apt/test/integration/framework, branch 2.2.1</title>
<subtitle>Debians commandline package manager</subtitle>
<id>https://git.kalnischkies.de/apt/atom?h=2.2.1</id>
<link rel='self' href='https://git.kalnischkies.de/apt/atom?h=2.2.1'/>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/'/>
<updated>2021-01-08T13:48:47Z</updated>
<entry>
<title>Add support for Phased-Update-Percentage</title>
<updated>2021-01-08T13:48:47Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>julian.klode@canonical.com</email>
</author>
<published>2020-08-10T18:16:11Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=c5bc86d45e003905ef411146e66b414d26fb1ff8'/>
<id>urn:sha1:c5bc86d45e003905ef411146e66b414d26fb1ff8</id>
<content type='text'>
This adds support for Phased-Update-Percentage by pinning
upgrades that are not to be installed down to 1.

The output of policy has been changed to add the level of
phasing, and documentation has been improved to document
how phased updates work.

The patch detects if it is running in a chroot, and if so, always
includes phased updates, restoring classic apt behavior to avoid
behavioral changes on buildd chroots.

Various options are added to control this all:

* APT::Get::{Always,Never}-Include-Phased-Updates and their legacy
  update-manager equivalents to always or never include phased updates
* APT::Machine-ID can be set to a UUID string to have all machines in a
  fleet phase the same
* Dir::Etc::Machine-ID is weird in that it's default is sort of like
  ../machine-id, but not really, as ../machine-id would look up
  $PWD/../machine-id and not relative to Dir::Etc; but it allows you to
  override the path to machine-id (as opposed to the value)
* Dir::Bin::ischroot is the path to the ischroot(1) binary which is used
  to detect whether we are running in a chroot.
</content>
</entry>
<entry>
<title>Be compatible with Bash</title>
<updated>2020-12-28T23:35:29Z</updated>
<author>
<name>Demi M. Obenour</name>
<email>demiobenour@gmail.com</email>
</author>
<published>2020-12-28T23:35:29Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=cfd62644ec2dda4968ac65751f162932fc46761f'/>
<id>urn:sha1:cfd62644ec2dda4968ac65751f162932fc46761f</id>
<content type='text'>
On many distributions, /bin/sh is Bash.  Bash’s `echo` builtin doesn’t
interpret escape sequences, so most tests fail.  Fix this by removing
the escape sequence.
</content>
</entry>
<entry>
<title>Proper URI encoding for config requests to our test webserver</title>
<updated>2020-12-18T18:02:05Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2020-07-08T15:51:40Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=97be873d782c5e9aaa8b4f4f4e6e18805d0fa51c'/>
<id>urn:sha1:97be873d782c5e9aaa8b4f4f4e6e18805d0fa51c</id>
<content type='text'>
Our http method encodes the URI again which results in the double
encoding we have unwrap in the webserver (we did already, but we skip
the filename handling now which does the first decode).
</content>
</entry>
<entry>
<title>Detect pkg-config-dpkghook failure in tests to avoid fallback</title>
<updated>2020-07-07T17:55:58Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2020-07-07T17:55:58Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=3fe1419433f195d57b948b100b218cf14a2841d0'/>
<id>urn:sha1:3fe1419433f195d57b948b100b218cf14a2841d0</id>
<content type='text'>
dpkg (&gt;= 1.20.3) has better support for its own DPKG_ROOT resulting in
architectures for the root being reported rather than the host system.
Sadly the hookscript from pkg-config is not prepared for this resulting
in our `dpkg --add-architecture` calls failing in the hook after dpkg
has successfully added the architecture internally. The failure
triggered fallback handling in the tests to work with an older version
of dpkg with a different multi-arch implementation.

So instead of doing the fallback, we ignore the failure if it seems like
pkg-config-dpkghook is involved only producing a bunch of warnings
to hint at this problem, but otherwise make the tests work again as it
is a post-invoke script.

References: #824774
</content>
</entry>
<entry>
<title>test: Use valgrind to ensure Acquire::Queue-Mode=access does not crash</title>
<updated>2019-08-15T07:53:41Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>julian.klode@canonical.com</email>
</author>
<published>2019-08-15T07:50:22Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=56820d4c244e896a62f57ff96801dc1283b8b0e2'/>
<id>urn:sha1:56820d4c244e896a62f57ff96801dc1283b8b0e2</id>
<content type='text'>
Unfortunately for us, apt update with Acquire::Queue-Mode=access
does not always crash on a real system, so run the whole thing
in valgrind.
</content>
</entry>
<entry>
<title>Set PATH=/usr/sbin:/usr/bin:/sbin:/bin when running dpkg</title>
<updated>2018-12-10T16:31:24Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>julian.klode@canonical.com</email>
</author>
<published>2018-12-10T15:52:59Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=806e94dcd8dbdf7bf1909657fd4331cfe17b4ab0'/>
<id>urn:sha1:806e94dcd8dbdf7bf1909657fd4331cfe17b4ab0</id>
<content type='text'>
This avoids a lot of problems from local installations of
scripting languages and other stuff in /usr/local for which
maintainer scripts are not prepared.

[v3: Inherit PATH during tests, check overrides work]
[v2: Add testing]
</content>
</entry>
<entry>
<title>Support subkeys properly in Signed-By options</title>
<updated>2018-09-11T11:16:11Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2018-08-17T09:59:45Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=ff8fa4ab4b80384a9240f0df63181f71077a8d83'/>
<id>urn:sha1:ff8fa4ab4b80384a9240f0df63181f71077a8d83</id>
<content type='text'>
If we limit a file to be signed by a certain key it should usually
accept also being signed by any of this keys subkeys instead of
requiring each subkey to be listed explicitly. If the later is really
wanted we support now also the same syntax as gpg does with appending an
exclamation mark at the end of the fingerprint to force no mapping.
</content>
</entry>
<entry>
<title>Unset more environment variables in test framework</title>
<updated>2018-09-11T10:59:01Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2018-09-09T22:00:17Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=a5953d914488c80c28fba6b59d2f0be461cd9f03'/>
<id>urn:sha1:a5953d914488c80c28fba6b59d2f0be461cd9f03</id>
<content type='text'>
It is an uphill battle to "reset" the environment to a clean state
without making it needlessly hard to use 'good' environment variables,
so we just try a little harder here without really trying for
completeness.

Gbp-Dch: Ignore
</content>
</entry>
<entry>
<title>Don't show acquire warning for "hidden" components</title>
<updated>2018-05-28T15:57:25Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2018-05-28T15:02:17Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=484babb7d00f7550cbaa592b7cb0022d38217fad'/>
<id>urn:sha1:484babb7d00f7550cbaa592b7cb0022d38217fad</id>
<content type='text'>
Commit d7c92411dc1f4c6be098d1425f9c1c075e0c2154 introduced a warning for
non-existent files from components not mentioned in Components to hint
users at a mispelling or the disappearance of a component.

The debian-installer subcomponent isn't actively advertised in the
Release file through, so if apt ends up in acquiring a file which
doesn't exist for this component (like Translation files) apt would
produce a warning:

W: Skipping acquire of configured file
'main/debian-installer/i18n/Translation-en' as repository
'http://deb.debian.org/debian buster InRelease' doesn't have the
component 'main/debian-installer' (component misspelt in sources.list?)

We prevent this in the future by checking if any file exists from this
component which results in the warning to be produced still for the
intended cases and silence it on the d-i case.

This could potentially cause the warning not to be produced in cases it
should be if some marginal file remains, but as this message is just a
hint and the setup a bit pathological lets ignore it for now.

There is also the possibility of having no file present as they would
all be 0-length files and being a "hidden" component, but that would be
easy to workaround from the repository side and isn't really actively used
at the moment in the wild.

Closes: #879591
</content>
</entry>
<entry>
<title>tests: Prevent stunnel4 from binding on IPv6</title>
<updated>2018-05-28T15:57:20Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2018-05-26T14:28:03Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=c94988e75ea923afe0daae5747f974927325b186'/>
<id>urn:sha1:c94988e75ea923afe0daae5747f974927325b186</id>
<content type='text'>
Hardcoding the IPv4 address 127.0.0.1 stops stunnel4 from also binding
on IPv6 as well which not only binds on another port but confuses our
crude port extraction by splitting on ':' with ::1.

Gbp-Dch: Ignore
</content>
</entry>
</feed>
