Age | Commit message (Collapse) | Author |
|
done on the mirco-optimazation level, so lets fix them:
(performance) Possible inefficient checking for emptiness.
(performance) Prefer prefix ++/-- operators for non-primitive types.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- use ref-to-ptr semantic in NewDepends() to ensure that the
libapt does not segfault if the cache is remapped in between
(LP: #812862)
|
|
|
|
- add GetModificationTime() helper
* apt-pkg/pkgcachegen.cc:
- regenerate the cache if the sources.list changes to ensure
that changes in the ordering there will be honored by apt
* apt-pkg/sourcelist.{cc,h}:
- add pkgSourceList::GetLastModifiedTime() helper
|
|
|
|
|
|
- fallback to memory if file is not writeable even if access()
told us the opposite before (e.g. in fakeroot 1.16) (Closes: #630591)
|
|
use the internal resolver can now be used also with external
ones as the usage is hidden in between the old API
* provide two edsp solvers in apt-utils:
- 'dump' to quickly output a complete scenario and
- 'apt' to use the internal as an external resolver
|
|
- use the native Architecture stored in the cache header instead of
loading it from configuration as suggested by Julian Andres Klode
|
|
based on a very early draft for EDSP by Stefano
APT can now write a scenario as well as load most stuff from it.
|
|
- return "all" instead of native architecture without breaking the abi
(too much) by extending enum instead of using bitflags (LP: #733741)
With the next abi break that enum should be a char bitflag instead
|
|
- make "all"->"native" an implementation detail of NewPackage
rather than rewrite it in higher methods
|
|
Multi-Arch; instead, Arch: all packages only satisfy dependencies for
the native arch, except where the Arch: all package is declared
Multi-Arch: foreign. (Closes: #613584)
This has the sideeffect that arch:all packages internally show up as
coming from the native arch - so packages with the architecture "all"
doesn't exist any longer in the pkgcache
|
|
- in multiarch, let :all packages conflict with :any packages
with a different version to be sure
|
|
|
|
|
|
|
|
- do not query each architecture for flat file archives
|
|
faster and still provides everything we need for the Cache generator
|
|
- add and document APT::Cache-{Start,Grow,Limit} options for mmap control
|
|
- make the used MMap moveable (and therefore dynamic resizeable) by
applying (some) mad pointer magic (Closes: #195018)
|
|
|
|
be able to react on condition changes later then we can move mmap
|
|
Less and Greater -> half the dependencies :)
|
|
- split Open() into submethods to be able to build only parts
- make the OpProgress optional in the Cache buildprocess
|
|
- enhance the Groups ABI by providing a ID as the other structs does
- check also the size of the Group struct then checking for the others
|
|
- add a parent-guarded "mkdir -p" as CreateDirectory()
* apt-pkg/acquire.{cc,h}:
- add a delayed constructor with Setup() for success reporting
- check for and create directories in Setup if needed instead of
error out unfriendly in the Constructor (Closes: #523920, #525783)
- optional handle a lock file in Setup()
* cmdline/apt-get.cc:
- remove the lock file handling and let Acquire take care of it instead
|
|
|
|
so it is easier to find them later on as we have no "noice"
anymore between them.
|
|
but we support the usage of the new ABI so libapt users
can start to prepare for MultiArch (Closes: #536029)
|
|
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)
|
|
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.
|
|
|
|
|
|
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.
|
|
|
|
- move the header system.h with a new name to the public domain,
to be able to use it in other headers (Closes: #567662)
|
|
- add debug option Debug::pkgCacheGen
- merge fix for apt-get source pkg=version regression
(closes: #561971)
|
|
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.
|
|
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!
|
|
* add mmap error message also to the dynamic mmap
* remove some more {Ver,Desc} == 0 checks in for loops
* try to respect the given flags to the dynamic mmap
* open cached caches not as ReadOnly and not as Shared, so we
always have a copy of the cache in the memory we can modify
(e.g. set the hold state on-the-fly)
|