<feed xmlns='http://www.w3.org/2005/Atom'>
<title>apt/apt-pkg/deb, branch 1.0.9.5</title>
<subtitle>Debians commandline package manager</subtitle>
<id>https://git.kalnischkies.de/apt/atom?h=1.0.9.5</id>
<link rel='self' href='https://git.kalnischkies.de/apt/atom?h=1.0.9.5'/>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/'/>
<updated>2014-12-23T10:43:16Z</updated>
<entry>
<title>pass-through stdin fd instead of content if not a terminal</title>
<updated>2014-12-23T10:43:16Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2014-12-22T22:14:08Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=748a2177dcf8ff72bca90f5c7d516559ddd67352'/>
<id>urn:sha1:748a2177dcf8ff72bca90f5c7d516559ddd67352</id>
<content type='text'>
Commit 299aea924ccef428219ed6f1a026c122678429e6 fixes the problem of
not logging terminal in case stdin &amp; stdout are not a terminal. The
problem is that we are then trying to pass-through stdin content by
reading from the apt-process stdin and writing it to the stdin of the
child (dpkg), which works great for users who can control themselves,
but pipes and co are a bit less forgiving causing us to pass everything
to the first child process, which if the sending part of the pipe is
e.g. 'yes' we will never see the end of it (as the pipe is full at some
point and further writing blocks).

There is a simple solution for that of course: If stdin isn't a terminal,
we us the apt-process stdin as stdin for the child directly (We don't do
this if it is a terminal to be able to save the typed input in the log).

Closes: 773061
</content>
</entry>
<entry>
<title>always run 'dpkg --configure -a' at the end of our dpkg callings</title>
<updated>2014-12-23T10:43:16Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2014-11-18T18:53:56Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=a2a75ff4516f7609f4c55b42270abb8d08943c60'/>
<id>urn:sha1:a2a75ff4516f7609f4c55b42270abb8d08943c60</id>
<content type='text'>
dpkg checks now for dependencies before running triggers, so that
packages can now end up in trigger states (especially those we are not
touching at all with our calls) after apt is done running.

The solution to this is trivial: Just tell dpkg to configure everything
after we have (supposely) configured everything already. In the worst
case this means dpkg will have to run a bunch of triggers, usually it
will just do nothing though.

The code to make this happen was already available, so we just flip a
config option here to cause it to be run. This way we can keep
pretending that triggers are an implementation detail of dpkg.
--triggers-only would supposely work as well, but --configure is more
robust in regards to future changes to dpkg and something we will
hopefully make use of in future versions anyway (as it was planed at the
time this and related options were implemented).

Note that dpkg currently has a workaround implemented to allow upgrades
to jessie to be clean, so that the test works before and after. Also
note that test (compared to the one in the bug) drops the await test as
its is considered a loop by dpkg now.

Closes: 769609
</content>
</entry>
<entry>
<title>do not make PTY slave the controlling terminal</title>
<updated>2014-12-23T10:43:16Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2014-12-10T21:26:59Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=e18f6133b254db9e1dc7b202366b067b15a68123'/>
<id>urn:sha1:e18f6133b254db9e1dc7b202366b067b15a68123</id>
<content type='text'>
If we have no controlling terminal opening a terminal will make this
terminal our controller, which is a serious problem if this happens to
be the pseudo terminal we created to run dpkg in as we will close this
terminal at the end hanging ourself up in the process…

The offending open is the one we do to have at least one slave fd open
all the time, but for good measure, we apply the flag also to the slave
fd opening in the child process as we set the controlling terminal
explicitely here.

This is a regression from 150bdc9ca5d656f9fba94d37c5f4f183b02bd746 with
the slight twist that this usecase was silently broken before in that it
wasn't logging the output in term.log (as a pseudo terminal wasn't
created).

Closes: 772641
</content>
</entry>
<entry>
<title>fix PTY interaction on linux and kfreebsd</title>
<updated>2014-11-28T15:15:39Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2014-11-17T23:59:39Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=299aea924ccef428219ed6f1a026c122678429e6'/>
<id>urn:sha1:299aea924ccef428219ed6f1a026c122678429e6</id>
<content type='text'>
We run dpkg on its own pty, so we can log its output and have our own
output around it (like the progress bar), while also allowing debconf
and configfile prompts to happen.

In commit 223ae57d468fdcac451209a095047a07a5698212 we changed to
constantly reopening the slave for kfreebsd. This has the sideeffect
though that in some cases slave and master will lose their connection on
linux, so that no output is passed along anymore. We fix this by having
always an fd referencing the slave open (linux), but we don't use it
(kfreebsd).

