Age | Commit message (Collapse) | Author |
|
|
|
|
|
so it is easier to find them later on as we have no "noice"
anymore between them.
|
|
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.
|
|
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…
|
|
|
|
but we support the usage of the new ABI so libapt users
can start to prepare for MultiArch (Closes: #536029)
|
|
use it as a fallback if multiarch is not enabled. The effect is barly
noticeable but SingleArch is the realworld scenario.
|
|
Negative means here Conflicts, Replaces and Breaks - this adds again
a whole lot of dependencies.
|
|
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.
|
|
- merge versions correctly even if multiple different versions
with the same version number are available.
Thanks to Magnus Holmgren for the patch! (Closes: #351056)
|
|
- remove Auto-Installed information from extended_states
together with the package itself (Closes: #572364)
|
|
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.
|
|
- 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 ;)
|
|
- if available store the Commandline in the history
* apt-pkg/contrib/cmndline.cc:
- save Commandline in Commandline::AsString for logging
|
|
- fix memory leaks in error conditions in DoSource()
|
|
- fix error message construction in OpenLog()
|
|
|
|
|
|
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.
|
|
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.
|
|
|
|
(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)
|
|
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.
|
|
- 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)
|
|
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.
|
|
|
|
|
|
- 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)
|
|
useful when using several different archives on the same host.
(Closes: #329814, LP: #22354)
|
|
(This is the revert of the glibc-abi-compatibility-hack)
|
|
|
|
|
|
- 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).
|
|
|
|
- stdin redirected to /dev/null takes all CPU (Closes: #569488)
Thanks to Aurelien Jarno for providing (again) a patch!
|
|
|
|
- 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).
|
|
|
|
one package is in the group will generate false positives - as the others
will (maybe) added a little time later in the process.
|
|
- stdin redirected to /dev/null takes all CPU (Closes: #569488)
Thanks to Aurelien Jarno for providing (again) a patch!
|
|
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.
|
|
|
|
for handling arch:all packages, so we create only one package and stop
calling it a pseudo package.
|
|
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.
|
|
with previous usecases. You now need to requested with Arch(true) the
return of the architecture this version (and pseudo package) was created for.
|
|
name:any for such packages, so dependencies in this style can be
easily resolved.
|
|
|
|
|
|
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.
|