<feed xmlns='http://www.w3.org/2005/Atom'>
<title>apt/test, branch 1.4_rc1</title>
<subtitle>Debians commandline package manager</subtitle>
<id>https://git.kalnischkies.de/apt/atom?h=1.4_rc1</id>
<link rel='self' href='https://git.kalnischkies.de/apt/atom?h=1.4_rc1'/>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/'/>
<updated>2017-01-24T18:19:48Z</updated>
<entry>
<title>test suite: Do not exit 0 in trap for QUIT</title>
<updated>2017-01-24T18:19:48Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>jak@debian.org</email>
</author>
<published>2017-01-24T18:11:30Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=bcb1919a88ea746460e623dd591f7a00135eadda'/>
<id>urn:sha1:bcb1919a88ea746460e623dd591f7a00135eadda</id>
<content type='text'>
This hides errors in the test suite because it will exit
with 0 here. Instead, just do exit 1 in most traps, and
do just the cleanup in the QUIT hook.

This fixes a regression introduced with the caching of the
GPG home directory in 4ce2f35248123ff2366c8c365ad6a94945578d66.
</content>
</entry>
<entry>
<title>fix various typos reported by spellintian</title>
<updated>2017-01-19T14:59:38Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2017-01-19T14:14:19Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=93cff633a830e222693fc0f3d78e6e534d1126ee'/>
<id>urn:sha1:93cff633a830e222693fc0f3d78e6e534d1126ee</id>
<content type='text'>
Most of them in (old) code comments. The two instances of user visible
string changes the po files of the manpages are fixed up as well.

Gbp-Dch: Ignore
Reported-By: spellintian
</content>
</entry>
<entry>
<title>make the moo reproducible</title>
<updated>2017-01-19T10:50:41Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2017-01-19T10:50:41Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=25a14d4ccfceb2698edce01092bc6a1dbe9fb217'/>
<id>urn:sha1:25a14d4ccfceb2698edce01092bc6a1dbe9fb217</id>
<content type='text'>
Normal cows moo every time they feel like it and it might be a "moo",
"moo!" or "moo?". This is completely unacceptable behaviour in our super
cow through as as a superior being it has to show its superiority over
the common cows and the meager easter eggs by being fully reproducible!

The second version of Chris' patch is modified to include an array of
tests for this feature – which doubles as explanation for some of the
moo lines by giving more exact dates – and falling back to current time
if the environment is invalid + passing time around instead of having an
invalid environment be an unrecoverable error (aka: Guru Meditation) as
that is more inline with how apt usually behaves: The wisdom of super cow
should be available to everyone, even to the most misfortune users not
capable of having a valid environment variable.

That makes the code slightly more ugly, so instead of requiring a young
follower to produce a third version a high priest of the cult applied the
finishing touches as he is used to the pain by now – and another round
with the slowpoke high priest would have been a serious threat to the
Debian release schedule which the cow would not approve.

Closes: #848721
Signed-off-by: Super Cow
Thanks: Chris Lamb for initial patch and guru meditation
</content>
</entry>
<entry>
<title>remove 'old' FAILED files in the next acquire call</title>
<updated>2017-01-19T02:57:45Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2017-01-19T02:57:45Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=7ca83492e802967f183babf06ab541b1b51f1703'/>
<id>urn:sha1:7ca83492e802967f183babf06ab541b1b51f1703</id>
<content type='text'>
If apt renames a file to .FAILED it leaves its namespace and is never
touched again – expect since 1.1~exp4 in which "apt clean" will remove
those files. The usefulness of these files rapidly degrades if you don't
keep the update log itself (together with debug output in the best case)
through and on 99% of all system they will be kept around forever just
to collect dust over time and eat up space.

With this commit an update call will remove all FAILED files of previous
runs, so that the FAILED files you have on disk are always only the ones
related to the last apt run stopping apt from hoarding files.

Closes: 846476
</content>
</entry>
<entry>
<title>fix 'install --no-download' mode</title>
<updated>2017-01-19T02:06:00Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2017-01-19T01:53:35Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=3313eaf97c83177433478505c05815ab02f9782b'/>
<id>urn:sha1:3313eaf97c83177433478505c05815ab02f9782b</id>
<content type='text'>
The mode wasn't working at all if not used together with --fix-missing
which while likely to come in pairs its legal to use standalone.

