<feed xmlns='http://www.w3.org/2005/Atom'>
<title>apt/apt-pkg/edsp.cc, branch 2.7.9</title>
<subtitle>Debians commandline package manager</subtitle>
<id>https://git.kalnischkies.de/apt/atom?h=2.7.9</id>
<link rel='self' href='https://git.kalnischkies.de/apt/atom?h=2.7.9'/>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/'/>
<updated>2022-09-28T14:32:34Z</updated>
<entry>
<title>edsp: Add support for phased updates (test in LP#1990586)</title>
<updated>2022-09-28T14:32:34Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>julian.klode@canonical.com</email>
</author>
<published>2022-09-23T14:40:05Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=28e44a3cd8b879744bebfec1133d0a9c51b25d88'/>
<id>urn:sha1:28e44a3cd8b879744bebfec1133d0a9c51b25d88</id>
<content type='text'>
Add Machine-ID to the first stanza, and copy Phased-Update-Percentage
to package stanzas.

This will be tested at a later state by the EDSP test case for
bug 1990586.
</content>
</entry>
<entry>
<title>Avoid .c_str() on strings feed into pkgTagSection::FindS</title>
<updated>2022-04-01T12:16:19Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2022-03-28T16:05:44Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=0b156cd1711a5e27643b941f5a321a62e5a9b628'/>
<id>urn:sha1:0b156cd1711a5e27643b941f5a321a62e5a9b628</id>
<content type='text'>
FindS has a APT::StringView based API nowadays, so we can avoid these
explicit calls also allowing us to avoid the std::string in input or
output entirely or at least move it a few branches down.
</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>Refactor architecture handling in EDSP/EIPP code</title>
<updated>2021-09-04T13:35:15Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2021-09-04T12:13:07Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=902d114fce257fc1d51c510ac02de42b8ff1ec0e'/>
<id>urn:sha1:902d114fce257fc1d51c510ac02de42b8ff1ec0e</id>
<content type='text'>
This just moves code around without actually changing anything.

Gbp-Dch: Ignore
</content>
</entry>
<entry>
<title>Deduplicate EDSP Provides line of M-A:foreign packages</title>
<updated>2020-06-14T08:19:39Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2020-06-14T07:48:29Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=a1464cb4025cd737ac57ea7392402d5efd2af027'/>
<id>urn:sha1:a1464cb4025cd737ac57ea7392402d5efd2af027</id>
<content type='text'>
M-A:foreign causes Provides to apply to all architectures and as we
wanted to avoid resolver changes for M-A those are done by explicitly
creating these provides instead of forcing the resolvers to learn about
this. The EDSP is a different beast though &amp; we don't need this trick
here especially as it leads to needless (but harmless) duplication.

No sort+unique is done to avoid changing order (not that it should
matter, but just to be sure), but the sets should be small enough to not
make a huge difference either way.
</content>
</entry>
<entry>
<title>Tell EDSP solvers about all installed pkgs ignoring arch</title>
<updated>2020-06-14T08:19:39Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2020-06-13T09:45:38Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=419190f6c17aaf750887ec7471599681377fb01b'/>
<id>urn:sha1:419190f6c17aaf750887ec7471599681377fb01b</id>
<content type='text'>
We usually tell EDSP solvers only about architectures we are configured
to treat as native/foreign, but the system could have packages from
other architectures installed (even if very unlikely) which could
influence the solution (e.g. requiring a removal) so we make sure to
tell them.
</content>
</entry>
<entry>
<title>Ensure EDSP doesn't use a dangling architecture string</title>
<updated>2020-05-25T10:05:00Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2020-05-24T14:27:15Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=90a7a5e32643a67f4245460e7659d9dee230e9e7'/>
<id>urn:sha1:90a7a5e32643a67f4245460e7659d9dee230e9e7</id>
<content type='text'>
../apt-pkg/edsp.cc:861:23: error: object backing the pointer will be destroyed at the end of the full-expression [-Wdangling-gsl]
   const char *arch = _config-&gt;Find("APT::Architecture").c_str();

Compilers are probably optimizing it the way the patch does by hand now. Small
string optimisation helps likely as well. Othwise that should have failed left
and right as EDSP is used by experimental and such builders to talk to aspcud.

Reported-By: clang
</content>
</entry>
<entry>
<title>Rename _count() macro to APT_ARRAY_SIZE()</title>
<updated>2020-01-07T21:51:41Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>julian.klode@canonical.com</email>
</author>
<published>2020-01-07T21:37:36Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=df4b92bd1df204e7fb0d22e73e143d205d74aea6'/>
<id>urn:sha1:df4b92bd1df204e7fb0d22e73e143d205d74aea6</id>
<content type='text'>
</content>
</entry>
<entry>
<title>edsp: Remove deprecated functions</title>
<updated>2019-02-26T15:31:20Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>julian.klode@canonical.com</email>
</author>
<published>2019-02-26T12:26:14Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=e9ac86f11b23310924058a045e0352b499c66d43'/>
<id>urn:sha1:e9ac86f11b23310924058a045e0352b499c66d43</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Reformat and sort all includes with clang-format</title>
<updated>2017-07-12T11:57:51Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>jak@debian.org</email>
</author>
<published>2017-07-12T11:40:41Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=87274d0f22e1dfd99b2e5200e2fe75c1b804eac3'/>
<id>urn:sha1:87274d0f22e1dfd99b2e5200e2fe75c1b804eac3</id>
<content type='text'>
This makes it easier to see which headers includes what.

The changes were done by running

    git grep -l '#\s*include'  \
        | grep -E '.(cc|h)$' \
        | xargs sed -i -E 's/(^\s*)#(\s*)include/\1#\2 include/'

To modify all include lines by adding a space, and then running
./git-clang-format.sh.
</content>
</entry>
</feed>
