<feed xmlns='http://www.w3.org/2005/Atom'>
<title>apt/apt-pkg/tagfile-keys.list, branch 3.3.1</title>
<subtitle>Debians commandline package manager</subtitle>
<id>https://git.kalnischkies.de/apt/atom?h=3.3.1</id>
<link rel='self' href='https://git.kalnischkies.de/apt/atom?h=3.3.1'/>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/'/>
<updated>2025-10-25T18:42:14Z</updated>
<entry>
<title>Implement architecture variants</title>
<updated>2025-10-25T18:42:14Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>julian.klode@canonical.com</email>
</author>
<published>2025-01-07T16:39:32Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=9d62eef571ffd1fd2df8b97884d3689fced27fb1'/>
<id>urn:sha1:9d62eef571ffd1fd2df8b97884d3689fced27fb1</id>
<content type='text'>
Architecture variants are children of an architecture that share
the same ABI but are optimized for different ISA levels. They
are available in Ubuntu 25.10 and newer, and not supported in
Debian or other distributions.

A deb built for a variant contains the Architecture-Variant field,
and the Architecture field points to the baseline, for example:

    Architecture: amd64
    Architecture-Variant: amd64v3

However, the apt-get indextargets command reports the variant in the
Architecture: field, and most of the code in APT presents the variant
as the architecture.

There are two types of variants:

1. Standalone variants are recorded in the Architectures field of the
   Release file as if they were a real architecture:

        Architectures: amd64 amd64v3

   Standalone architecture variants only fetch the standalone
   architecture variant's Packages file. To do this, this patch
   changes the code such that the variants indextargets "supplant"
   the base targets.

   This may have complicated outcomes on the apt-get indextargets
   command.

2. Other variants can only be identified by their files being recorded
   with hashes in the Release file.

   APT fetches both the base architecture's as well as the variant's
   Packages file.

Variants are configured in the

    APT::Architecture-Variants

list.

Image builders may want to build specific variant images using

    APT::Architecture-Variants { "amd64v3"; }

But this commit also implements an automatic discovery mechanism
using the varianttable and /proc/cpuinfo.

    APT::Architecture-Variants "auto";
</content>
</entry>
<entry>
<title>edsp: Parse source version from the Source-Version field</title>
<updated>2024-05-30T07:53:08Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>julian.klode@canonical.com</email>
</author>
<published>2024-05-30T07:51:13Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=c79bf305f6c3ba92972cd9c39f8d28c396c63bc4'/>
<id>urn:sha1:c79bf305f6c3ba92972cd9c39f8d28c396c63bc4</id>
<content type='text'>
EDSP uses the Source-Version field instead of storing the source
version in the Source field with the package name, adjust our
parser accordingly.

Use the override in the edspLikeListParser to do so rather than
dumb this into the correct place in the debListParser.
</content>
</entry>
<entry>
<title>Drop support for long obsoleted Suggests alias: Optional</title>
<updated>2022-04-01T12:16:15Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2022-03-28T13:25:36Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=7b8da771e2061462b9196f38366c34e4f919d0df'/>
<id>urn:sha1:7b8da771e2061462b9196f38366c34e4f919d0df</id>
<content type='text'>
dpkg-dev stopped recognizing it in 2007 (1.14.7) while building packages.
The rename itself happened in 1995 (0.93.72).
</content>
</entry>
<entry>
<title>Document tagfile-keys.h as internal to apt</title>
<updated>2022-04-01T12:15:26Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2022-03-28T13:19:11Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=f6438ea9e726a1c13ce8d90ac78cc272346ab0f8'/>
<id>urn:sha1:f6438ea9e726a1c13ce8d90ac78cc272346ab0f8</id>
<content type='text'>
The previous regime of the file was to sort it on insert, but that
changes the values in the generated enum, which is fine as long as we
only use it in libapt itself, but breaks on other users.

The header was always intended to be private to apt itself, so we just
document this here now and lay the ground work to have the file in the
future only appended to, so that it remains sufficiently ABI stable that
we can use it outside the library in our apt tools.

We also remove some fields apt is unlikely to need or only uses in
certain cases outside of any (speed) critical path to have enough room
to add more fields soon as currently we are limited to 128 fields max
and it would be sad if we use up that allowance entirely already.
</content>
</entry>
<entry>
<title>Recognize Static-Built-Using and order it below Built-Using</title>
<updated>2022-04-01T09:44:17Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2022-03-26T10:29:12Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=889462ec33480940a355589b0ae57987f17a86e2'/>
<id>urn:sha1:889462ec33480940a355589b0ae57987f17a86e2</id>
<content type='text'>
dpkg added a new field (see there for details) which breaks our
testcases due to an unknown field. apt doesn't make use of the field,
but we can at least order it nicely in output we generate.

References: dpkg commit 16c412439c5eac5f32930946df9006dfc13efc02
Closes: #1008759
</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>Add basic support for the Protected field</title>
<updated>2020-06-29T15:32:17Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>julian.klode@canonical.com</email>
</author>
<published>2020-06-29T15:31:06Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=ddd8fc3d28cd8e668868158049ced7fa3c8c71b8'/>
<id>urn:sha1:ddd8fc3d28cd8e668868158049ced7fa3c8c71b8</id>
<content type='text'>
This will be mapped to Important for the time being.
</content>
</entry>
<entry>
<title>Fix testsuite for and add new fields from dpkg 1.19</title>
<updated>2017-10-20T21:40:53Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>jak@debian.org</email>
</author>
<published>2017-10-20T21:37:36Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=404dececf913d3c09368a73ca00aa8172dbf6865'/>
<id>urn:sha1:404dececf913d3c09368a73ca00aa8172dbf6865</id>
<content type='text'>
tagfile-order.c: Add missing fields from dpkg 1.19

For binary packages, this is Build-Essential; for source packages,
it is Description.

test-bug-718329-...: Ignore control.tar.*, changes in dpkg 1.19

test-apt-extracttemplates: Fix for dpkg 1.19
</content>
</entry>
<entry>
<title>TagSection: Introduce functions for looking up by key ids</title>
<updated>2016-11-22T21:57:46Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>jak@debian.org</email>
</author>
<published>2016-09-27T15:32:24Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=abfd07702c1bbc3ed489d015b43db58ab677af0c'/>
<id>urn:sha1:abfd07702c1bbc3ed489d015b43db58ab677af0c</id>
<content type='text'>
Introduce a new enum class and add functions that can do a lookup
with that enum class. This uses triehash.
</content>
</entry>
</feed>
