set Acquire::PDiffs::FileLimit to 20 to avoid needless huge fetches
add new "apt-get upgrade --with-allow-new" option

The --with-allow-new option maps to APT::Get::UpgradeAllowNew and
will allow "apt-get upgrade" to install new packages (but not to
delete existing packages)
add man-page, improve option, use --with-new-pkgs as the flag
its --with-new-pkgs
Merge remote-tracking branch 'upstream/debian/sid' into feature/upgrade-with-new
fix vim-style foldmarker

Git-Dch: Ignore
use FileFd in HashSum test to unbreak non-linux ports

The testcode happily mixes FILE* operations and direct access to fds
which is even a bit suprising that it works on linux and worked so
long for non-linux ports, so we switch to usage of FileFd instead
which provides us with simple fd-only operations. Its overkill for this
test as its a bare file and we ask for the descriptor all the time, but
it shouldn't hurt to implicitly test it a bit this way.

Closes: 721723
Thanks: Aaron M. Ucko
prepare upload
Fix regression of "apt-cache unmet -i", thanks to Daniel Schepler (closes: #722324)
don't truncate 100 char long paths in tar extraction

When a data.tar.{gz,xz} contains a path name that is exactly
100 characters long, it will get truncated to 99 chars upon
extraction in ExtractTar::Go().

Using all of the 100 available characters for the filename
seems to be new behaviour in gnu tar.

Closes: #689582
Thanks: Mika Eloranta for the testcase!
add a testcase for 100 char long path truncate bug #689582

Git-Dch: Ignore
improve the API for Upgrade()
do not trust FileFd::Eof() in pkgTagFile::Fill()

The Eof check was added (by me of course) in
0aae6d14390193e25ab6d0fd49295bd7b131954f
as part of a fix up ~a month ago (at DebConf).

The idea was not that bad, but doesn't make that much sense either
as this bit is set by the FileFd based on Actual as well, so this is
basically doing the same check again – with the difference that the
HitEof bit can still linger from a previous Read we did at the end of
the file, but have seek'd away from it now.

Combined with the length of entries, entry order and other not that
easily controllable conditions you can be 'lucky' enough to hit this
problem in a way which even visible (truncating of other fields might
 not be visible easily, like 'Tags' and others).

Closes: 723705
Thanks: Cyril Brulebois
releasing package apt version 0.9.11.4
Fix typo in apt-private/private-show.cc. Thanks to Benjamin Keresa. Closes: #724073
don't strip :any from dependencies in single-arch

The parser goes a bit to far by stripping :any from dependencies in a
single architecture environment. the flag "Multi-Arch: allowed" doesn't
care any architecture restrictions in that case (as in single arch
everything is native), but it still limits the possible versions
statisfying the dependency so stripping :any over-simplifies in upgrade
situations from "Multi-Arch: none" to "Multi-Arch: allowed".

Closes: 723586
pkg from only trusted sources keeps being trusted

--allow-unauthenticated switches the download to a pre-0.6 system in
which a package can come from any source, rather than that trusted
packages can only come from trusted sources.

To allow this the flag used to set all packages as untrusted, which is a
bit much, so we check now if the package can be acquired via an
untrusted source and only if this is the case set it as untrusted.

As APT nowadays supports setting sources as trusted via a flag in the
sources.list this mode shouldn't be used that much anymore though.

[Note that this is not the patch from the BTS]

Closes: 617690
compression-neutral message for missing data.tar member

It even reuses the message used for the other check-for members, so one
less message to translate (good, as not that many people will ever see it).

Closes: 722710
print-uris prints regardless of quiet-level again

While the InstallPackages code was moved from apt-get into the private
library the output was moved from (std::)cout to c1out which isn't shown
in quiet level 2 (and above), so we flip back to std::cout to ensure
that it is always printed as you are not going to use --print-uris if
you don't want to see the uris…

Closes: 722207
test: apt-get source with more than one argument

Closes: 722549
Git-Dch: Ignore