Regression-in: eb1f04dda07c2b69549ad9fd793cca0e91841b3e
</content>
</entry>
<entry>
<title>don't show update stats if cache generation is disabled</title>
<updated>2017-01-18T23:57:38Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2017-01-18T10:31:13Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=33f982b90a4f77be18cb82daf8c79e9c5513761c'/>
<id>urn:sha1:33f982b90a4f77be18cb82daf8c79e9c5513761c</id>
<content type='text'>
Unlikely that anyone is actually running into this, but if we asked to
not generate a cache and avoid it in the first step we shouldn't create
one implicitly anyway by displaying the statistics.
</content>
</entry>
<entry>
<title>test: use downloadfile instead of apthelper download-file</title>
<updated>2017-01-17T15:35:54Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>jak@debian.org</email>
</author>
<published>2017-01-17T15:31:30Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=803dabde5a4345ce83b3d2ffbd475786db9769d9'/>
<id>urn:sha1:803dabde5a4345ce83b3d2ffbd475786db9769d9</id>
<content type='text'>
This prevents CI failures from happening in 1.3 and 1.2 and
might actually be more complete.

Gbp-Dch: ignore
</content>
</entry>
<entry>
<title>CMake: Document that the globs are expanded during CMake</title>
<updated>2017-01-17T13:33:02Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>jak@debian.org</email>
</author>
<published>2017-01-17T13:33:02Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=b59a8c6e29015c4d19c4b39a63b328af7d87d1ee'/>
<id>urn:sha1:b59a8c6e29015c4d19c4b39a63b328af7d87d1ee</id>
<content type='text'>
This will avoid people from thinking that they have to do nothing
when they change the set of files.

Gbp-Dch: ignore
</content>
</entry>
<entry>
<title>https: Quote path in URL before passing it to curl</title>
<updated>2017-01-17T00:59:15Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>jak@debian.org</email>
</author>
<published>2016-12-29T13:16:07Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=994515e689dcc5f963f5fed58284831750a5da03'/>
<id>urn:sha1:994515e689dcc5f963f5fed58284831750a5da03</id>
<content type='text'>
Curl requires URLs to be urlencoded. We are however giving it
undecoded URLs. This causes it go completely nuts if there is
a space in the URI, producing requests like:

    GET /a file HTTP/1.1

which the servers then interpret as a GET request for "/a" with
HTTP version "file" or some other non-sense.

This works around the issue by encoding the path component of
the URL. I'm not sure if we should encode other parts of the URL
as well, this one seems to do the trick for the actual issue at
hand.

A more correct fix is to avoid the dequoting and (re-)quoting
of URLs when a redirect occurs / a new request is sent. That's
been on the radar for probably a year or two now, but nobody
bothered implementing that yet.

LP: #1651923
</content>
</entry>
<entry>
<title>Read dpkg tables to handle architecture wildcards</title>
<updated>2017-01-17T00:43:50Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>jak@debian.org</email>
</author>
<published>2017-01-16T23:08:16Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=6ede8952f55a1bc356b42b1adc7b9bd504af943c'/>
<id>urn:sha1:6ede8952f55a1bc356b42b1adc7b9bd504af943c</id>
<content type='text'>
Our implementation of wildcards was rudimentary. It worked for some
common ones, but it was also broken: For example, armel matched any-armel,
but should match any-arm.

With this commit, we load the correct tables from dpkg. Supported are
both triplets and quadruplet tables (the latter introduced in dpkg 1.18.11).

There are some odd things we have to deal with in the cache filter for
historical and API reasons:

* The character "*" must be accepted as an alternative to any - in fact
  it may appear anywhere in the wildcard as we also allow fnmatch() style
  wildcard matching on the commandline.

* The code might get passed an arch with a minus at the end, for example
  the cmdline "install apt:any-arm-" will first try to check if any-arm-
  is a valid architecture. We deal with this by rejecting any wildcard
  ending in a minus.

* Triplets are actually implemented by extending them to faux quadruplets
  - by prepending a "base" component for the architecture tuple, and "any"
  if there is a wildcard component.

Once we have constructed a wildcard, it is transformed into an fnmatch()
expression for historical reasons. In the future, we should really get a
tuple class and implement matching in a better, more explicit way.

This does for now though - it passes all the test cases and accepts all
things it should accept.

Closes: #748936
Thanks: James Clarke &lt;jrtc27@jrtc27.com&gt; for the initial patch
</content>
</entry>
</feed>
