summaryrefslogtreecommitdiff
path: root/apt-pkg
AgeCommit message (Collapse)Author
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-30replace every call to toupper with one to our own tolower_asciiDavid Kalnischkies
This sounds like a premature optimization and since Mr. Knuth we all know that they are the root of all evil - but, and here it starts to be interesting: As the tolower_ascii method is by far the most called method we have (~60 Mio. times) and as we compare only strings containing ascii characters (package names, configuration options) using our own method reduces execution time of APT by 4% plus it avoids that the locale settings can influence us.
2010-03-21Add with pkgCacheGen::Essential a way to control which packages get theDavid Kalnischkies
essential flag: * native is the default and will only mark packages of the main arch * all will mark all packages which have these flag in Packages * none will obviously do the opposite * installed will only mark packages which are installed as essential, so it will behave in the same way as dpkg does it. It is mostly needed sometimes for debugging but some users with special needs might like to switch the mode as well under the expense to be on their own…
2010-03-19add a missing non-const & Accessors to the Iterator classDavid Kalnischkies
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-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-03-18generate "negative" dependencies against all architectures of a packageDavid Kalnischkies
Negative means here Conflicts, Replaces and Breaks - this adds again a whole lot of dependencies.
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-03-14* apt-pkg/depcache.cc:David Kalnischkies
- remove Auto-Installed information from extended_states together with the package itself (Closes: #572364)
2010-03-14Ensure that for each all package at least one pseudopackage is installedDavid Kalnischkies
Removing pseudo packages is cool so far, the problem is that we will remove with the not required removing so many pseudo packages that we will have after the remove a few packages with NO installed pseudo package (e.g. metapackages are good candidates) - so we will walk over all these packages and try to find a pseudopackage for this package we can install without breaking something.
2010-03-13* apt-pkg/deb/debversion.cc:David Kalnischkies
- consider absent of debian revision equivalent to 0 (Closes: #573592) This moves the existing testcase for version comparison to "my" directory, adds a few more tests (e.g. the tests used in cupt) and rewrites the testcases runner: The runner does now call dpkg --compare-versions to check what dpkg thinks about the comparison - all done in less code ;)
2010-03-12* apt-pkg/deb/dpkgpm.cc:David Kalnischkies
- if available store the Commandline in the history * apt-pkg/contrib/cmndline.cc: - save Commandline in Commandline::AsString for logging
2010-03-12* cmdline/apt-get.ccDavid Kalnischkies
- fix memory leaks in error conditions in DoSource()
2010-03-12* apt-pkg/deb/dpkgpm.cc:David Kalnischkies
- fix error message construction in OpenLog()
2010-03-03fix memory leak in getLanguages() by closing the directory after checkingDavid Kalnischkies
2010-03-01fix compiler error if compiled with -std=c++0xDavid Kalnischkies
2010-03-01We need to kill also pseudo packages which have no dependency, noDavid Kalnischkies
installed reverse dependency and which also doesn't provide something. They cause problems if this pseudo packages get new dependencies. As a consequence we also need to recheck the dependencies of a killed pseudo package (and especially the providers of these dependencies) to really kill all non required packages.
2010-03-01Remove and Unpack operations should not be ignored for pseudo packages -David Kalnischkies
they should trigger the remove/unpack of the "all" package. Otherwise - as this package has no dependencies - it will be triggered to late. The Configuration step doesn't need it as the "all" package is a dependency of the pseudo-package, so it will be configured before the pseudo packages are tried: So at this step the ignorance is okay. Also IsMissing() should report the status of the all package if an pseudo package is checked instead of always reporting no-miss.
2010-02-28Create Pins for all group members instead of only for native architectureDavid Kalnischkies
2010-02-28Fix the PkgFileIterator Constructor which defaults to the wrong value.David Kalnischkies
(0 instead of the HeaderP) This breaks the Cache Validation functionality as the end() doesn't test for NULL. (The fault was introduced with the rewriting of the CacheIterators)
2010-02-27Enable the AutoRemover to talk "Multi-Arch" by marking all pseudoDavid Kalnischkies
packages in a group if one is marked. The auto-installed flag is from now on Architecture bound: A section without an architecture tag will be treated as applying to all architectures - the next write operation will take care of this by creating separate sections for the architectures.
2010-02-27* apt-pkg/contrib/mmap.{h,cc}:David Kalnischkies
- add char[] fallback for filesystems without shared writable mmap() like JFFS2. Thanks to Marius Vollmer for writing and to Loïc Minier for pointing to the patch! (Closes: #314334)
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-18fix crash when LANGUAGE is not setMichael Vogt
2010-02-18merge from the lp:~donkult/apt/sid branchMichael Vogt
2010-02-18* [BREAK] merged lp:~mvo/apt/historyMichael Vogt
- this writes a /var/log/apt/history tagfile that contains details from the transaction (complements term.log) * methods/http.cc: - add cache-control headers even if no cache is given to allow adding options for intercepting proxies - add Acquire::http::ProxyAutoDetect configuration that can be used to call a external helper to figure out the proxy configuration and return it to apt via stdout (this is a step towards WPAD and zeroconf/avahi support) * abicheck/ - add new abitest tester using the ABI Compliance Checker from http://ispras.linuxfoundation.org/index.php/ABI_compliance_checker * Change the package index Info methods to allow apt-cache policy to be useful when using several different archives on the same host. (Closes: #329814, LP: #22354)
2010-02-18Change the package index Info methods to allow apt-cache policy to beMichael Vogt
useful when using several different archives on the same host. (Closes: #329814, LP: #22354)
2010-02-18we break the ABI, so let use increase the ABI number :)David Kalnischkies
(This is the revert of the glibc-abi-compatibility-hack)
2010-02-18doesn't use a default separator in ExplodeString (halfway losted in merge)David Kalnischkies
2010-02-18criss-cross merge with my sid branchDavid Kalnischkies
2010-02-18* aptconfiguration.cc:David Kalnischkies
- include all existing Translation files in the Cache (Closes: 564137) Previously if APT was executed with a different LC_* all these invocations needed to rebuild the Cache as too many files were included or missing: Now the lists-directory is checked for Translation-files and all these will be included in getLanguages() regardless of the environment setting (after a "none" so APT will not use them for displaying information).
2010-02-18dd support for the LANGUAGE environment variableDavid Kalnischkies
2010-02-18* apt-pkg/deb/dpkgpm.cc:David Kalnischkies
- stdin redirected to /dev/null takes all CPU (Closes: #569488) Thanks to Aurelien Jarno for providing (again) a patch!
2010-02-17merged from debian-sidMichael Vogt
2010-02-15* aptconfiguration.cc:David Kalnischkies
- include all existing Translation files in the Cache (Closes: 564137) Previously if APT was executed with a different LC_* all these invocations needed to rebuild the Cache as too many files were included or missing: Now the lists-directory is checked for Translation-files and all these included in getLanguages() regardless of the environment setting (after a "none" so APT will not use them for displaying information).
2010-02-14Add support for the LANGUAGE environment variableDavid Kalnischkies
2010-02-14Pseudo() doesn't work in the Cache generation step as the check if onlyDavid Kalnischkies
one package is in the group will generate false positives - as the others will (maybe) added a little time later in the process.
2010-02-13* apt-pkg/deb/dpkgpm.cc:David Kalnischkies
- stdin redirected to /dev/null takes all CPU (Closes: #569488) Thanks to Aurelien Jarno for providing (again) a patch!
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-13merge with debian-sidDavid Kalnischkies
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-11Arch() on a MultiArch:all version should return "all" to be compatibleDavid Kalnischkies
with previous usecases. You now need to requested with Arch(true) the return of the architecture this version (and pseudo package) was created for.
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-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-02-07fix progress reporting while reading extended_states fileDavid Kalnischkies
2010-02-07Drop the Arch information from the Version structure as we can getDavid Kalnischkies
the information from the parent package now