<feed xmlns='http://www.w3.org/2005/Atom'>
<title>apt/apt-pkg, branch 2.9.0</title>
<subtitle>Debians commandline package manager</subtitle>
<id>https://git.kalnischkies.de/apt/atom?h=2.9.0</id>
<link rel='self' href='https://git.kalnischkies.de/apt/atom?h=2.9.0'/>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/'/>
<updated>2024-04-12T13:57:05Z</updated>
<entry>
<title>OpProgress: Erase lines when done</title>
<updated>2024-04-12T13:57:05Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>julian.klode@canonical.com</email>
</author>
<published>2024-04-12T10:00:45Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=8ddfeb2fb65dd45267d8f7abfc540d2b8cb73a5c'/>
<id>urn:sha1:8ddfeb2fb65dd45267d8f7abfc540d2b8cb73a5c</id>
<content type='text'>
It's interesting to the user to see the progress when it happens,
but arguably once it's done it is just visual clutter, so let's
not write newlines, and when we are done, instead of appending
"Done", let's just empty the line.

This requires some effort to keep apt-cdrom happy which just writes
lines to stdout itself. Bad apt-cdrom. Maybe there is a better fix
for it, but this gets us going.
</content>
</entry>
<entry>
<title>Revert "debrecords: Do not reparse if given same location"</title>
<updated>2024-03-22T10:10:24Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>julian.klode@canonical.com</email>
</author>
<published>2024-03-21T21:18:58Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=c8641c40d1a67408439c3a3a37ea203b838eb21a'/>
<id>urn:sha1:c8641c40d1a67408439c3a3a37ea203b838eb21a</id>
<content type='text'>
This reverts commit 9bb953fddae0246a4dcedddb769d75d3521e1f2f.
</content>
</entry>
<entry>
<title>debrecords: Do not reparse if given same location</title>
<updated>2024-03-22T10:10:24Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>julian.klode@canonical.com</email>
</author>
<published>2024-03-21T21:18:08Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=5414789489f9814aaacdc6169975bae1b871a44f'/>
<id>urn:sha1:5414789489f9814aaacdc6169975bae1b871a44f</id>
<content type='text'>
The TagFile parser will have already parsed further and can't go
back so it needs to reopen the file if compressed.

Closes: #1067440
</content>
</entry>
<entry>
<title>pkgTagFile::Jump: Use lookback buffer to rejump to current position</title>
<updated>2024-03-21T21:31:04Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>julian.klode@canonical.com</email>
</author>
<published>2024-03-21T21:28:44Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=88e55d1b7237e6c3b5689b7ce154ef98b11fbf74'/>
<id>urn:sha1:88e55d1b7237e6c3b5689b7ce154ef98b11fbf74</id>
<content type='text'>
If we get called twice with the same offset, our d-&gt;Start and d-&gt;iOffset
will already point at the offset for the next section. But since we have
the start of the last parsed section still in the buffer, just make sure
to always go back to the start first.

Closes: #1067440
</content>
</entry>
<entry>
<title>Parse unsupported != relation in dependencies</title>
<updated>2024-03-07T15:35:17Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2024-01-23T13:45:46Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=3d1614b0a6c9c185ed1b2834e338f14d4de5b124'/>
<id>urn:sha1:3d1614b0a6c9c185ed1b2834e338f14d4de5b124</id>
<content type='text'>
libapt has a NotEquals relation for version constraints in
dependencies, which is used internally e.g. in the MultiArch
implementation, but this relation is not supported by Debian
policy and as such can not be used in packages.

Our parser here is extremely accepting, even unknown relations are
parsed as Equals relation – but the version that must match will be a
rather strange one…

