<feed xmlns='http://www.w3.org/2005/Atom'>
<title>apt/apt-pkg/edsp/edsplistparser.cc, branch 3.1.6</title>
<subtitle>Debians commandline package manager</subtitle>
<id>https://git.kalnischkies.de/apt/atom?h=3.1.6</id>
<link rel='self' href='https://git.kalnischkies.de/apt/atom?h=3.1.6'/>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/'/>
<updated>2025-03-03T10:21:55Z</updated>
<entry>
<title>edsp: Write 'Size' to the EDSP files</title>
<updated>2025-03-03T10:21:55Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>julian.klode@canonical.com</email>
</author>
<published>2025-03-03T10:20:52Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=45b04762e1990a761a7c308f9e73a286a92f908a'/>
<id>urn:sha1:45b04762e1990a761a7c308f9e73a286a92f908a</id>
<content type='text'>
This allows solvers to optimize by download size; and gives us
a better means of interpreting "downloadable" debs (they must have
a size &gt; 0 after all).
</content>
</entry>
<entry>
<title>Consider 0-size debs not downloadable, set a size in EDSP</title>
<updated>2025-03-03T10:21:55Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>julian.klode@canonical.com</email>
</author>
<published>2025-02-26T11:18:39Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=b33677749142e0997121d358277b18136bdbef87'/>
<id>urn:sha1:b33677749142e0997121d358277b18136bdbef87</id>
<content type='text'>
EDSP dumps all appear as a single file, so we cannot determine
correctly if a package is obsolete. We can fix this by ensuring
that only debs with a size are downloadable, and then by faking
a size in EDSP: The size is 1 if APT-Release is set (there is
a source to download it from) or 0 otherwise.

This ensures that the obsolete logic in solver3 works correctly,
as well as the obsolete patterns, if anyone could actually use
it on the EDSP files.
</content>
</entry>
<entry>
<title>cache: Introduce partial SourceVersion support</title>
<updated>2025-02-15T15:37:19Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>julian.klode@canonical.com</email>
</author>
<published>2025-02-15T15:37:19Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=4bcb198a67156b2654f3b64173499ab78f0d4d9a'/>
<id>urn:sha1:4bcb198a67156b2654f3b64173499ab78f0d4d9a</id>
<content type='text'>
This is the first step that introduces a 1:1 mapping between version
and source version. In a future version this can use the fields
currently marked unavailable to deduplicate the SourceVersion
objects across the group.

The policy gains a member for storing pins for sourceversions.

Together, in the future we should be able to determine candidates
for source versions.
</content>
</entry>
<entry>
<title>apt-pkg/edsp/edsplistparser.cc: APT::StringView -&gt; std::string_view</title>
<updated>2024-11-12T19:36:16Z</updated>
<author>
<name>наб</name>
<email>nabijaczleweli@nabijaczleweli.xyz</email>
</author>
<published>2024-11-12T16:59:21Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=982998a061461a503352d85b1d0a76a99c8480cd'/>
<id>urn:sha1:982998a061461a503352d85b1d0a76a99c8480cd</id>
<content type='text'>
</content>
</entry>
<entry>
<title>edsp: Parse source version from the Source-Version field</title>
<updated>2024-05-30T07:53:08Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>julian.klode@canonical.com</email>
</author>
<published>2024-05-30T07:51:13Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=c79bf305f6c3ba92972cd9c39f8d28c396c63bc4'/>
<id>urn:sha1:c79bf305f6c3ba92972cd9c39f8d28c396c63bc4</id>
<content type='text'>
EDSP uses the Source-Version field instead of storing the source
version in the Source field with the package name, adjust our
parser accordingly.

Use the override in the edspLikeListParser to do so rather than
dumb this into the correct place in the debListParser.
</content>
</entry>
<entry>
<title>Use pkgTagSection::Key in more places in src:apt</title>
<updated>2022-04-01T12:16:19Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2022-04-01T11:45:09Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=472376be6818b5ea43250abcbecfcab53b4a729a'/>
<id>urn:sha1:472376be6818b5ea43250abcbecfcab53b4a729a</id>
<content type='text'>
The speed critical paths were converted earlier, but the remaining
could benefit a tiny bit from this as well especially as we have the
facility now available and can therefore brush up the code in various
places in the process as well.

Also takes the time to add the hidden Exists method advertised in
the headers, but previously not implemented.
</content>
</entry>
<entry>
<title>Stop parsing undocumented unknown EDSP field APT-Hash</title>
<updated>2022-04-01T12:16:19Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2022-03-31T11:00:04Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=ba95ef53cf09b7f45c2ef9a39c0c158b7d79a88e'/>
<id>urn:sha1:ba95ef53cf09b7f45c2ef9a39c0c158b7d79a88e</id>
<content type='text'>
It was introduced in the first commit for EDSP, but beside this
reference, never appears in documentation and code. Seems like an
earlier name of what APT-ID ended up to be and as such should be
more than safely being able to retire now.
</content>
</entry>
<entry>
<title>Make map_pointer&lt;T&gt; typesafe</title>
<updated>2020-02-24T17:29:07Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>julian.klode@canonical.com</email>
</author>
<published>2020-02-24T16:46:10Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=4fad7262291a8af1415fb9a3693678bd9610f0d6'/>
<id>urn:sha1:4fad7262291a8af1415fb9a3693678bd9610f0d6</id>
<content type='text'>
Instead of just using uint32_t, which would allow you to
assign e.g. a map_pointer&lt;Version&gt; to a map_pointer&lt;Package&gt;,
use our own smarter struct that has strict type checking.

We allow creating a map_pointer from a nullptr, and we allow
comparing map_pointer to nullptr, which also deals with comparisons
against 0 which are often used, as 0 will be implictly converted
to nullptr.
</content>
</entry>
<entry>
<title>Use a 32-bit djb VersionHash instead of CRC-16</title>
<updated>2020-02-18T12:39:26Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>julian.klode@canonical.com</email>
</author>
<published>2020-01-17T13:34:45Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=8c10048dce06ee0f160c86a6df07f0e6d2c34242'/>
<id>urn:sha1:8c10048dce06ee0f160c86a6df07f0e6d2c34242</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Remove includes of (md5|sha1|sha2).h headers</title>
<updated>2020-01-14T12:10:36Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>julian.klode@canonical.com</email>
</author>
<published>2020-01-07T20:21:35Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=8c1a37e12790a23f3b132899485e011f9134b483'/>
<id>urn:sha1:8c1a37e12790a23f3b132899485e011f9134b483</id>
<content type='text'>
Remove it everywhere, except where it is still needed.
</content>
</entry>
</feed>
