<feed xmlns='http://www.w3.org/2005/Atom'>
<title>apt/apt-pkg/contrib/configuration.cc, branch 2.9.15</title>
<subtitle>Debians commandline package manager</subtitle>
<id>https://git.kalnischkies.de/apt/atom?h=2.9.15</id>
<link rel='self' href='https://git.kalnischkies.de/apt/atom?h=2.9.15'/>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/'/>
<updated>2024-11-22T12:40:10Z</updated>
<entry>
<title>Rewrite hidden config option checker for more patterns</title>
<updated>2024-11-22T12:40:10Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2022-04-26T19:33:16Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=eb1e6fc4973a844adbea0297c6425b00f64e8b7b'/>
<id>urn:sha1:eb1e6fc4973a844adbea0297c6425b00f64e8b7b</id>
<content type='text'>
The previous version allowed only foo::*::bar as a pattern, now you can
have as many starred parts as you want allowing for a finer control
instead of hardcoding specific common star-values or giving up with **.

It also adds a new INVALID type for an option to mark options which
should not be used, but are covered by a pattern which would normally
allow it.

Our tests are more or less the only users of this hidden feature making
this change not very risky even through it has no dedicated test itself.
</content>
</entry>
<entry>
<title>apt-pkg/contrib/configuration.cc: prepare for APT::StringView -&gt; std::string_view</title>
<updated>2024-11-12T19:36:17Z</updated>
<author>
<name>наб</name>
<email>nabijaczleweli@nabijaczleweli.xyz</email>
</author>
<published>2024-11-12T16:59:15Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=ecde142802bf1e0870e17f3865b5cef3e6b1a9c5'/>
<id>urn:sha1:ecde142802bf1e0870e17f3865b5cef3e6b1a9c5</id>
<content type='text'>
</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>Prevent infinite loop in `ReadConfigFile`</title>
<updated>2023-12-29T06:40:40Z</updated>
<author>
<name>Adam Saponara</name>
<email>as@php.net</email>
</author>
<published>2023-12-27T19:56:33Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=c476086e9336b681d365cd18ce1c96135a1ddb31'/>
<id>urn:sha1:c476086e9336b681d365cd18ce1c96135a1ddb31</id>
<content type='text'>
Break the loop on failure. Without this, the function
goes into an infinite loop if `FName` is a directory.
</content>
</entry>
<entry>
<title>Address statements of public domain</title>
<updated>2023-03-06T09:57:55Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>julian.klode@canonical.com</email>
</author>
<published>2023-02-27T16:58:33Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=d9039b2409e69e651bf0d7ba582dbf528086332d'/>
<id>urn:sha1:d9039b2409e69e651bf0d7ba582dbf528086332d</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Spelling fixes</title>
<updated>2021-11-27T10:22:38Z</updated>
<author>
<name>Ville Skyttä</name>
<email>ville.skytta@iki.fi</email>
</author>
<published>2021-11-03T22:08:07Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=01eed4234440d82fc52c8186cf4268517bcd28bc'/>
<id>urn:sha1:01eed4234440d82fc52c8186cf4268517bcd28bc</id>
<content type='text'>
</content>
</entry>
<entry>
<title>configuration: Add missing #include &lt;array&gt;</title>
<updated>2021-02-24T09:47:51Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>julian.klode@canonical.com</email>
</author>
<published>2021-02-24T09:47:51Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=fb6f4070cdf4531d2105bcf0a42999f69b0bd10b'/>
<id>urn:sha1:fb6f4070cdf4531d2105bcf0a42999f69b0bd10b</id>
<content type='text'>
As user "DaOfficialRolex" on GitHub pointed out:

This is needed to allow for APT on iOS to compile correctly. If not included the two following errors happen while compiling APT.

~/apt/apt-pkg/contrib/configuration.cc:900:44: error: constexpr variable cannot have non-literal type 'const std::array&lt;APT::StringView, 3&gt;'
         constexpr std::array&lt;APT::StringView, 3&gt; magicComments { "clear"_sv, "include"_sv, "x-apt-configure-index"_sv };
                                                  ^
~/apt/apt-pkg/contrib/configuration.cc:900:44: error: implicit instantiation of undefined template 'std::__1::array&lt;APT::StringView, 3&gt;'
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/__tuple:219:64: note: template is declared here
template &lt;class _Tp, size_t _Size&gt; struct _LIBCPP_TEMPLATE_VIS array;
                                                               ^
</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>Retire and deprecate _strtabexpand</title>
<updated>2021-02-03T16:36:45Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2020-12-03T09:29:54Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=03790b071d6a97374a03af36eda5698a143300b0'/>
<id>urn:sha1:03790b071d6a97374a03af36eda5698a143300b0</id>
<content type='text'>
If the Configuration code calling this was any indication, it is hard to
use – and even that monster still caused heap-buffer-overflow errors,
so instead of trying to fix it, lets just use methods which are far
easier to use. The question why this is done at all remains, but is left
for another day as an exercise for the reader.
</content>
</entry>
<entry>
<title>Fail ConfigDir reading if directory listing failed</title>
<updated>2021-02-03T16:36:45Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2020-12-03T09:19:21Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=bb553c3884f811792a1d8021ea8396cbe1ec0b23'/>
<id>urn:sha1:bb553c3884f811792a1d8021ea8396cbe1ec0b23</id>
<content type='text'>
We were printing an error and hence have non-zero exit code either way,
but API wise it makes sense to have this properly reported back to the
caller to propagate it down the chain e.g. while parsing #include stanzas.
</content>
</entry>
</feed>
