summaryrefslogtreecommitdiff
path: root/apt-pkg/pkgcache.cc
AgeCommit message (Collapse)AuthorFilesLines
2011-08-17* apt-pkg/packagemanager.cc, apt-pkg/pkgcache.cc:David Kalnischkies1-1/+1
- ignore "self"-conflicts for all architectures of a package instead of just for the architecture of the package locked at in the ordering of installations too (Closes: #802901)
2011-08-11cppcheck complains about some possible speed improvements which could beDavid Kalnischkies1-13/+13
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-05-11convert a lot of places to use IsNegative instead of checking by handDavid Kalnischkies1-9/+3
for the three different dependencies
2011-05-11if critical or-group can't be satisfied, exit directly.David Kalnischkies1-0/+11
2011-04-25* apt-pkg/pkgcache.cc:David Kalnischkies1-3/+6
- really ignore :arch in FindPkg() in non-multiarch environment
2011-04-06* apt-pkg/pkgcache.cc:David Kalnischkies1-5/+6
- 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 Kalnischkies1-0/+3
that it is a needed "hack" to support multi-arch in the least breaking way
2011-03-28* apt-pkg/deb/deblistparser.cc:David Kalnischkies1-5/+5
- create foo:any provides for all architectures for an allowed package
2011-03-25* apt-pkg/pkgcachegen.cc:David Kalnischkies1-1/+1
- 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 Kalnischkies1-16/+2
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 Kalnischkies1-7/+8
- fallback always to a suitable description (Closes: #601016)
2010-09-14* apt-pkg/policy.cc:David Kalnischkies1-0/+1
- 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 Kalnischkies1-1/+2
- fix LongDesc handling in LANG=C environment
2010-08-10merge with debian-experimental-maDavid Kalnischkies1-1/+4
* 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 Kalnischkies1-0/+24
- change the debug outputs to display also arch of the package and version dependencies information
2010-07-30* apt-pkg/pkgcache.cc:Michael Vogt1-1/+4
- re-evaluate the architectures cache when the cache is (re)opened
2010-07-25* apt-pkg/pkgcache.cc:David Kalnischkies1-3/+5
- prefer non-virtual packages in FindPreferredPkg
2010-07-08* apt-pkg/pkgcachegen.{cc,h}:David Kalnischkies1-1/+4
- 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 Kalnischkies1-6/+6
- 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 Kalnischkies1-1/+1
- add simple wrapper around std::set for cache structures
2010-05-31* apt-pkg/pkgcache.cc:David Kalnischkies1-0/+19
- get the best matching arch package from a group with FindPreferredPkg
2010-05-04* doc/files.sgml:Michael Vogt1-0/+3
- 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 Klode1-1/+1
- 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 Kalnischkies1-0/+3
- 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 Kalnischkies1-12/+5
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 Kalnischkies1-1/+29
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 Kalnischkies1-0/+12
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 Kalnischkies1-46/+171
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 Kalnischkies1-2/+7
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 Kalnischkies1-0/+12
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 Kalnischkies1-1/+4
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 Kalnischkies1-2/+2
the information from the parent package now
2010-01-30* apt-pkg/contrib/macros.h:David Kalnischkies1-1/+1
- 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 Kalnischkies1-1/+1
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 Kalnischkies1-0/+27
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 Kalnischkies1-2/+6
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 Kalnischkies1-16/+96
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 Kalnischkies1-31/+25
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 Kalnischkies1-9/+17
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 Vogt1-6/+6
- 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 Vogt1-2/+2
- 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 Vogt1-0/+51
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 Vogt1-0/+2
2009-06-15Introduce support for the Enhances field. (Closes: #137583) jak@debian.org1-2/+2
2009-05-07[apt-pkg] allow also codenames for specifying a releaseDavid Kalnischkies1-0/+2
* 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 Vogt1-2/+2
hash by using locale independant tolower_ascii() function. Thanks to M. Vefa Bicakci (LP: #80248)
2009-04-09* apt-pkg/contrib/strutl.cc:Michael Vogt1-2/+6
- 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).
2009-02-03apt-pkg/pkgcache.cc: fix typoMichael Vogt1-1/+1
2009-02-03* apt-pkg/pkgcache.cc:Michael Vogt1-3/+7
- do not run "dpkg --configure pkg" if pkg is in trigger-awaited state (LP: #322955)
2008-09-23* apt-pkg/pkgcachegen.cc:Michael Vogt1-1/+2
- do not add multiple identical descriptions for the same language (closes: #400768)