<feed xmlns='http://www.w3.org/2005/Atom'>
<title>apt/apt-private/private-json-hooks.cc, branch 2.5.2</title>
<subtitle>Debians commandline package manager</subtitle>
<id>https://git.kalnischkies.de/apt/atom?h=2.5.2</id>
<link rel='self' href='https://git.kalnischkies.de/apt/atom?h=2.5.2'/>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/'/>
<updated>2022-05-07T08:45:44Z</updated>
<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>Remove unused public zlib include from libapt fileutl.h</title>
<updated>2022-05-07T08:45:44Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2022-04-21T01:01:22Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=8fd65748589bb1e0b671d4a291521bfba1664c5c'/>
<id>urn:sha1:8fd65748589bb1e0b671d4a291521bfba1664c5c</id>
<content type='text'>
Our public interface doesn't use zlib for quite a while now so lets drop
the last remnants as hopefully nobody depends on us bringing it in…
Unlike our own private lib for transitive provision of unistd.h.

References: 680b916ce7203a40ebd0a3882b9a71ca77278a67
</content>
</entry>
<entry>
<title>Temporarily Revert "2.3-only: Warn that the 0.1 protocol is deprecated"</title>
<updated>2021-04-29T08:42:59Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>julian.klode@canonical.com</email>
</author>
<published>2021-04-29T08:42:59Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=b60cda7992d316123b036a4a0eb5f472d21e9cdd'/>
<id>urn:sha1:b60cda7992d316123b036a4a0eb5f472d21e9cdd</id>
<content type='text'>
This reverts commit 64127478630b676838735b509fec5cdfa36874c8.
</content>
</entry>
<entry>
<title>2.3-only: Warn that the 0.1 protocol is deprecated</title>
<updated>2021-04-23T10:26:46Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>julian.klode@canonical.com</email>
</author>
<published>2021-04-23T09:39:15Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=64127478630b676838735b509fec5cdfa36874c8'/>
<id>urn:sha1:64127478630b676838735b509fec5cdfa36874c8</id>
<content type='text'>
</content>
</entry>
<entry>
<title>json: Hook protocol 0.2 (added upgrade,downgrade,reinstall modes)</title>
<updated>2021-04-23T10:26:46Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>julian.klode@canonical.com</email>
</author>
<published>2021-04-23T09:37:28Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=80dd1447595c536d31912c486ac5e96f983ccc7a'/>
<id>urn:sha1:80dd1447595c536d31912c486ac5e96f983ccc7a</id>
<content type='text'>
Hook protocol 0.2 makes the new fields we added mandatory, and
replaces `install` mode with `upgrade`, `downgrade`, `reinstall`
where appropriate.

Hook negotiation is hacky, but it's the best we can do for now.
Users are advised to upgrade to 0.2
</content>
</entry>
<entry>
<title>json: Add `package-list` and `statistics` install hooks</title>
<updated>2021-04-23T10:26:46Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>julian.klode@canonical.com</email>
</author>
<published>2021-04-23T08:36:18Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=dc11a4422d99cb49817c827b9f827617b5880600'/>
<id>urn:sha1:dc11a4422d99cb49817c827b9f827617b5880600</id>
<content type='text'>
This enables hooks to output additional information.
</content>
</entry>
<entry>
<title>json: Add origins fields to version</title>
<updated>2021-04-23T10:26:46Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>julian.klode@canonical.com</email>
</author>
<published>2021-04-22T08:45:45Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=4b5215e8e2e31637cb0998ecb80d3c3146760579'/>
<id>urn:sha1:4b5215e8e2e31637cb0998ecb80d3c3146760579</id>
<content type='text'>
Provide access to the origins of a package, such that tools
can display information about them; for example, you can write
a hook counting security upgrades.
</content>
</entry>
<entry>
<title>json: Flush standard file descriptors before calling hooks</title>
<updated>2021-04-23T10:25:40Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>julian.klode@canonical.com</email>
</author>
<published>2021-04-23T08:34:00Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=0ed07360cd7e229cb458580de1f349d5d9f3568b'/>
<id>urn:sha1:0ed07360cd7e229cb458580de1f349d5d9f3568b</id>
<content type='text'>
This ensures messages are displayed in the correct order.
</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>
</feed>
