refactor compressor calling so that we don't (need to) export ExecCompressor
anymore and therefore are also able to drop quiet a bit of duplicated code
Allow the FileFd to use an external Compressor to uncompress a given file
internally so that it is exported and can be used like a "normal"
uncompressed file with FileFd
This allows us to hide th zlib usage in the implementation and use gzip
instead if we don't have zlib builtin (the same for other compressors).
The code includes quiet a few FIXME's so while all tests are working
it shouldn't be used just yet outside of libapt as it might break.
add a testcase for FindPackages() to better validate that cdrom should work.
Unfortunately it's hard to do an automated integration test with cd, so we
test this method in isolation which tries to find Indexes and dropping
of duplications with DropRepeats()
enable FileFd to guess the compressor based on the filename if requested or
to search for compressed silbings of the given filename and use this guessing
instead of hardcoding Gzip compression
split up the OpenMode into OpenMode and CompressionMode and
provide ReadOnly, WriteOnly and ReadWrite as flags alongside
the additional flags as decompression will be one-way later,
but certain parts really depend on Write* openmodes being
ReadWrite opens, so we will have to fail for those.
* cmdline/apt-get.cc:
- ignore foreign architectures if we check if a provides has only one
resolver as it's basically the same for the user, so no need to choose
* apt-pkg/depcache.cc:
- prefer native providers over foreigns even if the chain is foreign
The code preferred real over virtual packages and based on priorities.
This is changed in so far that a real package from any arch is preferred
over any virtual provider and if priorities doesn't help in choosing the
best provider we choose it based on architectures
- provide a {Package,Version}List similar to {Package,Version}Set
* cmdline/apt-{get,cache,mark}.cc:
- use Lists instead of Sets if input order should be preserved for
commands accepting lists of packages, e.g. policy (Closes: #625960)
* apt-pkg/cacheset.cc:
- make the cachesets real containers which can embedding any container
to be able to use the same interface regardless of set or list usage
* apt-pkg/packagemanager.cc:
- do not fail on unpacked packages in SmartUnPack, just don't
shedule them for unpack, but do all checks and configure them
add implicit dependencies needed for Multi-Arch at the time a Version
struct is created and not at the end of the cache generation
This allows us to be independent from the configured architectures for
these kind of conflicts, we get natural progress for free and
only the needed dependencies are in th respective binary cache.
a version can have only a single md5 for descriptions, so we can optimize
the merging with this knowledge a bit and by correctly sharing the lists
we only need to have a single description list for possibly many different
versions. This also means that description translations are shared between
different sources
* apt-pkg/deb/debmetaindex.cc:
- none is a separator, not a language: no need for Index (Closes: #624218)
* apt-pkg/aptconfiguration.cc:
- do not builtin languages only if none is forced (Closes: #643787)
* apt-pkg/deb/debmetaindex.cc:
- none is a separator, not a language: no need for Index (Closes: #624218)
* apt-pkg/aptconfiguration.cc:
- do not builtin languages only if none is forced (Closes: #643787)
Michael Vogt [Wed, 5 Oct 2011 16:14:38 +0000 (18:14 +0200)]
* apt-pkg/contrib/configuration.cc:
- fix double delete (LP: #848907)
- ignore only the invalid regexp instead of all options
* apt-pkg/acquire-item.h, apt-pkg/deb/debmetaindex.cc:
- fix fetching language information by adding OptionalSubIndexTarget
* methods/https.cc:
- cleanup broken downloads properly
* ftparchive/cachedb.cc:
- fix buffersize in bytes2hex
* apt-pkg/deb/deblistparser.cc:
- fix crash when the dynamic mmap needs to be grown in
LoadReleaseInfo (LP: #854090)
* apt-pkg/deb/dpkgpm.cc:
- use std::vector instead of fixed size arrays to store args and
multiarch-packagename strings
- load the dpkg base arguments only one time and reuse them later
* cmdline/apt-get.cc:
- follow Provides in the evaluation of saving candidates, too, for
statisfying garbage package dependencies (Closes: #640590)
* apt-pkg/algorithms.cc:
- if a package is garbage, don't try to save it with FixByInstall