<feed xmlns='http://www.w3.org/2005/Atom'>
<title>apt/apt-pkg, branch 2.2.1</title>
<subtitle>Debians commandline package manager</subtitle>
<id>https://git.kalnischkies.de/apt/atom?h=2.2.1</id>
<link rel='self' href='https://git.kalnischkies.de/apt/atom?h=2.2.1'/>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/'/>
<updated>2021-03-01T20:43:54Z</updated>
<entry>
<title>regression fix: do require force-loopbreak for Conflicts</title>
<updated>2021-03-01T20:43:54Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>julian.klode@canonical.com</email>
</author>
<published>2021-03-01T20:43:03Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=0d51cf142884801c903df0cddaec5545f0174553'/>
<id>urn:sha1:0d51cf142884801c903df0cddaec5545f0174553</id>
<content type='text'>
Conflicts do require removing the package temporarily, so they really
should not be used.

We need to improve that eventually such that we can deconfigure packages
when we have to remove their dependencies due to conflicts.
</content>
</entry>
<entry>
<title>RunScripts: Do not reset SIGQUIT and SIGINT to SIG_DFL</title>
<updated>2021-03-01T20:26:24Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>julian.klode@canonical.com</email>
</author>
<published>2021-03-01T20:26:24Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=8eccb902aa3be22a151943286fb376759a2b3585'/>
<id>urn:sha1:8eccb902aa3be22a151943286fb376759a2b3585</id>
<content type='text'>
This caused python-apt to unset the Python signal handler when running
update or install commands, breaking KeyboardInterrupt amongst possibly
other things.

We do not set those signal handlers in this functions, and the calling
functions restore signal handlers to previous ones.

LP: #1898026
</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>Do not require force-loopbreak on Protected packages</title>
<updated>2021-02-23T18:10:29Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>julian.klode@canonical.com</email>
</author>
<published>2021-02-23T17:23:30Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=f8ff3afcd42d8b2e6506bc6f44a894149bf87442'/>
<id>urn:sha1:f8ff3afcd42d8b2e6506bc6f44a894149bf87442</id>
<content type='text'>
dpkg will be changed in 1.20.8 to not require --force-remove for
deconfiguration anymore, but we want to decouple our changes from the
dpkg ones, so let's always pass --force-remove-protected when installing
packages such that we can deconfigure protected packages.

Closes: #983014
</content>
</entry>
<entry>
<title>kernels: Avoid std::regex for escaping '.' and '+'</title>
<updated>2021-02-12T16:13:57Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>julian.klode@canonical.com</email>
</author>
<published>2021-02-12T16:13:57Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=5bfc150688ea748595b6535eb1dc5d777baf16e4'/>
<id>urn:sha1:5bfc150688ea748595b6535eb1dc5d777baf16e4</id>
<content type='text'>
std::regex pulls in about 50 weak symbols which is complete and
utter madness, especially because we version all our symbols, so no
other library could ever reuse them.

Avoid using the regular expression here all together, loop using
string::find_first_of() and insert backslashes with strng::insert().
</content>
</entry>
<entry>
<title>Do not make DefaultRootSetFunc2 public symbol</title>
<updated>2021-02-12T11:53:57Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>julian.klode@canonical.com</email>
</author>
<published>2021-02-12T11:53:57Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=3b198616423daaef69c938fbcc5dd11a1e8f866c'/>
<id>urn:sha1:3b198616423daaef69c938fbcc5dd11a1e8f866c</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Merge branch 'pu/fuzzerpatches' into 'master'</title>
<updated>2021-02-09T09:38:48Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>jak@debian.org</email>
</author>
<published>2021-02-09T09:38:48Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=cb60beb83610783f664da0bbe1cdb7211aaba90f'/>
<id>urn:sha1:cb60beb83610783f664da0bbe1cdb7211aaba90f</id>
<content type='text'>
Various patches uplifted from unfinished fuzzer branches

See merge request apt-team/apt!158</content>
</entry>
<entry>
<title>Use size of the old cache as APT::Cache-Start default</title>
<updated>2021-02-04T10:00:00Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2021-02-03T21:41:56Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=a158e78152316f56b1a324a42a2f00f0a8662ac3'/>
<id>urn:sha1:a158e78152316f56b1a324a42a2f00f0a8662ac3</id>
<content type='text'>
Depending on your configured source 25 MB is hardly enough, so the mmap
housing the cache while it is build has to grow. Repeatedly. We can cut
down on the repeats of this by keeping a record of the size of the old
cache assuming the sizes will remain roughly in the same ballpark.
</content>
</entry>
<entry>
<title>Limit on first patch size only for server-merged patches</title>
<updated>2021-02-04T10:00:00Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2021-02-03T20:47:00Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=c31ba27ecf7e35e03af34c3d74d3c6c93976f89c'/>
<id>urn:sha1:c31ba27ecf7e35e03af34c3d74d3c6c93976f89c</id>
<content type='text'>
APT tries to detect if applying patches is more costly than just
downloading the complete index by combining the size of the patches.
That is correct for client-side merging, but for server-side merging
we actually don't know if we will jump directly from old to current or
have still intermediate steps in between.

With this commit we assume it will be a jump from old to current through
as that is what dak implements and it seems reasonable if you go to
the trouble of server side merging that the server does the entire
merging in one file instead of leaving additional work for the client
to do.

Note that this just changes the heuristic to prevent apt from discarding
patches as uneconomic in the now more common one merged-patch style, it
still supports multiple merged patches as before.

To resolve this cleanly we would need another field in the index file
declaring which hash we will arrive at if a patch is applied (or a field
differentiating between these merged-patch styles at least), but that
seems like overkill for now.
</content>
</entry>
<entry>
<title>Replace PrintStatus with SendMessage usage</title>
<updated>2021-02-04T10:00:00Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2020-06-28T18:52:09Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=96dc40b19623621a9cc2c5541fb3adbbceb553b1'/>
<id>urn:sha1:96dc40b19623621a9cc2c5541fb3adbbceb553b1</id>
<content type='text'>
varg API is a nightmare as the symbols seems different on ever other
arch, but more importantly SendMessage does a few checks on the content
of the message and it is all outputted via C++ iostreams and not mixed
in FILE* which is handy for overriding the streams.
</content>
</entry>
</feed>
