<feed xmlns='http://www.w3.org/2005/Atom'>
<title>apt/test, branch 3.1.0</title>
<subtitle>Debians commandline package manager</subtitle>
<id>https://git.kalnischkies.de/apt/atom?h=3.1.0</id>
<link rel='self' href='https://git.kalnischkies.de/apt/atom?h=3.1.0'/>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/'/>
<updated>2025-05-19T16:29:45Z</updated>
<entry>
<title>💬 Recommend use of `apt update` over `apt-get update`</title>
<updated>2025-05-19T16:29:45Z</updated>
<author>
<name>Max Coplan</name>
<email>mchcopl@gmail.com</email>
</author>
<published>2019-11-20T16:03:39Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=d493545484fbb100e559e39618b30a3b3a3526d1'/>
<id>urn:sha1:d493545484fbb100e559e39618b30a3b3a3526d1</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>Add 'Include'/'Exclude' options to limit packages used from a repository</title>
<updated>2025-05-19T15:19:23Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>julian.klode@canonical.com</email>
</author>
<published>2025-01-29T18:01:06Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=93416f3227685c390c7ab579981efde526134181'/>
<id>urn:sha1:93416f3227685c390c7ab579981efde526134181</id>
<content type='text'>
'Include' allows limiting a repository to a allowlist of packages,
'Exclude' allows removing packages from a repository.

Implementation wise this is not the nicest as it goes via the
IndexTarget options, so we first parse our option value into a
vector, then we turn the vector into a string, and then vectorize
it again. That said, we support both "," and " " as separators due
to the construction (we split by "," then we join using " ").

Gbp-Dch: full
</content>
</entry>
<entry>
<title>test: Do not use host's sequoia config</title>
<updated>2025-05-06T10:12:31Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>julian.klode@canonical.com</email>
</author>
<published>2025-04-25T22:26:05Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=7994d1b3bdaaef1351872f13054d1ed9d645f65a'/>
<id>urn:sha1:7994d1b3bdaaef1351872f13054d1ed9d645f65a</id>
<content type='text'>
Make the test suite independent of the host sequoia config.
</content>
</entry>
<entry>
<title>test: Fix test-skipped regression in 3.0.1</title>
<updated>2025-05-06T10:12:31Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>julian.klode@canonical.com</email>
</author>
<published>2025-04-25T22:23:22Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=3e261cb940955cadaff58e90a27af8dc882cb3b1'/>
<id>urn:sha1:3e261cb940955cadaff58e90a27af8dc882cb3b1</id>
<content type='text'>
There was an accidental exit in the if causing the test to exit
early, but the test suite still to pass.
</content>
</entry>
<entry>
<title>sqv: Warn about signatures that will be rejected by policy within a year</title>
<updated>2025-04-25T21:07:07Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>julian.klode@canonical.com</email>
</author>
<published>2025-04-25T18:53:45Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=85c435f23718e168345ea60270b24a57061b54f4'/>
<id>urn:sha1:85c435f23718e168345ea60270b24a57061b54f4</id>
<content type='text'>
This implements a simple check where we first run `sqv` with
`--policy-as-of` 1 year in the future. If the file is validly
signed one year in the future, it is validly signed now.

If the file is not validly signed 1 year in the future, we check
if it is validly signed now, and otherwise print an error message.

The --policy-as-of feature was added in sqv 1.3.0, hence we add a
version requirement to the dependency.
</content>
</entry>
<entry>
<title>solver3: Consider more upgrades more costly when not upgrading</title>
<updated>2025-04-04T13:28:40Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>julian.klode@canonical.com</email>
</author>
<published>2025-04-04T13:25:01Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=295ab44a3063fb7790d8a558a161fc1bd801f998'/>
<id>urn:sha1:295ab44a3063fb7790d8a558a161fc1bd801f998</id>
<content type='text'>
We inadvertently considered more upgrades as a better solution in
all cases, but if we are *installing* rather than upgrading, we
should count upgrades as a negative.

Change the code to accomodate that. This requires a few more
tricks:

- We remove the keep count check. This does not appear to work
  correctly and would have prevented the fix. We are already
  counting all possible changes, so why bother.

- We need to subtract the upgrade count from the install count
  (upgrades are a class of installs) since we now allow comparing
  solutions with different upgrade counts for install counts.

- After comparing the "new install count", we now compare upgrade
  count too, in the opposite direction of upgrading.

To test, we abuse that solver 3.0 does not upgrade all packages
in a source package when using the install command.

LP: #2105395
</content>
</entry>
<entry>
<title>pager: Also set SMK in LESS, fix LV=C to be LV=-c</title>
<updated>2025-03-26T16:42:30Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>julian.klode@canonical.com</email>
</author>
<published>2025-03-26T16:01:12Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=805ddd0acc71e653d0f5f841e0ceaff665fce063'/>
<id>urn:sha1:805ddd0acc71e653d0f5f841e0ceaff665fce063</id>
<content type='text'>
Sync the LESS environment with systemd to make it more user-friendly
than just a blinking colon:

- S disables the terminal bell
- M makes the output verbose, so the prompt is not ":" but "lines 1-n"
- K means that Ctrl+c exits the command

Also fix the LV= environment variable to use -c and not C.
</content>
</entry>
<entry>
<title>solver3: Correctly deb822-escape error message in evaluation report</title>
<updated>2025-03-26T15:47:37Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>julian.klode@canonical.com</email>
</author>
<published>2025-03-26T15:44:06Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=6e5d8929c06cb645e639022477a14ca65d483e32'/>
<id>urn:sha1:6e5d8929c06cb645e639022477a14ca65d483e32</id>
<content type='text'>
The error messages are multi-line now, so need correct escaping.

LP: #2104276
</content>
</entry>
<entry>
<title>Respect custom LESS/MORE/LV variables</title>
<updated>2025-03-26T14:45:15Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>julian.klode@canonical.com</email>
</author>
<published>2025-03-26T14:42:57Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=a452d3a9f526f6545981664712b45f709545e6fa'/>
<id>urn:sha1:a452d3a9f526f6545981664712b45f709545e6fa</id>
<content type='text'>
Use setenv() to avoid overriding user defined variables.

LP: #2103921
</content>
</entry>
</feed>
