<feed xmlns='http://www.w3.org/2005/Atom'>
<title>apt/test/libapt, branch 2.7.13</title>
<subtitle>Debians commandline package manager</subtitle>
<id>https://git.kalnischkies.de/apt/atom?h=2.7.13</id>
<link rel='self' href='https://git.kalnischkies.de/apt/atom?h=2.7.13'/>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/'/>
<updated>2024-02-20T12:49:04Z</updated>
<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>
<entry>
<title>json: Actually pop states</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:17:55Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=09e3c0c855e339216784a1d43715c3ae2d79ec23'/>
<id>urn:sha1:09e3c0c855e339216784a1d43715c3ae2d79ec23</id>
<content type='text'>
The JSON encoder only looked at the top state, but did not
pop it, so if we nested objects, we got stuck in whatever
the last state we pushed aside was, so in our example, we
wrongly get a comma inserted _after_ key "b":

{"a":[{}],
 "b":,[{}]
}
</content>
</entry>
<entry>
<title>json: Escape strings using \u escape sequences, add test</title>
<updated>2021-04-23T10:25:40Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>julian.klode@canonical.com</email>
</author>
<published>2021-04-21T09:31:46Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=57b727af4e1eea4ea118ca5e5028fa7ce86fb538'/>
<id>urn:sha1:57b727af4e1eea4ea118ca5e5028fa7ce86fb538</id>
<content type='text'>
This allows us to correctly encode strings containing quotation
marks, escape characters and control characters.

The test case is a bit nasty because it embeds private-cachefile.cc
for linkage reasons.
</content>
</entry>
<entry>
<title>Check for and discard expected warning from MaybeAddAuth</title>
<updated>2021-03-31T13:29:09Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>julian.klode@canonical.com</email>
</author>
<published>2021-03-31T13:25:18Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=8613225f314e2524d9178e232940059a8687cc69'/>
<id>urn:sha1:8613225f314e2524d9178e232940059a8687cc69</id>
<content type='text'>
MaybeAddAuth() here tells us that it refused to use the credentials
for an http source; but that caused the test suite to fail at a later
stage because we checked if there were any errors/warning. Strangely,
this is only triggered with LTO enabled.

Actually check that the warning is being set and then reject it.
</content>
</entry>
<entry>
<title>Avoid overstepping bounds in config file parsing</title>
<updated>2021-02-03T16:43:13Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2021-02-03T16:40:05Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=c4da2ff42da55ffc38c77a9170dc151216d75962'/>
<id>urn:sha1:c4da2ff42da55ffc38c77a9170dc151216d75962</id>
<content type='text'>
Our configuration files are not security relevant, but having a parser
which avoids crashing on them even if they are seriously messed up is
not a bad idea anyway. It is also a good opportunity to brush up the
code a bit avoiding a few small string copies with our string_view.
</content>
</entry>
<entry>
<title>Forbid negative values in unsigned StrToNum explicitly</title>
<updated>2021-02-03T16:36:46Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2020-05-13T07:07:19Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=e0743a85c5f5f2f83d91c305450e8ba192194cd8'/>
<id>urn:sha1:e0743a85c5f5f2f83d91c305450e8ba192194cd8</id>
<content type='text'>
strtoul(l) surprises us with parsing negative values which should not
exist in the places we use to parse them, so we can just downright
refuse them rather than trying to work with them by having them promoted
to huge positive values.
</content>
</entry>
</feed>
