<feed xmlns='http://www.w3.org/2005/Atom'>
<title>apt/test/integration/framework, branch 2.3.8</title>
<subtitle>Debians commandline package manager</subtitle>
<id>https://git.kalnischkies.de/apt/atom?h=2.3.8</id>
<link rel='self' href='https://git.kalnischkies.de/apt/atom?h=2.3.8'/>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/'/>
<updated>2021-06-10T14:38:09Z</updated>
<entry>
<title>Give our test packages proper size information</title>
<updated>2021-06-10T14:38:09Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2021-06-10T14:38:09Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=18140e1db1c386a8c6da004956ae8a96152de4d1'/>
<id>urn:sha1:18140e1db1c386a8c6da004956ae8a96152de4d1</id>
<content type='text'>
Temporary hacks should be temporary, especially if they hide bugs. After
fixing one in the previous commit this is just busy work to add download
information to the places which check that output.

Gbp-Dch: Ignore
</content>
</entry>
<entry>
<title>Do not use filename of local sources in 'apt download'</title>
<updated>2021-06-04T14:45:02Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2021-06-04T12:15:46Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=ba18c4323ecbc66e6a1e3fedae60721f9c5701b1'/>
<id>urn:sha1:ba18c4323ecbc66e6a1e3fedae60721f9c5701b1</id>
<content type='text'>
If a source is not copying files to the destination the download code
forces the copy – which in practice are local repositories accessed
via file:/ – but in that process takes the filename the local repo used
rather than the filename it e.g. advertised via --print-uris.

A local repository could hence override a file in the current directory
if you use 'apt download', which is a rather weak ability, but still.
</content>
</entry>
<entry>
<title>Error on packages without a Size field (option Acquire::AllowUnsizedPackages)</title>
<updated>2021-04-13T14:00:41Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>julian.klode@canonical.com</email>
</author>
<published>2021-04-09T16:16:10Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=1412cf51403286e9c040f9f86fd4d8306e62aff2'/>
<id>urn:sha1:1412cf51403286e9c040f9f86fd4d8306e62aff2</id>
<content type='text'>
Repositories without Size information for packages are not
proper and need fixing. This ensures people see an error in
CI, and get notifications and hence the ability to fix it.

It can be turned off by setting Acquire::AllowUnsizedPackages
to true.
</content>
</entry>
<entry>
<title>Rename pdiff merge patches only after they are all downloaded</title>
<updated>2021-03-07T01:55:07Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2021-03-06T18:55:09Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=246f66561e23911b9615bd337b3b6f6f25b6cd31'/>
<id>urn:sha1:246f66561e23911b9615bd337b3b6f6f25b6cd31</id>
<content type='text'>
The rred method expects the patches to have a certain name, which we
have to rename the file to before calling the method, but by delaying
the rename we ensure that if the download of one of them fails and a
successful fallback occurs they are all properly cleaned up as no longer
useful while in the error case the next apt run can potentially pick
them up as already downloaded.

Our test-pdiff-usage test was encountering this every other run, but did
not fail as the check for unaccounted files in partial/ was wrapped
in a subshell so that the failure produced failing output, but did not
change the exit code.
</content>
</entry>
<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>
</feed>
