<feed xmlns='http://www.w3.org/2005/Atom'>
<title>apt/apt-pkg, branch 3.1.12</title>
<subtitle>Debians commandline package manager</subtitle>
<id>https://git.kalnischkies.de/apt/atom?h=3.1.12</id>
<link rel='self' href='https://git.kalnischkies.de/apt/atom?h=3.1.12'/>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/'/>
<updated>2025-11-10T10:33:07Z</updated>
<entry>
<title>weakptr: Simplify destructor to use range-based for</title>
<updated>2025-11-10T10:33:07Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>jak@debian.org</email>
</author>
<published>2025-11-07T06:32:33Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=50be87de727141d16d9f4f4907d631161d2d1032'/>
<id>urn:sha1:50be87de727141d16d9f4f4907d631161d2d1032</id>
<content type='text'>
Explicit iterators considered harmful :)
</content>
</entry>
<entry>
<title>Correctly copy provided version in m-a lazy-init</title>
<updated>2025-11-10T10:01:02Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>jak@debian.org</email>
</author>
<published>2025-11-10T09:41:20Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=2f4299bf39c85b694876cb8030fae0887e8b5edc'/>
<id>urn:sha1:2f4299bf39c85b694876cb8030fae0887e8b5edc</id>
<content type='text'>
When a provides was copied, we inadvertently copied the package
version instead of the provided version. Copy the provided version
instead.

Closes: #1120463
</content>
</entry>
<entry>
<title>Revert "depcache: Allow changing multi-arch versions for removed siblings"</title>
<updated>2025-10-26T08:31:20Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>jak@debian.org</email>
</author>
<published>2025-10-26T08:14:20Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=22786e32b613518ae3a5cd07e9e2f1419b2c6552'/>
<id>urn:sha1:22786e32b613518ae3a5cd07e9e2f1419b2c6552</id>
<content type='text'>
This reverts commit 74636b64a7ee56637a3ce4ddc1d060ca9f8b77e1.

Adjust the test case accordingly, as it is no longer possible to
install libgcc-s1:s390x. We need to sort this out in the ToDepCache
translation layer at a later time.

Sadly the depcache rejects valid solutions like this; solving this
isn't trivial. Technically we need to split up the FromUser and
auto-bit handling to solve this, but even then, MarkDelete() with
FromUser=0 moves the auto-bit on metapackages; this doesn't happen
when doing FromUser=1, so we can't always do FromUser=1.

Fixes: a3fca052ca21ad222ac7f2fdd7f3fe84b44beb60
</content>
</entry>
<entry>
<title>solver3: Allow removing manually installed packages</title>
<updated>2025-10-25T20:16:54Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>jak@debian.org</email>
</author>
<published>2025-10-25T19:31:34Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=a3fca052ca21ad222ac7f2fdd7f3fe84b44beb60'/>
<id>urn:sha1:a3fca052ca21ad222ac7f2fdd7f3fe84b44beb60</id>
<content type='text'>
</content>
</entry>
<entry>
<title>solver3: Do not lose notion that we backtracked</title>
<updated>2025-10-25T20:16:54Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>jak@debian.org</email>
</author>
<published>2025-10-25T19:25:23Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=8cd4bd5f708b69d536395675da4fce18d7f9c3f3'/>
<id>urn:sha1:8cd4bd5f708b69d536395675da4fce18d7f9c3f3</id>
<content type='text'>
Record a silly string if we backtracked such that we are aware
of it. We need to handle this in a broader fashion, but
this was at least breaking test-apt-never-markauto-sections
with remove-manual

LP: #2129819
</content>
</entry>
<entry>
<title>depcache: Allow changing multi-arch versions for removed siblings</title>
<updated>2025-10-25T20:16:54Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>jak@debian.org</email>
</author>
<published>2025-10-25T19:24:10Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=74636b64a7ee56637a3ce4ddc1d060ca9f8b77e1'/>
<id>urn:sha1:74636b64a7ee56637a3ce4ddc1d060ca9f8b77e1</id>
<content type='text'>
Do not prevent us from changing the version of a foreign package
because a sibling that is being removed has a different candidate.
</content>
</entry>
<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>Move split() to APT::String::Split()</title>
<updated>2025-10-25T18:42:14Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>jak@debian.org</email>
</author>
<published>2025-07-28T10:06:00Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=50d8703c785898d06463513896e37cbe7cedd471'/>
<id>urn:sha1:50d8703c785898d06463513896e37cbe7cedd471</id>
<content type='text'>
This splits based upon contiguous whitespace as separators
</content>
</entry>
<entry>
<title>solver3: Eagerly satisfy previously satisfied Recommends</title>
<updated>2025-10-25T16:10:32Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>jak@debian.org</email>
</author>
<published>2025-10-07T19:49:44Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=ffc9001b513606869c3cf94fb85a792503974d1f'/>
<id>urn:sha1:ffc9001b513606869c3cf94fb85a792503974d1f</id>
<content type='text'>
When a user ran `apt install gpg`, the solver decided to remove
`gnupg` and `seahorse` because `seahorse` was only pulled in as
a Recommends of ubuntu-desktop and Recommends were resolved after
all other dependencies.

Solve this to most extent by introducing eager optionality: These
dependencies, while they do not take part in classic unit propagation,
are otherwise treated like hard dependencies and resolved as soon
as possible rather than after any hard dependencies.

This ensures that the Recommends of ubuntu-desktop on seahorse
is retained correctly, and as a result, gnupg is updated to the
latest version.

Oops: 6c8e32eb-665d-11f0-a985-fa163ec8ca8c
</content>
</entry>
<entry>
<title>configuration: Add MoveSubTree with overwrite=false</title>
<updated>2025-10-25T14:58:07Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>jak@debian.org</email>
</author>
<published>2025-10-06T20:27:27Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=2e1243e3f582b1a68ac3fb313364a93128a3f918'/>
<id>urn:sha1:2e1243e3f582b1a68ac3fb313364a93128a3f918</id>
<content type='text'>
</content>
</entry>
</feed>
