<feed xmlns='http://www.w3.org/2005/Atom'>
<title>apt/test/libapt, branch main</title>
<subtitle>Debians commandline package manager</subtitle>
<id>https://git.kalnischkies.de/apt/atom?h=main</id>
<link rel='self' href='https://git.kalnischkies.de/apt/atom?h=main'/>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/'/>
<updated>2024-04-20T12:15:47Z</updated>
<entry>
<title>build: test: Silence warnings in GTest code</title>
<updated>2024-04-20T12:15:47Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>julian.klode@canonical.com</email>
</author>
<published>2024-04-20T12:09:37Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=4e9a9dbf9bd52d38ab5818f3eb32c8189fd25671'/>
<id>urn:sha1:4e9a9dbf9bd52d38ab5818f3eb32c8189fd25671</id>
<content type='text'>
GTest has a lot of broken things with signed vs unsigned,
and double integer promotions, let's silence them.
</content>
</entry>
<entry>
<title>test: configuration: color: reset _config after tests</title>
<updated>2024-04-20T12:15:47Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>julian.klode@canonical.com</email>
</author>
<published>2024-04-20T11:45:55Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=1350ca686ba2557dd8e2c17eab367bfbfe9b389a'/>
<id>urn:sha1:1350ca686ba2557dd8e2c17eab367bfbfe9b389a</id>
<content type='text'>
This avoids us polluting the configuration for later tests, since
the test order apparently is not deterministic. We probably should
fix some common test case thingy instead.
</content>
</entry>
<entry>
<title>Add APT::Configuration::color helper to colorize things</title>
<updated>2024-04-19T14:58:24Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>julian.klode@canonical.com</email>
</author>
<published>2024-04-19T13:57:23Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=58ee0fabc9028fcdf86faab3bb9c1db2b27e3644'/>
<id>urn:sha1:58ee0fabc9028fcdf86faab3bb9c1db2b27e3644</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Allow no spaces for the last dependency in ParseDepends, too</title>
<updated>2024-04-17T09:12:58Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2024-04-17T08:19:40Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=633f6d67a28b375cf1f225f14d3c926e618d46af'/>
<id>urn:sha1:633f6d67a28b375cf1f225f14d3c926e618d46af</id>
<content type='text'>
All other entries in a dependency line get substantial leeway about the
amount of spaces surrounding the entry itself and its individual parts,
but the very last entry was required to have a version constraint be
at least 4 chars long (excluding opening bracket and spaces following
it), so if the version is short and a single-char relation used a space
had to make up for it. This is a bit unfair in comparison to the other
entries who do not have such unreasonable demands, so we reduce our
demand to 3 chars or longer, which is satisfied by "=1)".

If it is a good idea to hate spaces that much remains unanswered by this
commit, but in practice most tools (re)writing the files we parse will
include spaces, so its only in files (or on the satisfy command line)
directly edited by users that we can encounter such a situation, which
is a relatively new development given this line came unchanged from
the introduction of this method in 1998.

LP: #2061834
</content>
</entry>
<entry>
<title>apt: Use unicode install progress bar on UTF-8 locales</title>
<updated>2024-04-13T21:59:41Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>jak@debian.org</email>
</author>
<published>2024-04-13T21:59:41Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=ac8fe4b030754584cda9cb1707fc3d9f0d792366'/>
<id>urn:sha1:ac8fe4b030754584cda9cb1707fc3d9f0d792366</id>
<content type='text'>
This produces a much more appealing progress bar and it can even
show parts of the progress being done.
</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>
<entry>
<title>Use different variable name in GTest source path detection</title>
<updated>2023-11-18T13:40:40Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2023-11-18T13:40:40Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=1f5ecf5d211a073892e05047becd4e55f3e055c9'/>
<id>urn:sha1:1f5ecf5d211a073892e05047becd4e55f3e055c9</id>
<content type='text'>
We used GTEST_ROOT, which becomes an issue with 3.27 as that variable
would influence find_package behaviour by providing PREFIXES –
introduced with potentially mixed-cased name in 3.12.

CMake Warning (dev) at test/libapt/CMakeLists.txt:8 (find_package):
  Policy CMP0144 is not set: find_package uses upper-case &lt;PACKAGENAME&gt;_ROOT
  variables.  Run "cmake --help-policy CMP0144" for policy details.  Use the
  cmake_policy command to set the policy and suppress this warning.

  CMake variable GTEST_ROOT is set to:

    /usr/src/googletest/googletest

  For compatibility, find_package is ignoring the variable, but code in a
  .cmake module might still use it.

As using this new feature isn't what we wanted at all, we just use a
different variable name to avoid the warning and potential future
problems if we would keep using this name.
</content>
</entry>
<entry>
<title>Include our config.h in all C++ files to avoid ODR violations</title>
<updated>2022-05-07T08:45:44Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2022-04-22T15:05:36Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=320245536a7ad21606286d9dcf54acf3bdf096c6'/>
<id>urn:sha1:320245536a7ad21606286d9dcf54acf3bdf096c6</id>
<content type='text'>
Some of our headers use APT_COMPILING_APT trickery to avoid exposing too
broadly details we don't want external clients to know and make use of.
The flip-side is that this can lead to different compilation units
seeing different definitions if they aren't all using the same config.
</content>
</entry>
<entry>
<title>Streamline access to barbarian architecture functionality</title>
<updated>2021-09-04T14:20:12Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2021-09-04T14:10:50Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=70c669e2566d119559d2986635bb6c1d0d368073'/>
<id>urn:sha1:70c669e2566d119559d2986635bb6c1d0d368073</id>
<content type='text'>
APT is not the place this information should be stored at, but it is a
good place to experiment and see what will be (not) needed in the future
for a proper implementation higher up the stack.

This is why "BarbarianArchitectures" is chosen instead of a more neutral
and/or sensible "VeryForeign" and isn't readily exported in the API to
other clients for this PoC as a to be drawn up standard will likely
require potentially incompatible changes. Having a then outdated and
slightly different implementation block a "good" name would be bad.

The functionality itself mostly exists (ignoring bugs) since the
introduction of MultiArch as we always had the risk of encountering
packages of architectures not known to dpkg (forced onto the system,
potentially before MultiArch) we had to deal with somehow and other
edge cases.

All this commit really does is allowing what could previously only be
achieved with editing sources.list and some conf options via a single
config option: -o APT::BarbarianArchitectures=foo,bar
</content>
</entry>
<entry>
<title>json: Encode NULL strings as null</title>
<updated>2021-04-23T10:25:40Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>julian.klode@canonical.com</email>
</author>
<published>2021-04-21T10:21:41Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=b5211b9b213273c642a790ae3c3f3bbe1a4cf51e'/>
<id>urn:sha1:b5211b9b213273c642a790ae3c3f3bbe1a4cf51e</id>
<content type='text'>
This is the only nullable thing we have here.
</content>
</entry>
</feed>
