<feed xmlns='http://www.w3.org/2005/Atom'>
<title>apt/apt-private/private-json-hooks.cc, 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>2019-07-08T13:51:17Z</updated>
<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>
<entry>
<title>Add 'explicit' to most single argument constructors</title>
<updated>2019-04-30T15:43:31Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>julian.klode@canonical.com</email>
</author>
<published>2019-04-30T10:07:07Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=b52c6552c44fcb997b0db9f5e9f17b4674dd5359'/>
<id>urn:sha1:b52c6552c44fcb997b0db9f5e9f17b4674dd5359</id>
<content type='text'>
This prevents implicit conversions that we do not want, such
as having a FileFd* being converted to a debListParser.

Two cases are not yet handled because they require changes
in code using them:

1. The classes in hashes.h
2. The URI class - this one is used quite a lot
</content>
</entry>
<entry>
<title>private-json-hooks.cc: deal with EPIPE</title>
<updated>2019-01-29T09:17:33Z</updated>
<author>
<name>Michael Vogt</name>
<email>mvo@ubuntu.com</email>
</author>
<published>2019-01-29T09:17:33Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=6af48a7f83540c807be1d2777470d23e6b260eb8'/>
<id>urn:sha1:6af48a7f83540c807be1d2777470d23e6b260eb8</id>
<content type='text'>
While running our CI we noticed that sometimes we see an error
from the new json hooks code. The error message is:
```
E: Could not read response to hello message from hook [ ! -f /usr/bin/snap ] || /usr/bin/snap advise-snap --from-apt 2&gt;/dev/null || true: Broken pipe
```
when purging the snapd package which provides the hook. This indicates
that we should probably also consider EPIPE not an error (just like
we do for ECONNRESET). This PR does exactly this.
</content>
</entry>
<entry>
<title>Fix typo reported by codespell in code comments</title>
<updated>2018-11-25T16:38:31Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2018-11-25T16:38:31Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=f313e09d167cc7a83846ac9d4d5d72ba10cc2638'/>
<id>urn:sha1:f313e09d167cc7a83846ac9d4d5d72ba10cc2638</id>
<content type='text'>
No user visible change expect for some years old changelog entries,
so we don't really need to add a new one for this…

Reported-By: codespell
Gbp-Dch: Ignore
</content>
</entry>
<entry>
<title>Handle JSON hooks that just close the file/exit and fix some other errors</title>
<updated>2018-06-27T13:09:45Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>julian.klode@canonical.com</email>
</author>
<published>2018-06-27T09:31:21Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=1d53cffad22c92645090e0e6ddde31fe4f7c3b05'/>
<id>urn:sha1:1d53cffad22c92645090e0e6ddde31fe4f7c3b05</id>
<content type='text'>
JSON hooks might disappear and the common idiom to work around hooks
disappearing is to check for the hook in the shell snippet that is
in the apt.conf file and if it does not exist, do nothing. This caused
APT to fail however, expecting it to acknowledge the handshake.
Ignoring ECONNRESET on handshakes solves the problem.

The error case, and the other error cases also did not stop execution
of the hook, causing more errors to pile up. Fix this by directly going
to the closing part of the code.

LP: #1776218
</content>
</entry>
<entry>
<title>Introduce experimental new hooks for command-line tools</title>
<updated>2018-04-15T19:11:42Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>julian.klode@canonical.com</email>
</author>
<published>2018-04-13T10:32:35Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=e9796b9c21ee7d8e8f5d6e2a24db43fc4368b557'/>
<id>urn:sha1:e9796b9c21ee7d8e8f5d6e2a24db43fc4368b557</id>
<content type='text'>
This allows third-party package managers like snap or flatpak
to hook in and suggest alternatives if packages could not be
found, for example.

This is still highly experimental and the protocol might change
in future versions.
</content>
</entry>
</feed>
