summaryrefslogtreecommitdiff
path: root/apt-pkg/pkgcache.cc
AgeCommit message (Collapse)Author
2011-08-15merged from the debian-sid branchMichael Vogt
2011-08-11cppcheck complains about some possible speed improvements which could beDavid Kalnischkies
done on the mirco-optimazation level, so lets fix them: (performance) Possible inefficient checking for emptiness. (performance) Prefer prefix ++/-- operators for non-primitive types.
2011-07-20* apt-pkg/pkgcache.cc:Julian Andres Klode
- Check that cache is at least CacheFileSize bytes large (LP: #16467)
2011-07-20apt-pkg/pkgcache.h: Add pkgCache::Header::CacheFileSize, storing the cache sizeJulian Andres Klode
2011-05-17remove deprecated methods which nobody should have used anyway likeDavid Kalnischkies
pseudo-package related and/or private
2011-05-11convert a lot of places to use IsNegative instead of checking by handDavid Kalnischkies
for the three different dependencies
2011-05-11if critical or-group can't be satisfied, exit directly.David Kalnischkies
2011-04-25* apt-pkg/pkgcache.cc:David Kalnischkies
- really ignore :arch in FindPkg() in non-multiarch environment
2011-04-06* apt-pkg/pkgcache.cc:David Kalnischkies
- use the native Architecture stored in the cache header instead of loading it from configuration as suggested by Julian Andres Klode
2011-04-06document the pkg:any specialcasing in FindPkg as well to make it clearDavid Kalnischkies
that it is a needed "hack" to support multi-arch in the least breaking way
2011-03-28* apt-pkg/deb/deblistparser.cc:David Kalnischkies
- create foo:any provides for all architectures for an allowed package
2011-03-25* apt-pkg/pkgcachegen.cc:David Kalnischkies
- make "all"->"native" an implementation detail of NewPackage rather than rewrite it in higher methods
2011-03-08Remove the "pseudopackage" handling of Architecture: all packages forDavid Kalnischkies
Multi-Arch; instead, Arch: all packages only satisfy dependencies for the native arch, except where the Arch: all package is declared Multi-Arch: foreign. (Closes: #613584) This has the sideeffect that arch:all packages internally show up as coming from the native arch - so packages with the architecture "all" doesn't exist any longer in the pkgcache
2010-10-26* apt-pkg/pkgcache.cc:David Kalnischkies
- fallback always to a suitable description (Closes: #601016)
2010-09-14* apt-pkg/policy.cc:David Kalnischkies
- support 100-pinning in Release file with ButAutomaticUpgrades as requested by the backports crew (Closes: #596097) * apt-pkg/deb/deblistparser.cc: - overrule NotAutomatic in case of ButAutomaticUpgrades
2010-08-13* apt-pkg/pkgcache.cc:David Kalnischkies
- fix LongDesc handling in LANG=C environment
2010-08-10merge with debian-experimental-maDavid Kalnischkies
* Swedish translation update. Closes: #592366 * apt-pkg/pkgcache.cc: - re-evaluate the architectures cache when the cache is (re)opened * apt-pkg/cdrom.cc: - fix off-by-one error in DropBinaryArch * apt-pkg/contrib/fileutl.cc: - Add WriteAtomic mode. - Revert WriteEmpty to old behavior (LP: #613211) * apt-pkg, methods: - Convert users of WriteEmpty to WriteAtomic. * apt-pkg/depcache.cc: - Only try upgrade for Breaks if there is a newer version, otherwise handle it as Conflicts (by removing it) (helps for #591882). * debian/control: - Add dependency on gnupg to apt, apt-key uses it.
2010-08-10* apt-pkg/algorithms.cc:David Kalnischkies
- change the debug outputs to display also arch of the package and version dependencies information
2010-07-30* apt-pkg/pkgcache.cc:Michael Vogt
- re-evaluate the architectures cache when the cache is (re)opened
2010-07-25* apt-pkg/pkgcache.cc:David Kalnischkies
- prefer non-virtual packages in FindPreferredPkg
2010-07-08* apt-pkg/pkgcachegen.{cc,h}:David Kalnischkies
- make the used MMap moveable (and therefore dynamic resizeable) by applying (some) mad pointer magic (Closes: #195018)
2010-07-04* apt-pkg/policy.h:David Kalnischkies
- add another round of const& madness as the previous round accidently NOT override the virtual GetCandidateVer() method (Closes: #587725)
2010-05-31* apt-pkg/cacheset.{cc,h}:David Kalnischkies
- add simple wrapper around std::set for cache structures
2010-05-31* apt-pkg/pkgcache.cc:David Kalnischkies
- get the best matching arch package from a group with FindPreferredPkg
2010-05-04* doc/files.sgml:Michael Vogt
- sync documentation with status quo, regarding files/directories in use, extended_states and uri schemes. * doc/cache.sgml: - drop the file in favor of inplace documentation with doxygen * apt-pkg/pkgcache.h: - enhance the Groups ABI by providing a ID as the other structs does - check also the size of the Group struct then checking for the others
2010-05-04* apt-pkg/pkgcache.cc:Julian Andres Klode
- Merge fix from David to correct handling in single-arch environments. This makes apt-get showauto working.
2010-05-04* apt-pkg/pkgcache.h:David Kalnischkies
- enhance the Groups ABI by providing a ID as the other structs does - check also the size of the Group struct then checking for the others
2010-03-30Group packages in the same group together in the package listDavid Kalnischkies
so it is easier to find them later on as we have no "noice" anymore between them.
2010-03-18Readd the FindPkg() method implementation used in the singleArch days toDavid Kalnischkies
use it as a fallback if multiarch is not enabled. The effect is barly noticeable but SingleArch is the realworld scenario.
2010-02-26move ShowPkg() from apt-get to the PkgIterator and rename it to FullName()David Kalnischkies
responseable for displaying a package name and the architecture in a uniform way. Pretty option can be used to not append the architecture if it is the native architecture or all - and use it all over the place in the commandline tools.
2010-02-13[BREAK] merge MultiArch-ABI. We don't support MultiArch,David Kalnischkies
but we support the usage of the new ABI so libapt users can start to prepare for MultiArch (Closes: #536029) MultiArch isn't ready for Primetime usage for now, but the branch has managed to be a NOP if used in SingleArch-mode so we can start to promote the use of the new MultiArchable API-extensions.
2010-02-12In SingleArch environments we don't need the arch "all" pseudo packageDavid Kalnischkies
for handling arch:all packages, so we create only one package and stop calling it a pseudo package.
2010-02-12Add yet another pseudo package which isn't as pseudo as the others:David Kalnischkies
Arch all packages are now represented by arch depending packages which all depend on a package with the same name and the special arch "all". This packages has NO dependencies, but beside this the same information. It is the only package which has a size, the arch depending ones all have a zero size. While the arch depending pseudo packages are used for dependency resolution the arch "all" package is used for downloading and ordering of the package.
2010-02-11Add Multi-Arch: allowed support by creating an implicit provide ofDavid Kalnischkies
name:any for such packages, so dependencies in this style can be easily resolved.
2010-02-07Drop the Arch information from the Version structure as we can getDavid Kalnischkies
the information from the parent package now
2010-01-30* apt-pkg/contrib/macros.h:David Kalnischkies
- move the header system.h with a new name to the public domain, to be able to use it in other headers (Closes: #567662)
2010-01-02Fix the following gcc-4.5 buildfailure in pkgcache.cc by following the ↵David Kalnischkies
suggestion: pkgcache.cc: In member function ‘const char* pkgCache::PkgIterator::CandVersion() const’: pkgcache.cc:301:51: error: cannot call constructor ‘pkgPolicy::pkgPolicy’ directly pkgcache.cc:301:51: note: for a function-style cast, remove the redundant ‘::pkgPolicy’
2009-12-27Split ListParser::NewDepends into two methods to use these new methodDavid Kalnischkies
for creating the dependencies needed for our groups: For now for all groups only one package can be installed at the same time which conflicts with each other packages in the group. The exceptions are architecture all package. Also, the Multi-Arch field is now parsed, but not used for now.
2009-12-23merge Goswin Brederlow "support download of index files for different archs"David Kalnischkies
patch which includes the following big changes: - Declare the unused [vendor] field in sources.list as option field, e.g. deb [arch=amd64,i386 lang=en_GB have=fun] http://example.org - When fetching index files download them for all APT::Architectures (overrideable with the options field above) - Allow all architectures of APT::Architectures to be in the Cache - Add the architecture to status and progress informations - Add b= (Binary architecture) to policy This commit doesn't incude the "pin-hack" as the Group structure will take care of this (and does it already to some extend).
2009-12-19Implement the first step toward Multi-Arch by setting up a GroupDavid Kalnischkies
infrastructor for packages. APT is now aware of the fact that a package A in architecture X can't satisfy a dependency on package A in architecture Y - to handle these packages are now identified by name and architecture, so different architectures of the same package are handled internally as completly different packages. This is great for pinning, dependency checking and in many other situations, but sometimes we need to know which archs are available for a given package: Here Groups come to our rescue!
2009-12-09Refactor the cache iterators by using a common base classDavid Kalnischkies
This should not change the public interface, but it removes the friend connection between the iterators and pkgcache as it is unused.
2009-11-26[BREAK] add possibility to download and use multiplyDavid Kalnischkies
Translation files, configurable with Acquire::Languages accessable with APT::Configuration::getLanguages() and as always with documentation in apt.conf. The commit also includes a very very simple testapp.
2009-08-24* apt-pkg/pkgcache.cc:Michael Vogt
- do not set internel "needs-configure" state for packages in triggers-pending state. dpkg will deal with the trigger and it if does it before we trigger it, dpkg will error out (LP: #414631)
2009-07-21* apt-pkg/acquire.cc:Michael Vogt
- make the max pipeline depth of the acquire queue configurable via Acquire::Max-Pipeline-Depth * apt-pkg/deb/dpkgpm.cc: - add Dpkg::UseIoNice boolean option to run dpkg with ionice -c3 (off by default) - send "dpkg-exec" message on the status fd when dpkg is run - provide DPkg::Chroot-Directory config option (useful for testing) - fix potential hang when in a backgroud process group * apt-pkg/algorithms.cc: - consider recommends when making the scores for the problem resolver * apt-pkg/acquire-worker.cc: - show error details of failed methods * apt-pkg/contrib/fileutl.cc: - if a process aborts with signal, show signal number * methods/http.cc: - ignore SIGPIPE, we deal with EPIPE from write in HttpMethod::ServerDie() (LP: #385144) * apt-pkg/indexcopy.cc: - support having CDs with no Packages file (just a Packages.gz) by not forcing a verification on non-existing files (LP: #255545) - remove the gettext from a string that consists entirely of variables (LP: #56792) * apt-pkg/cacheiterators.h: - add missing checks for Owner == 0 in end() * apt-pkg/indexrecords.cc: - fix some i18n issues * apt-pkg/contrib/strutl.h: - add new strprintf() function to make i18n strings easier - fix compiler warning * apt-pkg/deb/debsystem.cc: - make strings i18n able * fix problematic use of tolower() when calculating the version hash by using locale independant tolower_ascii() function. Thanks to M. Vefa Bicakci (LP: #80248) * build fixes for g++-4.4 * cmdline/apt-mark: - add "showauto" option to show automatically installed packages * document --install-recommends and --no-install-recommends (thanks to Dereck Wonnacott, LP: #126180) * Updated cron script to support backups by hardlinks and verbose levels. All features turned off by default. * Added more error handlings. Closes: #438803, #462734, #454989, * Refactored condition structure to make download and upgrade performed if only previous steps succeeded. Closes: #341970 * Documented all cron script related configuration items in configure-index. * apt-ftparchive might write corrupt Release files (LP: #46439) * Apply --important option to apt-cache depends (LP: #16947)
2009-06-29* add depth information to the debug output and show what dependsMichael Vogt
type triggers a autoinst (closes: #458389) * add debug::pkgDepCache::Marker with more detailed debug output (closes: #87520)
2009-06-29[ABI break] Allow pinning by codename (closes: #97564)Michael Vogt
2009-06-15Introduce support for the Enhances field. (Closes: #137583) jak@debian.org
2009-05-07[apt-pkg] allow also codenames for specifying a releaseDavid Kalnischkies
* MatchType::Release checks first for archive than for codename equality * new n= option in apt_preference to be able to pin based on a codeName
2009-04-23fix problematic use of tolower() when calculating the version Michael Vogt
hash by using locale independant tolower_ascii() function. Thanks to M. Vefa Bicakci (LP: #80248)
2009-04-09* apt-pkg/contrib/strutl.cc:Michael Vogt
- fix TimeToStr i18n (LP: #289807) * [ABI break] merge support for http redirects, thanks to Jeff Licquia and Anthony Towns * [ABI break] use int for the package IDs (thanks to Steve Cotton) * apt-pkg/pkgcache.cc: - do not run "dpkg --configure pkg" if pkg is in trigger-awaited state (LP: #322955) * methods/https.cc: - add Acquire::https::AllowRedirect support * Clarify the --help for 'purge' (LP: #243948) * cmdline/apt-get.cc - fix "apt-get source pkg" if there is a binary package and a source package of the same name but from different packages (LP: #330103) * cmdline/acqprogress.cc: - Call pkgAcquireStatus::Pulse even if quiet, so that we still get dlstatus messages on the status-fd (LP: #290234).