summaryrefslogtreecommitdiff
path: root/apt-pkg/pkgcachegen.cc
AgeCommit message (Collapse)Author
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-08-08apt-pkg/pkgcachegen.cc: fix incorrect test for modification timeMichael Vogt
2011-08-05apt-pkg/pkgcachegen.cc: fix compiler errorMichael Vogt
2011-08-01fix crash when P.Arch() was used but the cache got remappedMichael Vogt
2011-08-01apt-pkg/pkgcachegen.cc: copy Arch to avoid segfault on cache remapMichael Vogt
2011-07-29merged from debian-sidMichael Vogt
2011-07-29merge from lp:~mvo/apt/mvoMichael Vogt
2011-07-29* apt-pkg/pkgcachegen.{cc,h}:Michael Vogt
- use ref-to-ptr semantic in NewDepends() to ensure that the libapt does not segfault if the cache is remapped in between (LP: #812862)
2011-07-28merged from lp:~mvo/apt/mvoMichael Vogt
2011-07-28* apt-pkg/contrib/fileutl.{cc,h}:Michael Vogt
- add GetModificationTime() helper * apt-pkg/pkgcachegen.cc: - regenerate the cache if the sources.list changes to ensure that changes in the ordering there will be honored by apt * apt-pkg/sourcelist.{cc,h}: - add pkgSourceList::GetLastModifiedTime() helper
2011-07-20apt-pkg/pkgcachegen.cc: Write the file size to the cacheJulian Andres Klode
2011-07-15merged from http://bzr.debian.org/bzr/apt/apt/debian-sidMichael Vogt
2011-06-30* apt-pkg/pkgcachegen.cc:David Kalnischkies
- fallback to memory if file is not writeable even if access() told us the opposite before (e.g. in fakeroot 1.16) (Closes: #630591)
2011-05-17* Implement EDSP in libapt-pkg so that all front-ends whichDavid Kalnischkies
use the internal resolver can now be used also with external ones as the usage is hidden in between the old API * provide two edsp solvers in apt-utils: - 'dump' to quickly output a complete scenario and - 'apt' to use the internal as an external resolver
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-03-30add a first round of stuff needed for talking between APT and solversDavid Kalnischkies
based on a very early draft for EDSP by Stefano APT can now write a scenario as well as load most stuff from it.
2011-03-25* apt-pkg/cacheiterator.h:David Kalnischkies
- return "all" instead of native architecture without breaking the abi (too much) by extending enum instead of using bitflags (LP: #733741) With the next abi break that enum should be a char bitflag instead
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
2011-02-07* apt-pkg/pkgcachegen.cc:David Kalnischkies
- in multiarch, let :all packages conflict with :any packages with a different version to be sure
2010-08-10apt-pkg, methods: Convert users of WriteEmpty to WriteAtomic.Julian Andres Klode
2010-07-11accidently prefilling the vectors results in segfaultsDavid Kalnischkies
2010-07-11rename ReOwn to ReMap in the cacheiteratorsDavid Kalnischkies
2010-07-11* apt-pkg/deb/debmetaindex.cc:David Kalnischkies
- do not query each architecture for flat file archives
2010-07-09switch from std::set to std::vector as it is way more simple, a bitDavid Kalnischkies
faster and still provides everything we need for the Cache generator
2010-07-09* doc/apt.conf.5.xml:David Kalnischkies
- add and document APT::Cache-{Start,Grow,Limit} options for mmap control
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-08use references instead of copies in the Cache generation methodsDavid Kalnischkies
2010-07-06wrap the mmap actions in the CacheGenerator in their own methods toDavid Kalnischkies
be able to react on condition changes later then we can move mmap
2010-07-05Try to use NotEquals for the MultiArch Breaks dependencies instead ofDavid Kalnischkies
Less and Greater -> half the dependencies :)
2010-06-04* apt-pkg/cachefile.{cc,h}:David Kalnischkies
- split Open() into submethods to be able to build only parts - make the OpProgress optional in the Cache buildprocess
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-04-07* apt-pkg/contrib/fileutl.cc:David Kalnischkies
- add a parent-guarded "mkdir -p" as CreateDirectory() * apt-pkg/acquire.{cc,h}: - add a delayed constructor with Setup() for success reporting - check for and create directories in Setup if needed instead of error out unfriendly in the Constructor (Closes: #523920, #525783) - optional handle a lock file in Setup() * cmdline/apt-get.cc: - remove the lock file handling and let Acquire take care of it instead
2010-03-30convert some tabs to spaces to respect the style guideDavid Kalnischkies
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-18merge MultiArch-ABI. We don't support MultiArch yet (as most other tools),David Kalnischkies
but we support the usage of the new ABI so libapt users can start to prepare for MultiArch (Closes: #536029)
2010-03-18Fix a segfault in the version merger introduced in the previous patch:David Kalnischkies
As we skip now versions with a different hash we will have situations in which the version is equal but the hash different causing to check the next version, but as this version was the last one the version iterator is invalid then the merger wants to add further information.
2010-03-17* apt-pkg/pkgcachegen.cc:David Kalnischkies
- merge versions correctly even if multiple different versions with the same version number are available. Thanks to Magnus Holmgren for the patch! (Closes: #351056)
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-10Foreign Versions add an implicit Provides to the other packages in the groupDavid Kalnischkies
2010-02-10Create implicit dependencies needed for Multi-Arch handlingDavid Kalnischkies
2010-02-10Pre-MultiArch a package which depends on a package with architecture "all"David Kalnischkies
can be sure that a package comeing in as a dependency of this package will be of the same architecture as itself (or all). We don't want to break this, so internal an arch all package is represented as many arch depending packages. The only problem we have now is that we only know that a arch all package is installed or not - we don't know for which architecture it was installed: So we will look at all these broken arch all pseudo packages and "remove" them.
2010-01-31merge r1966..1967 from lp:~donkult/apt/sidMichael Vogt
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-09* apt-pkg/deb/debindexfile.cc, apt-pkg/pkgcachegen.cc:Michael Vogt
- add debug option Debug::pkgCacheGen - merge fix for apt-get source pkg=version regression (closes: #561971)
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-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-07-23[apt-pkg] yet another bit of mmap and pkgcachegen housekeepingDavid Kalnischkies
* add mmap error message also to the dynamic mmap * remove some more {Ver,Desc} == 0 checks in for loops * try to respect the given flags to the dynamic mmap * open cached caches not as ReadOnly and not as Shared, so we always have a copy of the cache in the memory we can modify (e.g. set the hold state on-the-fly)