| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
|
|
|
|
| |
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.
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
| |
| |
| |
| |
| |
| |
| | |
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.
|
| | |
|
| |\ |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
- 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.
|
| | | |
| | | |
| | | |
| | | | |
the information from the parent package now
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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).
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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!
|
| | | | |
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | | |
This should not change the public interface, but it removes the
friend connection between the iterators and pkgcache as it is unused.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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)
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
- 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()
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
- 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)
|
| | | | |
|
|\ \ \ \ |
|
| | |_|/
| |/| |
| | | |
| | | | |
(This is the revert of the glibc-abi-compatibility-hack)
|