Jay Freeman (saurik) [Tue, 31 Jan 2017 13:53:50 +0000 (05:53 -0800)]
Port TagIterator to correctly support ReMap (doh).
Jay Freeman (saurik) [Tue, 31 Jan 2017 13:02:51 +0000 (05:02 -0800)]
Repeat after me: IMS-Hit is really "I am shit" :/.
Jay Freeman (saurik) [Tue, 31 Jan 2017 03:53:18 +0000 (19:53 -0800)]
It is NOT OK to just munmap memory from malloc :/.
Jay Freeman (saurik) [Mon, 30 Jan 2017 19:11:45 +0000 (11:11 -0800)]
Symlinking final file failed is a common issue :/.
Jay Freeman (saurik) [Mon, 30 Jan 2017 17:46:25 +0000 (09:46 -0800)]
This is realloc, not reallocf: be more careful :/.
Jay Freeman (saurik) [Mon, 30 Jan 2017 17:43:43 +0000 (09:43 -0800)]
Bill is consistent. Bill is correct. Be like Bill.
Jay Freeman (saurik) [Mon, 30 Jan 2017 17:15:49 +0000 (09:15 -0800)]
You can't just assume the start is always zero :/.
Jay Freeman (saurik) [Mon, 30 Jan 2017 17:13:46 +0000 (09:13 -0800)]
The length given to msync was calculated wrong :/.
Jay Freeman (saurik) [Mon, 30 Jan 2017 17:03:52 +0000 (09:03 -0800)]
Not /not/ immediately mapping a file is INSANE :/.
Jay Freeman (saurik) [Sun, 29 Jan 2017 23:01:00 +0000 (15:01 -0800)]
The entire concept of PendingError() is flawed :/.
Jay Freeman (saurik) [Fri, 27 Jan 2017 10:05:40 +0000 (02:05 -0800)]
Bug #807012 also involves package dependencies :/.
Jay Freeman (saurik) [Sat, 31 Dec 2016 08:44:08 +0000 (00:44 -0800)]
On IMS-Hit, you can't assume local compression :/.
Jay Freeman (saurik) [Sat, 31 Dec 2016 08:43:13 +0000 (00:43 -0800)]
It is *never* a good idea to throw away stderr :/.
Jay Freeman (saurik) [Fri, 30 Dec 2016 22:08:16 +0000 (14:08 -0800)]
It is just so absolutely critical that this works.
Jay Freeman (saurik) [Fri, 30 Dec 2016 21:49:21 +0000 (13:49 -0800)]
My "tolerance" patch was a tad bit overzealous :(.
Jay Freeman (saurik) [Fri, 30 Dec 2016 21:48:31 +0000 (13:48 -0800)]
You have to do the bounds check before the access.
Jay Freeman (saurik) [Fri, 30 Dec 2016 20:50:56 +0000 (12:50 -0800)]
Fix field-without-values appearing at end of file.
Jay Freeman (saurik) [Fri, 30 Dec 2016 05:52:02 +0000 (21:52 -0800)]
Of *course* I managed to get this check backwards.
Jay Freeman (saurik) [Fri, 30 Dec 2016 05:22:25 +0000 (21:22 -0800)]
In the C locale, let's avoid any crazy transforms.
Jay Freeman (saurik) [Fri, 30 Dec 2016 05:17:57 +0000 (21:17 -0800)]
It's just *mean* to complain if they already know.
Jay Freeman (saurik) [Mon, 26 Dec 2016 11:36:30 +0000 (03:36 -0800)]
Wreck validation until we can assess ecosystem :/.
Jay Freeman (saurik) [Mon, 26 Dec 2016 06:03:03 +0000 (22:03 -0800)]
This is 2016 and APT already requires use of mmap.
Jay Freeman (saurik) [Fri, 23 Dec 2016 09:29:49 +0000 (01:29 -0800)]
Only check for valid Date if checking Valid-Until.
Jay Freeman (saurik) [Wed, 30 Nov 2016 09:07:59 +0000 (01:07 -0800)]
I know this is "bad", but a "full wedge" is worse.
Jay Freeman (saurik) [Wed, 30 Nov 2016 08:51:55 +0000 (00:51 -0800)]
For speed, you *need* multiple downloads per host.
Jay Freeman (saurik) [Wed, 30 Nov 2016 08:39:04 +0000 (00:39 -0800)]
The fastest way to get field values is as a range.
Jay Freeman (saurik) [Wed, 30 Nov 2016 07:58:01 +0000 (23:58 -0800)]
Avoid wedging the entire system if recoverable :/.
Jay Freeman (saurik) [Wed, 30 Nov 2016 06:55:57 +0000 (22:55 -0800)]
Most interfaces (Maemo) need a high-level name :/.
Jay Freeman (saurik) [Wed, 30 Nov 2016 06:40:20 +0000 (22:40 -0800)]
Store tags in the cache (they are very useful :/).
Jay Freeman (saurik) [Wed, 30 Nov 2016 06:03:35 +0000 (22:03 -0800)]
unlinkat is way way too modern to not autoconf :/.
Jay Freeman (saurik) [Wed, 30 Nov 2016 06:02:18 +0000 (22:02 -0800)]
__deprecated is already defined by sys/cdefs.h :/.
Jay Freeman (saurik) [Wed, 30 Nov 2016 06:01:23 +0000 (22:01 -0800)]
arpa/nameser.h, unlike nameser.h, uses NS_ prefix.
Jay Freeman (saurik) [Wed, 30 Nov 2016 05:59:03 +0000 (21:59 -0800)]
std::map from std::initializer_list is "explicit".
Julian Andres Klode [Fri, 25 Nov 2016 22:47:08 +0000 (23:47 +0100)]
Release 1.4~beta1
Julian Andres Klode [Fri, 25 Nov 2016 22:48:29 +0000 (23:48 +0100)]
Add apt-pkg/tagfile-keys.cc to the gitignore file
This is output of triehash.
Gbp-Dch: ignore
Julian Andres Klode [Fri, 25 Nov 2016 12:12:28 +0000 (13:12 +0100)]
gpgv: Untrust SHA1, RIPE-MD/160, but allow downgrading to weak
Change the trust level check to allow downgrading an Untrusted
option to weak (APT::Hashes::SHA1::Weak "yes";), so it prints
a warning instead of an error; and change the default values
for SHA1 and RIPE-MD/160 from Weak to Untrusted.
Paul Wise [Fri, 25 Nov 2016 09:53:10 +0000 (10:53 +0100)]
show output as documented for APT::Periodic::Verbose 2
The documentation of APT::Periodic::Verbose doesn't match the code,
specifically level 2 should apply some things differently to level 1
but does not because it uses `-le 2` instead of `-lt 2` or `-le 1`.
Closes: 845599
David Kalnischkies [Thu, 24 Nov 2016 11:14:39 +0000 (12:14 +0100)]
optional write aptwebserver log to client specific files
The test test-handle-redirect-as-used-mirror-change serves multiple
clients at the same time, so the order of the output is undefined and
once in a while the two clients will intermix their lines causing the
grep we perform on it later to fail making our tests fail.
Solved by introducing client-specific logfiles which we all grep and
sort the result to have the results more stable.
Git-Dch: Ignore
David Kalnischkies [Fri, 18 Nov 2016 11:12:51 +0000 (12:12 +0100)]
follow the googletest merge in build-depends
David Kalnischkies [Sun, 13 Nov 2016 01:29:46 +0000 (02:29 +0100)]
get pdiff files from the same mirror as the index
In
ad9416611ab83f7799f2dcb4bf7f3ef30e9fe6f8 we fall back to asking the
original mirror (e.g. a redirector) if we do not get the expected
result. This works for the indexes, but patches are a different beast
and much simpler. Adding this fallback code here seems like overkill as
they are usually right along their Index file, so actually forward the
relevant settings to the patch items which fixes pdiff support combined
with a redirector and partial mirrors as in such a situation the pdiff
patches would be 404 and the complete index would be downloaded.
David Kalnischkies [Tue, 22 Nov 2016 12:02:48 +0000 (13:02 +0100)]
document which keyring formats are supported by apt-key
* the good old 'simple' keyring format
* the ascii armored variant since 1.4
Not supported is the (new in gpg 2.1) keybox format.
Closes: 844724
David Kalnischkies [Sun, 13 Nov 2016 19:52:18 +0000 (20:52 +0100)]
add apt-key support for armored GPG key files (*.asc)
Having binary files in /etc is kinda annoying – not that the armored
files are much better – but it is hard to keep tabs on which format the
file has ("simple" or "keybox") and different gnupg versions have
different default binary formats which can be confusing for users to
work with (beside that it is binary).
Adding support for this now will enable us in some distant future to
move to armored later on, much like we added trusted.gpg.d years before
the world picked it up.
David Kalnischkies [Sat, 12 Nov 2016 22:22:33 +0000 (23:22 +0100)]
report apt-key errors via status-fd messages
We report warnings from apt-key this way already since
29c590951f812d9e9c4f17706e34f2c3315fb1f6, so reporting errors seems like
a good addition. Most of those errors aren't really from apt-key
through, but from the code setting up and actually calling it which used
to just print to stderr which might or might not intermix them with
(other) progress lines in update calls. Having them as proper error
messages in the system means that the errors are actually collected
later on for the list instead of ending up with our relatively generic
but in those cases bogus hint regarding "is gpgv installed?".
The effective difference is minimal as the errors apply mostly to
systems which have far worse problems than a not as nice looking error
message, which makes this pretty hard to test – but at least now the
hint that your system is broken can be read in proper order (= there
aren't many valid cases in which the permissions of /tmp are messed up…).
LP: #
1522988
David Kalnischkies [Wed, 23 Nov 2016 22:09:05 +0000 (23:09 +0100)]
skip unconfigure for unconfigured to-be removed pkgs
David Kalnischkies [Wed, 23 Nov 2016 21:17:01 +0000 (22:17 +0100)]
do not configure unconfigured to be removed packages
We try to configure all packages at the end which need to be configured,
but that also applies to packages which weren't completely installed
(e.g. maintainerscript failed) we end up removing in this interaction
instead.
APT doesn't perform this explicit configure in the end as it is using
"dpkg --configure --pending", but it does confuse the progress report
and potentially also hook scripts.
Regression-Of:
9ffbac99e52c91182ed8ff8678a994626b194e69
David Kalnischkies [Wed, 23 Nov 2016 18:02:51 +0000 (19:02 +0100)]
don't perform implicit crossgrades involving M-A:same
dpkg stumbles over these (#844300) and we haven't dropped 'easier'
removes to be implicit and to be scheduled by dpkg by default so far
so we shouldn't push the decision in such cases to dpkg either.
David Kalnischkies [Wed, 23 Nov 2016 16:32:20 +0000 (17:32 +0100)]
improve arch-unqualified dpkg-progress parsing
Our old idea was to look for the first package which would be "touched"
and take this as the package dpkg is talking about, but that is
incorrect in complicated situations like a package upgraded to/from
multiple M-A:same siblings installed.
As we us the progress report to decide what is still needed we have to
be reasonabily right about the package dpkg is talking about, so we jump
to quite a few loops to get it.
David Kalnischkies [Sat, 12 Nov 2016 10:32:13 +0000 (11:32 +0100)]
correct cross & disappear progress detection
Given that we use the progress information to skip over actions dpkg has
already done like not purging a package which was already removed and
had no config files or not acting on disappeared packages and such it is
important that apt and dpkg agree on which states the package has to
pass through.
To ensure that we keep tabs on this in the future a warning is added at
the end if apt hasn't seen all the action it was supposed to see. I
can't wait for the first bugreporters to wonder about this…
David Kalnischkies [Fri, 18 Nov 2016 11:04:08 +0000 (12:04 +0100)]
react to trig-pend only if we have nothing else to do
If a package is triggered dpkg frequently issues two messages about it
causing us to make a note about it both times which messes up our
planned dpkg actions view. Adding these actions if we have nothing else
planned fixes this and should still be correct as those planned actions
will deal with the triggering just fine and we avoid strange problems
like a package triggered before its removed…
Julian Andres Klode [Tue, 27 Sep 2016 22:49:45 +0000 (00:49 +0200)]
Do not use MD5SumValue for Description_md5()
Our profile says we spend about 5% of the time transforming the
hex digits into the binary format used by HashsumValue, all for
comparing them against the other strings. That makes no sense
at all.
According to callgrind, this reduces the overall instruction
count from 5,3 billion to 5 billion in my example, which
roughly matches the 5%.
Julian Andres Klode [Tue, 27 Sep 2016 22:05:31 +0000 (00:05 +0200)]
debListParser: Micro-optimize AvailableDescriptionLanguages()
Generating a string for each version we see is somewhat inefficient.
The problem here is that the Description tag names are longer than
15 byte, and thus require an allocation on the heap, which we should
avoid.
It seems reasonable that 20 characters works for all languages codes
used for archive descriptions, but if not, there's a warning, so
we'll catch that.
This should improve performance by about 2%.
Julian Andres Klode [Tue, 27 Sep 2016 16:59:11 +0000 (18:59 +0200)]
Compare size before data when ordering cache bucket entries
This has the effect of significantly reducing actual string
comparisons, and should improve the performance of FindGrp
a bit, although it's hardly measureable (callgrind says it
uses 10% instructions less now).
Julian Andres Klode [Tue, 27 Sep 2016 16:28:55 +0000 (18:28 +0200)]
Optimize VersionHash() to not need temporary copy of input
Stop copying stuff, and just parse the bytes one by-one to the
newly created AddCRC16Byte. This improves the instruction count
for an update run from 720,850,121 to 455,801,749 according to
callgrind.
Julian Andres Klode [Tue, 27 Sep 2016 16:20:02 +0000 (18:20 +0200)]
Introduce tolower_ascii_unsafe() and use it for hashing
This one has some obvious collisions for non-alphabetical characters,
like some control characters also hashing to numbers, but we don't
really have those, and these are hash functions which are not
collision free to begin with.
Julian Andres Klode [Tue, 27 Sep 2016 16:36:10 +0000 (18:36 +0200)]
Bump the cache major version for non-backportable changes
We already have two stable series with major version 10, and
the next commits will introduce non-backportable performance
changes that affect the cache algorithms, so we need to bump
the major version now to prevent future problems.
Julian Andres Klode [Tue, 27 Sep 2016 16:16:13 +0000 (18:16 +0200)]
debListParser: Convert to use pkgTagSection::Key-based lookup
This basically gets rid of 40-50% of the hash table lookups,
making things a bit faster that way, and the profiles look
far cleaner.
Julian Andres Klode [Tue, 27 Sep 2016 15:32:24 +0000 (17:32 +0200)]
TagSection: Introduce functions for looking up by key ids
Introduce a new enum class and add functions that can do a lookup
with that enum class. This uses triehash.
Julian Andres Klode [Tue, 22 Nov 2016 21:57:46 +0000 (22:57 +0100)]
Julian Andres Klode [Tue, 22 Nov 2016 21:57:46 +0000 (22:57 +0100)]
Squashed 'triehash/' content from commit
16f59e1
git-subtree-dir: triehash
git-subtree-split:
16f59e1320e6db18ba3b4269b7ca333b1463dd7b
Julian Andres Klode [Tue, 27 Sep 2016 14:49:25 +0000 (16:49 +0200)]
TagSection: Extract Find() methods taking Pos instead of Key
This allows us to add a perfect hash function to the tag file
without having to reimplement the methods a second time.
Julian Andres Klode [Tue, 27 Sep 2016 13:24:24 +0000 (15:24 +0200)]
TagSection: Split AlphaIndexes into AlphaIndexes and BetaIndexes
Move the use of the AlphaHash to a new second hash table in
preparation for the arrival of the new perfect hash function.
With the new perfect hash function hashing most of the keys for
us, having 128 slots for a fallback hash function seems enough
and prevents us from wasting space.
Chris Leick [Tue, 15 Nov 2016 22:05:31 +0000 (23:05 +0100)]
German translation proof read by Helge Kreutzmann
David Kalnischkies [Fri, 11 Nov 2016 21:44:40 +0000 (22:44 +0100)]
unfuzzy various strings in manpage po's
No need to ask translators to deal with typo fixes in english text,
adding new items to long existing lists and 'literals'.
Gbp-Dch: Ignore
James Clarke [Fri, 11 Nov 2016 16:33:25 +0000 (16:33 +0000)]
apt-ftparchive: Support NotAutomatic and ButAutomaticUpgrades fields
This also changes Acquire-By-Hash to be "yes" rather than "true", so it
is consistent with dak's output.
Closes: #272557
David Kalnischkies [Fri, 11 Nov 2016 12:15:27 +0000 (13:15 +0100)]
show distribution mismatch for changed codenames
We have the last Release file around for other checks, so its trivial to
look if the new Release file contains a new codename (e.g. the user has
"testing" in the sources and it flipped from stretch to buster).
Such a change can be okay and expected, but also be a hint of problems,
so a warning if we see it happen seems okay. We can only print it once
anyhow and frontends and co are likely to ignore/hide it.
David Kalnischkies [Fri, 11 Nov 2016 12:05:38 +0000 (13:05 +0100)]
don't warn if untransformed distribution matches
A suite or codename entry in the Release file is checked against the
distribution field in the sources.list entry that lead to the download of that
Release file. This distribution entry can contain slashes in the distribution
field:
deb http://security.debian.org/debian wheezy/updates main
However, the Release file may only contain "wheezy" in the Codename field and
not "wheezy/updates". So a transformation needs to take place that removes the
last / and everything that comes after (e.g. "/updates"). This fails, however,
for valid cases like a reprepro snapshot where the given Codename contains
slashes but is perfectly fine and doesn't need to be transformed. Since that
transformation is essentially just a workaround for special cases like the
security repository, it should be checked if the literal Codename without any
transformations happened is valid and only if isn't the dist should be checked
against the transformated one.
This way special cases like security.debian.org are handled and reprepro
snapshots work too.
The initial patch was taken as insperationto move whole transformation
to CheckDist() which makes this method more accepting & easier to use
(but according to codesearch.d.n we are the only users anyhow).
Thanks: Lukas Anzinger for initial patch
Closes: 644610
David Kalnischkies [Fri, 11 Nov 2016 10:58:56 +0000 (11:58 +0100)]
add hidden config to set packages as Essential/Important
You can pretty much achieve the same with a local dummy package if you
want to, but libapt has an inbuilt setting for essential: "apt" which
can be overridden with this option as well – it could be helpful in
quick tests and what not so adding this alternative shouldn't really
hurt much.
We aren't going to document them much through as care must be taken in
regards to the binary caches as they aren't invalidated by config
options alone, so the effects of old settings could still be in them,
similar to the other already existing pkgCacheGen option(s).
Closes: 767891
Thanks: Anthony Towns for initial patch
David Kalnischkies [Fri, 11 Nov 2016 09:32:31 +0000 (10:32 +0100)]
http: skip connection cleanup if we close it anyhow
Suggested in #529794
Edgar Fuß [Fri, 11 Nov 2016 09:20:23 +0000 (10:20 +0100)]
http: clear content before reporting the failure
[Comment from commiter:] I have the feeling that the issue itself is
fixed for a while already as nowadays we have testcases involving a
webserver closing the connection on error (look for "closeOnError") and
no even remotely recent reports about it, but moving the content
clearance above the failure report is a valid change and shouldn't hurt.
Closes: #465572
David Kalnischkies [Fri, 11 Nov 2016 08:18:49 +0000 (09:18 +0100)]
add TMP/TEMP/TEMPDIR to the TMPDIR DropPrivileges dance
apt tools do not really support these other variables, but tools apt
calls might, so lets play save and clean those up as needed.
Reported-By: Paul Wise (pabs) on IRC
David Kalnischkies [Thu, 10 Nov 2016 20:28:12 +0000 (21:28 +0100)]
travis: ignore profiling warning in test diffs
On Travis CI running tests with code coverage enabled sometimes
generates lines like:
profiling:/path/to/file.gcda:Merge mismatch for function 257
It would be nice if we could resolve this somehow as it garbles the
statistics, but until then it is far more annoying that this causes
test failures for no good reason.
Gbp-Dch: Ignore
David Kalnischkies [Thu, 10 Nov 2016 15:36:04 +0000 (16:36 +0100)]
support 'apt build-dep .' (aka: without /)
Reported-By: Christoph Berg (Myon) on IRC
David Kalnischkies [Thu, 10 Nov 2016 09:37:29 +0000 (10:37 +0100)]
improve SOCKS error messages for http slightly
The 0.0.0.0:0 tor reports is pretty useless by itself, but even if an IP
would be reported it is better to show the user the hostname we wanted
the proxy to connect to in the same error message. We improve upon it
further by looking for this bind address in particular and remap error
messages slightly to give users a better chance of figuring out what
went wrong. Upstream Tor can't do that as it is technically wrong.
David Kalnischkies [Wed, 9 Nov 2016 22:32:02 +0000 (23:32 +0100)]
rename Checksum-FileSize to Filesize in hashsum mismatch
Some people do not recognize the field value with such an arcane name
and/or expect it to refer to something different (e.g. #839257).
We can't just rename it internally as its an avoidance strategy as such
fieldname existed previously with less clear semantics, but we can spare
the general public from this implementation detail.
David Kalnischkies [Wed, 9 Nov 2016 18:57:21 +0000 (19:57 +0100)]
show the conflicting distribution warning again
Sometimes you should really act upon your todos.
Especially if you have placed them directly in the code.
Closes: 841874
David Kalnischkies [Wed, 9 Nov 2016 18:15:01 +0000 (19:15 +0100)]
reset HOME, USER(NAME), TMPDIR & SHELL in DropPrivileges
We can't cleanup the environment like e.g. sudo would do as you usually
want the environment to "leak" into these helpers, but some variables
like HOME should really not have still the value of the root user – it
could confuse the helpers (USER) and HOME isn't accessible anyhow.
Closes: 842877
Chris Leick [Wed, 9 Nov 2016 16:42:40 +0000 (17:42 +0100)]
fix three typos in sources & manpages
David Kalnischkies [Wed, 9 Nov 2016 15:17:28 +0000 (16:17 +0100)]
add a testcase for support of various build-dependency types
See also
c5f22e483cc0f31f2938874370ac776e40792069
Gbp-Dch: Ignore
Johannes Schauer [Wed, 9 Nov 2016 14:28:15 +0000 (15:28 +0100)]
add support for Build-Depends/Conflicts-Arch
These new enum values might cause "interesting" behaviour in tools not
expecting them – like an old apt would think a Build-Conflicts-Arch is
some sort of Build-Depends – but that can't reasonably be avoided and
effects only packages using B-D/C-A so if there is any breakage the
tools can easily be adapted.
The APT_PKG_RELEASE number is increased so that libapt users can detect
the availability of these new enum fields via:
#if APT_PKG_ABI > 500 || (APT_PKG_ABI == 500 && APT_PKG_RELEASE >= 1)
Closes: #837395
David Kalnischkies [Wed, 9 Nov 2016 13:22:22 +0000 (14:22 +0100)]
fix testcase expecting incorrect remove log from dpkg
dpkg 1.18.11 includes:
* Do not log nor print duplicate dpkg removal action. We print
“Removing <package> (<version>)” lines and log remove action twice
when purging a package from frontends, because they usually first call
--remove and then --purge sequentially. When purging a package which is
already in config-files (i.e. it has been removed before), do not print
nor log the remove action.
Michael Vogt [Wed, 9 Nov 2016 14:09:44 +0000 (15:09 +0100)]
Do not (re)start "apt-daily.system"
This unit runs unattended-upgrades. If apt itself is part of the
upgrade a restart of the unit will kill unattended-upgrades. This
will lead to an inconsistent dpkg status.
Closes: #841763
Thanks: Alexandre Detiste
David Kalnischkies [Thu, 6 Oct 2016 16:30:51 +0000 (18:30 +0200)]
keep Release.gpg on untrusted to trusted IMS-Hit
A user relying on the deprecated behaviour of apt-get to accept a source
with an unknown pubkey to install a package containing the key expects
that the following 'apt-get update' causes the source to be considered
as trusted, but in case the source hadn't changed in the meantime this
wasn't happening: The source kept being untrusted until the Release file
was changed.
This only effects sources not using InRelease and only apt-get, the apt
binary downright refuses this course of actions, but it is a common way
of adding external sources.
Closes: 838779
David Kalnischkies [Sat, 10 Sep 2016 17:52:11 +0000 (19:52 +0200)]
don't install new deps of candidates for kept back pkgs
In effect this is an extension of the 6 years old commit
a8dfff90aa740889eb99d00fde5d70908d9fd88a which uses the autoremover to
remove packages again from the solution which are no longer needed to be
there. Commonly these are dependencies of packages we end up not
installed due to problem resolver decisions. Slightly less common is
the situation we deal with here: a package which we wanted to upgrade
sporting a new dependency, but ended up holding back.
The problem is that all versions of an installed reverse dependencies can
bring back a "garbage" package – we need to do this as there is
nothing inherently wrong in having garbage packages installed or upgrade
them, which itself would have garbage dependencies, so just blindly
killing all new garbage packages would prevent the upgrade (and actually
generate errors). What we should be doing is looking only at the version
we will have on the system, disregarding all old/new reverse dependencies.
Reported-By: Stuart Prescott (themill) on IRC
Frans Spiesschaert [Wed, 2 Nov 2016 08:30:36 +0000 (09:30 +0100)]
Dutch manpages translation update
Closes: #840757
Frans Spiesschaert [Wed, 2 Nov 2016 08:27:03 +0000 (09:27 +0100)]
Dutch program translation update
Closes: #840552
James Clarke [Wed, 2 Nov 2016 07:55:46 +0000 (08:55 +0100)]
fix invalid XML in German manpage translation
Gbp-Dch: Ignore
Chris Leick [Sat, 29 Oct 2016 11:04:29 +0000 (13:04 +0200)]
Updated German documentation translation
Julian Andres Klode [Tue, 4 Oct 2016 17:43:46 +0000 (19:43 +0200)]
Release 1.3.1
Julian Andres Klode [Sun, 2 Oct 2016 16:12:50 +0000 (18:12 +0200)]
travis: Move codecov from after_success to after_script
We always want to run codecov test, even if there are spurious
failures. We should really work around those failures more, though,
it is starting to annoy me.
Mert Dirik [Tue, 4 Oct 2016 17:36:09 +0000 (19:36 +0200)]
Turkish program translation update
Closes: #838731
victory [Mon, 12 Sep 2016 14:02:10 +0000 (23:02 +0900)]
Japanese manpages translation update
Julian Andres Klode [Sun, 2 Oct 2016 15:20:33 +0000 (17:20 +0200)]
Do not read stderr from proxy autodetection scripts
This fixes a regression introduced in
commit
8f858d560e3b7b475c623c4e242d1edce246025a
don't leak FD in AutoProxyDetect command return parsing
which accidentally made the proxy autodetection code also read
the scripts output on stderr, not only on stdout when it switched
the code from popen() to Popen().
Reported-By: Tim Small <tim@seoss.co.uk>
Julian Andres Klode [Tue, 20 Sep 2016 21:54:19 +0000 (23:54 +0200)]
Release 1.3
Julian Andres Klode [Sun, 18 Sep 2016 11:24:35 +0000 (13:24 +0200)]
VersionHash: Do not skip too long dependency lines
If the dependency line does not contain spaces in the repository
but does in the dpkg status file (because dpkg normalized the
dependency list), the dpkg line might be longer than the line
in the repository. If it now happens to be longer than 1024
characters, it would be skipped, causing the hashes to be
out of date.
Note that we have to bump the minor cache version again as
this changes the format slightly, and we might get mismatches
with an older src cache otherwise.
Fixes Debian/apt#23
Julian Andres Klode [Sun, 11 Sep 2016 15:45:20 +0000 (17:45 +0200)]
travis: Add coverage testing using codecov.io
This allows fully automated code coverage testing, which is
basically awesome. To allow the methods and solvers and stuff
which run as _apt to write to our build directory, we need to
adjust the permissions a bit, but otherwise it's OK.
Gbp-Dch: ignore
Julian Andres Klode [Sun, 11 Sep 2016 11:58:40 +0000 (13:58 +0200)]
Coverage: Do not print messages from gcov
We need to ignore messages from gcov. All those messages
start with profiling: and are printed using vfprintf(), so
the only thing we can do is add a library overriding those
functions and linking apt-pkg to it.
Julian Andres Klode [Sun, 11 Sep 2016 11:53:49 +0000 (13:53 +0200)]
CMake: Add coverage build type
This allows us to easily test coverage
Julian Andres Klode [Sun, 11 Sep 2016 11:49:23 +0000 (13:49 +0200)]
travis: use ninja and ccache for building
This cleans up the output a bit, it should also improve performance,
but unfortunately, this does not really seem to be the case.
Gbp-Dch: ignore
Julian Andres Klode [Wed, 7 Sep 2016 11:35:40 +0000 (13:35 +0200)]
test: Always install dpkg into our tests, regardless of MA
Even if we only configure a single architecture, install dpkg, so
dpkg can assert multi arch correctly. This also has the nice side
effect of making single architecture and multiple architecture
test cases more uniform.
This fixes a regression from
f878d3a862128bc1385616751ae1d78246b1bd01
("test: Assert multi-arch in the chroot").
Julian Andres Klode [Wed, 7 Sep 2016 11:23:26 +0000 (13:23 +0200)]
test: framework: Ensure copied status files have trailing lines
If we copied one of the existing status files, we might not have
a trailing newline, so let's add one.
Gbp-Dch: ignore