<feed xmlns='http://www.w3.org/2005/Atom'>
<title>apt/apt-private/private-json-hooks.cc, branch 2.3.2</title>
<subtitle>Debians commandline package manager</subtitle>
<id>https://git.kalnischkies.de/apt/atom?h=2.3.2</id>
<link rel='self' href='https://git.kalnischkies.de/apt/atom?h=2.3.2'/>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/'/>
<updated>2021-04-23T10:26:46Z</updated>
<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>
<entry>
<title>json: Escape strings using \u escape sequences, add test</title>
<updated>2021-04-23T10:25:40Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>julian.klode@canonical.com</email>
</author>
<published>2021-04-21T09:31:46Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=57b727af4e1eea4ea118ca5e5028fa7ce86fb538'/>
<id>urn:sha1:57b727af4e1eea4ea118ca5e5028fa7ce86fb538</id>
<content type='text'>
This allows us to correctly encode strings containing quotation
marks, escape characters and control characters.

The test case is a bit nasty because it embeds private-cachefile.cc
for linkage reasons.
</content>
</entry>
<entry>
<title>Apply various suggestions by cppcheck</title>
<updated>2019-07-08T13:51:17Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2019-07-08T13:48:59Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=2b734a7ec429825c7007c1093883229e069d36c7'/>
<id>urn:sha1:2b734a7ec429825c7007c1093883229e069d36c7</id>
<content type='text'>
Reported-By: cppcheck
</content>
</entry>
<entry>
<title>Adjust code for missing includes/using std::string</title>
<updated>2019-06-12T13:02:55Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>julian.klode@canonical.com</email>
</author>
<published>2019-06-12T11:47:46Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=82b881caafa0c82b20db3900f8b76cebd8a393a4'/>
<id>urn:sha1:82b881caafa0c82b20db3900f8b76cebd8a393a4</id>
<content type='text'>
</content>
</entry>
</feed>