Failing to get our PTY up and running has many (bad) consequences
including (not limited to, nor all at ones or in any case) garbled ouput,
no output, no logging, a (partial) mixture of the previous items, …
This commit is therefore also reshuffling quiet a bit of the creation
code to get especially the output part up and running on linux and the
logging for kfreebsd.

Note that the testcase tries to cover some cases, but this is an
interactivity issue so only interactive usage can really be a good test.

Closes: 765687
</content>
</entry>
<entry>
<title>close leaking slave fd after setting up pty magic</title>
<updated>2014-11-28T15:15:39Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2014-11-17T14:06:35Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=9fc0b435593839de47098212f0ae5f15b6263099'/>
<id>urn:sha1:9fc0b435593839de47098212f0ae5f15b6263099</id>
<content type='text'>
The fd moves out of scope here anyway, so we should close it properly
instead of leaking it which will tickle down to dpkg maintainer scripts.

Closes: 767774
</content>
</entry>
<entry>
<title>use 'best' hash for source authentication</title>
<updated>2014-11-10T16:23:29Z</updated>
<author>
<name>David Kalnischkies</name>
<email>kalnischkies@gmail.com</email>
</author>
<published>2013-08-18T21:27:24Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=3a2b39ee602dd5a98b8fdaee2f1c8e0b13a276e2'/>
<id>urn:sha1:3a2b39ee602dd5a98b8fdaee2f1c8e0b13a276e2</id>
<content type='text'>
Collect all hashes we can get from the source record and put them into a
HashStringList so that 'apt-get source' can use it instead of using
always the MD5sum.

We therefore also deprecate the MD5 struct member in favor of the list.

While at it, the parsing of the Files is enhanced so that records which
miss "Files" (aka MD5 checksums) are still searched for other checksums
as they include just as much data, just not with a nice and catchy name.

This is a cherry-pick of 1262d35 with some dirty tricks to preserve ABI.

LP: 1098738
</content>
</entry>
<entry>
<title>Fix incorrect comparison between signed/unsigned</title>
<updated>2014-10-23T18:32:01Z</updated>
<author>
<name>Michael Vogt</name>
<email>mvo@debian.org</email>
</author>
<published>2014-10-23T18:32:01Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=28460cb27846b2437010b08adf10bde18e370974'/>
<id>urn:sha1:28460cb27846b2437010b08adf10bde18e370974</id>
<content type='text'>
Git-Dch: ignore
</content>
</entry>
<entry>
<title>Use sysconf(_SC_ARG_MAX) to find the size of Dpkg::MaxArgBytes</title>
<updated>2014-10-23T18:19:32Z</updated>
<author>
<name>Michael Vogt</name>
<email>mvo@debian.org</email>
</author>
<published>2014-10-23T18:19:32Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=a3cada6abc42a2966c427a3b0731977ecfa7edcb'/>
<id>urn:sha1:a3cada6abc42a2966c427a3b0731977ecfa7edcb</id>
<content type='text'>
Instead of hardcoding Dpkg::MaxArgBytes find out about it using
the sysconf(_SC_ARG_MAX) call.
</content>
</entry>
<entry>
<title>Update Status field values handling</title>
<updated>2014-10-08T15:48:44Z</updated>
<author>
<name>Guillem Jover</name>
<email>guillem@debian.org</email>
</author>
<published>2014-09-01T14:09:48Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=9227645d6d355f9f4332f400b8d58c8fa8f1e899'/>
<id>urn:sha1:9227645d6d355f9f4332f400b8d58c8fa8f1e899</id>
<content type='text'>
Remove long obsolete (hold, hold-reinstreq, removal-failed) or just
wrong (post-inst-failed vs postinst-failed) values, that have been
autoconverted by dpkg at run-time to their new equivalents, so there
should not be any such instance in any recent system (removal-failed
since dpkg 1.1.4 in Apr 1996, hold and hold-reinstreq since dpkg
1.2.0 in May 1996). dpkg even stopped doing the mapping in 1.15.4
and 1.15.8 respectively.

At the same time sort the list in the same order as they appear in
the dpkg code.
</content>
</entry>
<entry>
<title>implement the updated build profile spec</title>
<updated>2014-10-06T12:43:48Z</updated>
<author>
<name>josch</name>
<email>j.schauer@email.de</email>
</author>
<published>2014-08-19T08:29:29Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=ac81c0f9b79351258d3a29212f7fda312e5afeb5'/>
<id>urn:sha1:ac81c0f9b79351258d3a29212f7fda312e5afeb5</id>
<content type='text'>
</content>
</entry>
</feed>
