<feed xmlns='http://www.w3.org/2005/Atom'>
<title>apt/cmdline, branch 3.1.13</title>
<subtitle>Debians commandline package manager</subtitle>
<id>https://git.kalnischkies.de/apt/atom?h=3.1.13</id>
<link rel='self' href='https://git.kalnischkies.de/apt/atom?h=3.1.13'/>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/'/>
<updated>2026-01-05T21:20:24Z</updated>
<entry>
<title>solver3: Extract DependencySolver</title>
<updated>2026-01-05T21:20:24Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>jak@debian.org</email>
</author>
<published>2025-12-22T21:33:12Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=e92750f895af0e957d297c17149878235467cca1'/>
<id>urn:sha1:e92750f895af0e957d297c17149878235467cca1</id>
<content type='text'>
Extract almost all dependency logic into a subclass
</content>
</entry>
<entry>
<title>solver3: Refactor to use a namespace</title>
<updated>2026-01-05T21:20:24Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>jak@debian.org</email>
</author>
<published>2025-12-22T21:12:33Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=59b8099d79b5e103585b66279f191f4cb421a770'/>
<id>urn:sha1:59b8099d79b5e103585b66279f191f4cb421a770</id>
<content type='text'>
This removes the need for the forward references, thus fixing part
of the libc++ issues pointed out in [merge-511].

[merge-511] https://salsa.debian.org/apt-team/apt/-/merge_requests/511/diffs
</content>
</entry>
<entry>
<title>fix compiling with musl</title>
<updated>2025-10-06T15:27:14Z</updated>
<author>
<name>Gyorgy Sarvari</name>
<email>skandigraun@gmail.com</email>
</author>
<published>2025-08-30T16:51:20Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=4aa4fcfa83a7866ce1868465b473239326f92c7c'/>
<id>urn:sha1:4aa4fcfa83a7866ce1868465b473239326f92c7c</id>
<content type='text'>
In case apt is compiled against musl-libc, then compilation fails with the
following error:

cmdline/apt-internal-solver.cc:122:20: error: 'basename' was not declared in this scope; did you mean 'rename'?
|   122 |         if (strcmp(basename(argv[0]), "solver3") == 0)
|       |                    ^~~~~~~~
|       |                    rename

To fix it, include libgen header where musl can find this function also.

Once this is fixed, compilation fails once again with musl-libc, because
the basename function takes *char argument instead of const *char:
this is because the musl implementation cuts off the trailing slashes
of the path, in case the argument is a folder path.

To account for this, instead of passing argv[0] directly, create a non-const
string copy of it, and pass that to base.

Signed-off-by: Gyorgy Sarvari &lt;skandigraun@gmail.com&gt;
</content>
</entry>
<entry>
<title>Add history undo, redo, and rollback features</title>
<updated>2025-10-02T10:49:58Z</updated>
<author>
<name>Simon Johnsson</name>
<email>simon.johnsson@canonical.com</email>
</author>
<published>2025-10-02T10:49:58Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=a65dca5d5e9b4bc71722bc91a5641126a1b0ec61'/>
<id>urn:sha1:a65dca5d5e9b4bc71722bc91a5641126a1b0ec61</id>
<content type='text'>
</content>
</entry>
<entry>
<title>History Command and Parsing</title>
<updated>2025-09-26T16:18:42Z</updated>
<author>
<name>Simon Johnsson</name>
<email>simon.johnsson@canonical.com</email>
</author>
<published>2025-09-26T16:18:42Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=66962bee233b617e4a9ce436f9b26875511b35e6'/>
<id>urn:sha1:66962bee233b617e4a9ce436f9b26875511b35e6</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Introduce apt why, apt why-not</title>
<updated>2025-05-19T15:20:09Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>jak@debian.org</email>
</author>
<published>2025-05-19T12:17:23Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=7724d170751b3dc1717ba7a08881437cf7151996'/>
<id>urn:sha1:7724d170751b3dc1717ba7a08881437cf7151996</id>
<content type='text'>
These are implemented somewhat differently from aptitudes
why and why-not commands: They produce the actual solver
trace for why a particular decision has been taken.

For the why-not case, we need to explicitly discover our
specified package, as if nothing else depends on it in
our graph, it would otherwise always be undiscovered and
conflicts not detected (see e.g. level-3 in the test).
</content>
</entry>
<entry>
<title>cmdline/apt-get.cc: emit Signed-By field and support $(SIGNED_BY) in apt-get indextargets --format</title>
<updated>2025-03-14T08:29:23Z</updated>
<author>
<name>Johannes Schauer Marin Rodrigues</name>
<email>josch@mister-muffin.de</email>
</author>
<published>2025-03-12T18:45:18Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=f866dac363c6a22fe1b35baddf126b39a405410e'/>
<id>urn:sha1:f866dac363c6a22fe1b35baddf126b39a405410e</id>
<content type='text'>
</content>
</entry>
<entry>
<title>refactor: Deduplicate and Move SectionInSubTree to Configuration</title>
<updated>2025-02-18T09:56:45Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>julian.klode@canonical.com</email>
</author>
<published>2025-02-17T20:33:30Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=e8b240eb3aab7e2584e245f03700ede30a3fc23a'/>
<id>urn:sha1:e8b240eb3aab7e2584e245f03700ede30a3fc23a</id>
<content type='text'>
Deduplicate the copies in a central one, mark it unavailable to
external users.
</content>
</entry>
<entry>
<title>cache: Introduce partial SourceVersion support</title>
<updated>2025-02-15T15:37:19Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>julian.klode@canonical.com</email>
</author>
<published>2025-02-15T15:37:19Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=4bcb198a67156b2654f3b64173499ab78f0d4d9a'/>
<id>urn:sha1:4bcb198a67156b2654f3b64173499ab78f0d4d9a</id>
<content type='text'>
This is the first step that introduces a 1:1 mapping between version
and source version. In a future version this can use the fields
currently marked unavailable to deduplicate the SourceVersion
objects across the group.

The policy gains a member for storing pins for sourceversions.

Together, in the future we should be able to determine candidates
for source versions.
</content>
</entry>
<entry>
<title>Record all available sources for descriptions</title>
<updated>2025-01-30T23:10:02Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2025-01-30T23:10:02Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=593cf30cee476bdae21f7e99f67d2572b7381e90'/>
<id>urn:sha1:593cf30cee476bdae21f7e99f67d2572b7381e90</id>
<content type='text'>
Avoiding duplications is one thing, but it could also be handy to know
all sources for a description so that you can e.g. avoid opening another
file or similar such if its also present in one you already have open.

Given how the structures were set up this was probably intended all
along and either worked at some point or was abandoned for the
duplicates that we started culling heavily with the introduction of
MultiArch as at that point they blew up the cache and needed to be dealt
with.
</content>
</entry>
</feed>
