summaryrefslogtreecommitdiff
path: root/apt-pkg/pkgcachegen.h
AgeCommit message (Collapse)Author
2014-09-27drop stored StringItems in favor of in-memory mappingsDavid Kalnischkies
Strings like Section names or architectures are needed vary often. Instead of writing them each time we need them, we deploy sharing for these special strings. Until now, this was done with a linked list of strings in which we would search, which was stored in the cache. It turns out we can do this just as well in memory as well with a bunch of std::map's. In memory means here that it isn't available anymore if we have a partly invalid cache, but that isn't much of a problem in practice as the status file is compared to the other files we parse very small and includes mostly duplicates, so the space we would gain by storing is more or less equal to the size of the stored linked list…
2014-06-18cleanup datatypes mix used in binary cacheDavid Kalnischkies
We had a wild mixture of (unsigned) int, long and long long here without much sense, so this commit adds a few typedefs to get some sense in the typesystem and ensures that a ID isn't sometimes computed as int, stored as long and compared with a long long… as this could potentially bite us later on as the size of the archive only increases over time.
2014-05-09parse and retrieve multiple Descriptions in one recordDavid Kalnischkies
It seems unlikely for now that proper archives will carry multiple Description-* stanzas in the Packages (or Translation-*) file, but sometimes apt eats its own output as shown by the usage of the CD team and it would be interesting to let apt output multiple translations e.g. in 'apt-cache show'.
2014-03-21mark optional (private) symbols as hiddenDavid Kalnischkies
This methods should not be used by anyone expect the library itself as they are helpers for the specific class and therefore perfect candidates for hidding. Git-Dch: Ignore
2014-03-13abstract version hash comparison a bitDavid Kalnischkies
In #737085 we see that apt can be confused if informations about versions only differ slightly. This commit adds a way of at least adding a few more data points with the next abi break to help a bit with it. Git-Dch: Ignore
2014-03-13follow method attribute suggestions by gccDavid Kalnischkies
Git-Dch: Ignore Reported-By: gcc -Wsuggest-attribute={pure,const,noreturn}
2014-03-13cleanup headers and especially #includes everywhereDavid Kalnischkies
Beside being a bit cleaner it hopefully also resolves oddball problems I have with high levels of parallel jobs. Git-Dch: Ignore Reported-By: iwyu (include-what-you-use)
2014-03-13warning: unused parameter ‘foo’ [-Wunused-parameter]David Kalnischkies
Reported-By: gcc -Wunused-parameter Git-Dch: Ignore
2013-04-03share version strings between same versions (of different architectures)David Kalnischkies
to save some space and allow quick comparisions later on
2013-03-13factor version string creation out of NewDepends, so we can easily reuseDavid Kalnischkies
version strings e.g. for implicit multi-arch dependencies
2011-10-12add implicit dependencies needed for Multi-Arch at the time a VersionDavid Kalnischkies
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.
2011-10-11* apt-pkg/pkgcachegen.cc:David Kalnischkies
- refactor MergeList by creating -Group, -Package and -Version specialist
2011-09-19remove old APT_COMPATIBILITY ifdef'sDavid Kalnischkies
2011-09-19do not pollute namespace in the headers with using (Closes: #500198)David Kalnischkies
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)
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-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-02-10Foreign Versions add an implicit Provides to the other packages in the groupDavid Kalnischkies
2010-02-07Drop the Arch information from the Version structure as we can getDavid Kalnischkies
the information from the parent package now
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-06-30add the various foldmarkers in apt-pkg & cmdline (no code change)David Kalnischkies
2007-06-19* fixed compile errors with g++ 7.3 (thanks to Michael Vogt
Daniel Burrows, closes: #429378) * fix FTFBFS by changing build-depends to libcurl4-gnutls-dev (closes: #428363)
2006-12-14* merged the no-pragma branchMichael Vogt
2006-10-02* removed the pragma messMichael Vogt
2005-11-30* merged with apt--mvoMichael Vogt
Patches applied: * apt@packages.debian.org/apt--sources-list-d--0--base-0 tag of apt@packages.debian.org/apt--main--0--patch-30 * apt@packages.debian.org/apt--sources-list-d--0--patch-1 Patch from apt-rpm via Michael Vogt to implement /etc/apt/sources.list.d * bubulle@debian.org--2005/apt--main--0--patch-130 Galician translation completed * bubulle@debian.org--2005/apt--main--0--patch-131 Simplified Chinese translation update * bubulle@debian.org--2005/apt--main--0--patch-132 Completed Simplified Chinese translation * bubulle@debian.org--2005/apt--main--0--patch-133 Merge with Michael AND update PO files * michael.vogt@ubuntu.com--2005/apt--mvo--0--patch-90 * merged the sources.list.d patch * michael.vogt@ubuntu.com--2005/apt--mvo--0--patch-91 * merged with bubulle * michael.vogt@ubuntu.com--2005/apt--mvo--0--patch-92 * changelog update * michael.vogt@ubuntu.com--2005/apt--mvo--0--patch-93 * sources.list.d documented * michael.vogt@ubuntu.com--2005/apt--mvo--0--patch-94 * pkgDirStream has (slightly) better extract support now * michael.vogt@ubuntu.com--2005/apt--mvo--0--patch-95 * merge fix for #339533 * michael.vogt@ubuntu.com--2005/apt--mvo--0--patch-96 * merged with bubulle * michael.vogt@ubuntu.com--2005/apt--mvo--0--patch-97 * some more debug output * michael.vogt@ubuntu.com--2005/apt--mvo--0--patch-98 * ABI change: merged more flexible pkgAcquireFile code * michael.vogt@ubuntu.com--2005/apt--mvo--0--patch-99 * merged http download limit for apt (#146877) * michael.vogt@ubuntu.com--2005/apt--mvo--0--patch-100 * applied parts of the string speedup patch from debian #319377 (ABI change) * michael.vogt@ubuntu.com--2005/apt--mvo--0--patch-101 * fix for #340448 * michael.vogt@ubuntu.com--2005/apt--mvo--0--patch-102 * finalized this release * michael.vogt@ubuntu.com--2005/apt--mvo--0--patch-103 * changelog updates * michael.vogt@ubuntu.com--2005/apt--mvo--0--patch-104 * build-depend on libdb4.3 now, fix for kFreeBSD (#317718) * michael.vogt@ubuntu.com--2005/apt--mvo--0--patch-105 * fix mailaddress * michael.vogt@ubuntu.com--2005/apt--mvo--0--patch-106 * fix a string (thanks to bubulle) * michael.vogt@ubuntu.com--2005/apt--mvo--0--patch-107 * merged with bubulle
2005-11-23* applied parts of the string speedup patch from debian #319377 (ABI change)Michael Vogt
2005-03-23Port DDTP to APT 0.6 branchOtavio Salvador
2004-09-20Gustavo Niemeyer stuff for RPM file dependsArch Librarian
Author: jgg Date: 2002-07-08 03:13:30 GMT Gustavo Niemeyer stuff for RPM file depends
2004-09-20Join with aliencodeArch Librarian
Author: jgg Date: 2001-02-20 07:03:16 GMT Join with aliencode
2004-09-20Minor cleanups, fix for checksum lowercase bugArch Librarian
Author: jgg Date: 1999-07-26 17:46:07 GMT Minor cleanups, fix for checksum lowercase bug
2004-09-20Added a depends option to apt-cacheArch Librarian
Author: jgg Date: 1999-07-15 03:15:48 GMT Added a depends option to apt-cache
2004-09-20Multiple different versions supportArch Librarian
Author: jgg Date: 1999-05-23 22:55:54 GMT Multiple different versions support
2004-09-20Fixed segfault in re-install/upgrade conditionArch Librarian
Author: jgg Date: 1999-04-28 22:48:44 GMT Fixed segfault in re-install/upgrade condition
2004-09-20Support for memory-only cachingArch Librarian
Author: jgg Date: 1999-04-18 06:36:36 GMT Support for memory-only caching
2004-09-20performance tuningArch Librarian
Author: jgg Date: 1999-02-23 06:46:24 GMT performance tuning
2004-09-20Release supportArch Librarian
Author: jgg Date: 1998-12-14 02:23:46 GMT Release support
2004-09-20Package Record parserArch Librarian
Author: jgg Date: 1998-08-09 00:51:33 GMT Package Record parser
2004-09-20Progress and combined cache generatorArch Librarian
Author: jgg Date: 1998-07-26 04:49:26 GMT Progress and combined cache generator
2004-09-20Generic progress meterArch Librarian
Author: jgg Date: 1998-07-21 05:33:18 GMT Generic progress meter
2004-09-20Comment touch upsArch Librarian
Author: jgg Date: 1998-07-19 21:24:11 GMT Comment touch ups
2004-09-20DumpAvail works and apt-cache is completeArch Librarian
Author: jgg Date: 1998-07-19 04:22:00 GMT DumpAvail works and apt-cache is complete
2004-09-20First draft of make system and name change to apt-pkgArch Librarian
Author: jgg Date: 1998-07-12 23:58:20 GMT First draft of make system and name change to apt-pkg
2004-09-20SyncArch Librarian
Author: jgg Date: 1998-07-07 04:17:00 GMT Sync
2004-09-20Final testingArch Librarian
Author: jgg Date: 1998-07-05 05:33:52 GMT Final testing
2004-09-20CheckpointArch Librarian
Author: jgg Date: 1998-07-04 05:57:34 GMT Checkpoint