summaryrefslogtreecommitdiff
path: root/apt-pkg
Commit message (Collapse)AuthorAgeFilesLines
* convert some tabs to spaces to respect the style guideDavid Kalnischkies2010-03-302-99/+109
|
* rename ExplodeString to VectorizeStringDavid Kalnischkies2010-03-304-6/+6
|
* Group packages in the same group together in the package listDavid Kalnischkies2010-03-302-21/+22
| | | | | so it is easier to find them later on as we have no "noice" anymore between them.
* replace every call to toupper with one to our own tolower_asciiDavid Kalnischkies2010-03-304-46/+42
| | | | | | | | | | 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.
* Add with pkgCacheGen::Essential a way to control which packages get theDavid Kalnischkies2010-03-211-3/+13
| | | | | | | | | | | | 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…
* add a missing non-const & Accessors to the Iterator classDavid Kalnischkies2010-03-191-0/+1
|
* merge MultiArch-ABI. We don't support MultiArch yet (as most other tools),David Kalnischkies2010-03-1827-861/+1756
|\ | | | | | | | | but we support the usage of the new ABI so libapt users can start to prepare for MultiArch (Closes: #536029)
| * Readd the FindPkg() method implementation used in the singleArch days toDavid Kalnischkies2010-03-182-2/+36
| | | | | | | | | | use it as a fallback if multiarch is not enabled. The effect is barly noticeable but SingleArch is the realworld scenario.
| * generate "negative" dependencies against all architectures of a packageDavid Kalnischkies2010-03-181-3/+16
| | | | | | | | | | Negative means here Conflicts, Replaces and Breaks - this adds again a whole lot of dependencies.
| * Ensure that for each all package at least one pseudopackage is installedDavid Kalnischkies2010-03-141-9/+68
| | | | | | | | | | | | | | | | | | 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.
| * fix compiler error if compiled with -std=c++0xDavid Kalnischkies2010-03-011-5/+5
| |
| * We need to kill also pseudo packages which have no dependency, noDavid Kalnischkies2010-03-012-12/+66
| | | | | | | | | | | | | | | | | | 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.
| * Remove and Unpack operations should not be ignored for pseudo packages -David Kalnischkies2010-03-012-9/+15
| | | | | | | | | | | | | | | | | | | | | | 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.
| * Create Pins for all group members instead of only for native architectureDavid Kalnischkies2010-02-281-19/+22
| |
| * Fix the PkgFileIterator Constructor which defaults to the wrong value.David Kalnischkies2010-02-281-1/+2
| | | | | | | | | | | | (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)
| * Enable the AutoRemover to talk "Multi-Arch" by marking all pseudoDavid Kalnischkies2010-02-272-65/+109
| | | | | | | | | | | | | | | | | | 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.
| * move ShowPkg() from apt-get to the PkgIterator and rename it to FullName()David Kalnischkies2010-02-262-0/+13
| | | | | | | | | | | | | | 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.
| * doesn't use a default separator in ExplodeString (halfway losted in merge)David Kalnischkies2010-02-181-1/+1
| |
| * criss-cross merge with my sid branchDavid Kalnischkies2010-02-182-11/+12
| |\
| * | * aptconfiguration.cc:David Kalnischkies2010-02-152-7/+76
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - 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).
| * | Add support for the LANGUAGE environment variableDavid Kalnischkies2010-02-143-34/+61
| | |
| * | Pseudo() doesn't work in the Cache generation step as the check if onlyDavid Kalnischkies2010-02-141-1/+2
| | | | | | | | | | | | | | | one package is in the group will generate false positives - as the others will (maybe) added a little time later in the process.
| * | * apt-pkg/deb/dpkgpm.cc:David Kalnischkies2010-02-131-1/+1
| | | | | | | | | | | | | | | - stdin redirected to /dev/null takes all CPU (Closes: #569488) Thanks to Aurelien Jarno for providing (again) a patch!
| * | [BREAK] merge MultiArch-ABI. We don't support MultiArch,David Kalnischkies2010-02-1328-770/+1455
| |\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| | * | In SingleArch environments we don't need the arch "all" pseudo packageDavid Kalnischkies2010-02-123-4/+10
| | | | | | | | | | | | | | | | | | | | for handling arch:all packages, so we create only one package and stop calling it a pseudo package.
| | * | Add yet another pseudo package which isn't as pseudo as the others:David Kalnischkies2010-02-1210-17/+124
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| | * | Arch() on a MultiArch:all version should return "all" to be compatibleDavid Kalnischkies2010-02-111-1/+10
| | | | | | | | | | | | | | | | | | | | with previous usecases. You now need to requested with Arch(true) the return of the architecture this version (and pseudo package) was created for.
| | * | Add Multi-Arch: allowed support by creating an implicit provide ofDavid Kalnischkies2010-02-112-1/+10
| | | | | | | | | | | | | | | | | | | | name:any for such packages, so dependencies in this style can be easily resolved.
| | * | Foreign Versions add an implicit Provides to the other packages in the groupDavid Kalnischkies2010-02-103-24/+42
| | | |
| | * | Create implicit dependencies needed for Multi-Arch handlingDavid Kalnischkies2010-02-101-7/+24
| | | |
| | * | Pre-MultiArch a package which depends on a package with architecture "all"David Kalnischkies2010-02-103-11/+110
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| | * | Drop the Arch information from the Version structure as we can getDavid Kalnischkies2010-02-076-7/+12
| | | | | | | | | | | | | | | | the information from the parent package now
| | * | Split ListParser::NewDepends into two methods to use these new methodDavid Kalnischkies2009-12-276-40/+176
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| | * | merge Goswin Brederlow "support download of index files for different archs"David Kalnischkies2009-12-2318-214/+394
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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).
| | * | Implement the first step toward Multi-Arch by setting up a GroupDavid Kalnischkies2009-12-197-70/+267
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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!
| | * | mark the Error/Warning method as __coldDavid Kalnischkies2009-12-191-4/+5
| | | |
| | * | add optional gcc features as deprecated, unused and (un)likelyDavid Kalnischkies2009-12-191-0/+22
| | | |
| | * | Refactor the cache iterators by using a common base classDavid Kalnischkies2009-12-093-418/+320
| | | | | | | | | | | | | | | | | | | | This should not change the public interface, but it removes the friend connection between the iterators and pkgcache as it is unused.
* | | | Fix a segfault in the version merger introduced in the previous patch:David Kalnischkies2010-03-181-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | | * apt-pkg/pkgcachegen.cc:David Kalnischkies2010-03-171-17/+11
| | | | | | | | | | | | | | | | | | | | | | | | - merge versions correctly even if multiple different versions with the same version number are available. Thanks to Magnus Holmgren for the patch! (Closes: #351056)
* | | | * apt-pkg/depcache.cc:David Kalnischkies2010-03-144-20/+41
| | | | | | | | | | | | | | | | | | | | - remove Auto-Installed information from extended_states together with the package itself (Closes: #572364)
* | | | * apt-pkg/deb/debversion.cc:David Kalnischkies2010-03-131-2/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - 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 ;)
* | | | * apt-pkg/deb/dpkgpm.cc:David Kalnischkies2010-03-123-1/+44
| | | | | | | | | | | | | | | | | | | | | | | | - if available store the Commandline in the history * apt-pkg/contrib/cmndline.cc: - save Commandline in Commandline::AsString for logging
* | | | * cmdline/apt-get.ccDavid Kalnischkies2010-03-121-1/+2
| | | | | | | | | | | | | | | | - fix memory leaks in error conditions in DoSource()
* | | | * apt-pkg/deb/dpkgpm.cc:David Kalnischkies2010-03-121-7/+9
| | | | | | | | | | | | | | | | - fix error message construction in OpenLog()
* | | | fix memory leak in getLanguages() by closing the directory after checkingDavid Kalnischkies2010-03-031-0/+1
| | | |
* | | | * apt-pkg/contrib/mmap.{h,cc}:David Kalnischkies2010-02-272-11/+64
| | | | | | | | | | | | | | | | | | | | | | | | - 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)
* | | | fix crash when LANGUAGE is not setMichael Vogt2010-02-181-1/+2
| | | |
* | | | merge from the lp:~donkult/apt/sid branchMichael Vogt2010-02-187-42/+158
|\ \ \ \
| * | | | we break the ABI, so let use increase the ABI number :)David Kalnischkies2010-02-181-1/+1
| | |_|/ | |/| | | | | | | | | | (This is the revert of the glibc-abi-compatibility-hack)