martin@piware.de [Thu, 24 Jun 2010 19:27:27 +0000 (21:27 +0200)]
Switch FileFd to not transparently gunzip, since that breaks code which expects the compressed contents to stay (such as the copy backend, or when using file:// repositories. Instead, introduce a new ReadOnlyGzip mode and use that where needed
Use an abstract helper for error handling and output
instead of doing this directly in the CacheSets.
With this method an application like apt-get can change
the behavior of the CacheSets to his liking.
It can for example easily keep track of how packages
were added to the set: by names or with regex's…
martin@piware.de [Fri, 11 Jun 2010 16:59:06 +0000 (18:59 +0200)]
* apt-pkg/acquire-item.cc:
- Fix return value of pkgAcqFile::Custom600Headers() in the non-index
case, to avoid returning NULL and causing crashers in callers. This also
fixes a compiler warning.
* apt-pkg/orderlist.cc:
- untouched packages are never missing
* apt-pkg/packagemanager.cc:
- packages that are not touched doesn't need to be unpacked
martin@piware.de [Thu, 10 Jun 2010 11:20:27 +0000 (13:20 +0200)]
* apt-pkg/acquire-item.cc:
- If the Acquire::GzipIndexes option is true and we download a gzipped
index file, keep it as it is (and rename to .gz) instead of
uncompressing it.
* apt-pkg/contrib/fileutl.{h,cc}:
- Add support for transparent reading of gzipped files.
- Link against zlib (in apt-pkg/makefile) and add zlib build dependency.
Michael Vogt [Wed, 9 Jun 2010 09:51:21 +0000 (11:51 +0200)]
* merge the remaining Ubuntu change:
- on gpg verification failure warn and restore the last known
good state
- on failure display the IP of the server (useful for servers
that use round robin DNS)
- support Original-Maintainer in RewritePackageOrder
- enable cdrom autodetection via libudev by default
- show messsage about Vcs in use when apt-get source is run for
packages maintained in a Vcs
- better support transitional packages with mark auto-installed.
when the transitional package is in "oldlibs" the new package
is not marked auto installed (same is true for section
metapackages)
- provide new "deb mirror://archive.foo/mirrors.list sid main"
method expects a list of mirrors (generated on the server e.g.
via geoip) and will use that, including cycle on failure
- write apport crash file on package failure (disabled by default
on debian until apport is available)
- support mirror failure reporting (disabled by default on debian)
- backport forgotten Valid-Until patch from the obsolete experimental
branch to prevent replay attacks better, thanks to Thomas Viehmann
for the initial patch! (Closes: #499897)
* doc/apt.conf.5.xml:
- document the new Valid-Until related options
* apt-pkg/contrib/strutl.cc:
- split StrToTime() into HTTP1.1 and FTP date parser methods and
use strptime() instead of some self-made scanf mangling
- use the portable timegm shown in his manpage instead of a strange
looking code copycat from wget
* ftparchive/writer.cc:
- add ValidTime option to generate a Valid-Until header in Release file
* apt-pkg/pkgcache.h:
- switch {,Install-}Size to unsigned long long
- deal with long long, not with int to remove 2GB Limit (LP: #250909)
- deprecate AddSize with Multiplier as it is unused and switch to
boolean instead to handle the sizes more gracefully.
- switch i{Download,Usr}Size from double to (un)signed long long
* cmdline/apt-get.cc:
- use unsigned long long instead of double to store values it gets
* apt-pkg/indexrecords.cc:
- backport forgotten Valid-Until patch from the obsolete experimental
branch to prevent replay attacks better, thanks to Thomas Viehmann
for the initial patch! (Closes: #499897)
Add a option to apt-cache policy to additionally init the DepCache before
starting to get the package informations.
This is useful e.g. for debugging the MultiArchKiller.
* apt-pkg/depcache.cc:
- switch i{Download,Usr}Size from double to (un)signed long long
The biggest reason is that this saves a lot of float point operations
we do in AddSizes() on integers. The only reason i see that this was
a double is that it was 64bit long and can therefore store bigger
values than int/long, but with the availablity of (un)signed long long
we are now also at 64bit and can store sizes more than 8 Exabytes big -
by the time this will be a limit the C/C++ Standard will have bigger types,
hopefully.
* apt-pkg/pkgcache.h:
- switch {,Install-}Size to unsigned long long
* apt-pkg/depcache.cc:
- deal with long long, not with int to remove 2GB Limit (LP: #250909)
Michael Vogt [Wed, 2 Jun 2010 14:40:40 +0000 (16:40 +0200)]
* apt-pkg/deb/dpkgpm.cc:
- add missing include
* methods/mirror.{cc,h}:
- add SelectNextMirror() and InitMirrors() functions
- read all mirrors into the AllMirrors vector