For our own testcases and e.g. on the command line with 'satisfy' it
can make sense to have != available… and what strange things apt does
parsing unsupported relations is not really much of a concern. Real
packages will not have such relations anyhow as we are (mostly) just
a consumer, not a producer of packages and index files.
</content>
</entry>
<entry>
<title>Handle EINTR in the static FileFd::Write overload</title>
<updated>2024-03-05T11:57:03Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2024-03-04T14:50:44Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=1437dcbe489ee9bcd39000cfef30324ad0260b41'/>
<id>urn:sha1:1437dcbe489ee9bcd39000cfef30324ad0260b41</id>
<content type='text'>
While the code claims to handle it by just continuing the loop, the
looping condition will actually cause a break from the loop failing the
interrupted writing. The non-static FileFd::Write (and ::Read) deal with
this by setting acceptable values for the loop condition as well – but
for more simplicity and consistency we can instead remove this extra loop
condition and perform the continue/break due to error handling more
explicitly.
</content>
</entry>
<entry>
<title>Implement gpgv --assert-pubkey-algo=&gt;=rsa2048,ed25519,ed448</title>
<updated>2024-02-28T17:22:01Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>julian.klode@canonical.com</email>
</author>
<published>2024-02-28T14:14:43Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=50e3fee26ae843a812b1c9ec8531946931773fd3'/>
<id>urn:sha1:50e3fee26ae843a812b1c9ec8531946931773fd3</id>
<content type='text'>
The assertion can be overriden using apt::key::assert-pubkey-algo,
the default is the most opinionated one.

This will inform the user during apt-cdrom add as we do not
pass --quiet to user, so adjust test case.

Add a simple test case for it to test-method-gpgv.

LP: #2055193
</content>
</entry>
<entry>
<title>Delete SHADOWED metaIndex if we don't actually use snapshots</title>
<updated>2024-02-20T17:50:14Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>julian.klode@canonical.com</email>
</author>
<published>2024-02-20T08:56:06Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=e2949fc463f9e087978b072c82b11860ee02fdb6'/>
<id>urn:sha1:e2949fc463f9e087978b072c82b11860ee02fdb6</id>
<content type='text'>
This adds a bit more code but avoids any surprises later on by
having both the shadowed and non-shadowed meta index in the
list.

Gbp-Dch: ignore
</content>
</entry>
<entry>
<title>Automatically enable snapshots where supported</title>
<updated>2024-02-20T17:50:14Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>julian.klode@canonical.com</email>
</author>
<published>2024-02-19T11:07:55Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=b6274188312e6338e94edc45dbf9cc410d650477'/>
<id>urn:sha1:b6274188312e6338e94edc45dbf9cc410d650477</id>
<content type='text'>
Convert sources.list Snapshot option from opt-in to automatic. If
we can find a snapshot server, Snapshot: yes is assumed if a snapshot
is specified.

On the implementation side, we record automatic snapshot enablement
by adding a '?' suffix to the snapshot timestamp, if any is specified,
this avoids introducing bugs into the code where we could end up with
an empty snapshot.

This has an annoying internal implementation caveat: Since we call
GetDebReleaseIndexBy() with the SHADOWED option emplaced, if we do
not find a server, we need to remove the SHADOWED option again, but
we already have inserted a shadowed release index into the list.

This will simply insert the release index a second time without the
SHADOWED option which in preliminary testing works fine, but it would
arguably be more correct to also remove the release index again if
we have created it.

FIXME: This only has one test case: A source with supported snapshot
server is auto-discovered. We should also add a test case where we
cannot detect a server and then don't fail in automatic mode.
</content>
</entry>
<entry>
<title>Modernize standard library includes</title>
<updated>2024-02-20T12:49:04Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>julian.klode@canonical.com</email>
</author>
<published>2024-02-20T12:43:08Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=40a75722c43ae24cb9a99d6730a3b25b65819c49'/>
<id>urn:sha1:40a75722c43ae24cb9a99d6730a3b25b65819c49</id>
<content type='text'>
This was automated with sed and git-clang-format, and then I had to
fix up the top of policy.cc by hand as git-clang-format accidentally
indented it by two spaces.
</content>
</entry>
</feed>
