NOTE: this will be merged into the future Graph refactoring.
Resolve or-dependencies taking advantage of package matches requested
by caller, when available.
For example: if user is requesting xfce4-panel and nm-applet, and
the former has an or dependency like this: "gnome-panel;xfce4-panel?"
or (using the new format) "( gnome-panel | xfce4-panel )", prefer
xfce4-panel over gnome-panel.
NOTE: this will go into the future Graph refactoring.
When calculating or-dependencies, it is now possible to provide
a list of preferred package matches that can be used to prioritize
certain packages over others.
reponame attribute is now storing with 100% fidelilty the repository
identifier used to instantiate the EntropyRepositoryBase instance
through open_repository() and similar.
It can happen that downloaded data exceeds the size of the file
that is requested for download. In this case, resume should be
turned off and the file re-downloaded completely.
Through /etc/entropy/packages/packages.server.sets it's now possible
to list package sets that a repository must always expose.
A QA check has been added inside the repository sync function, in
entropy.server.interfaces.mirrors package.
Just use conf/packages/packages.server.sets.example as example
file to build your configuration.
Migrate entropy.qa missing_runtime_dependencies_test() to multi-repository support.
Provide public API for running missing runtime dependencies verification in entropy.server,
add missing_runtime_dependencies_test()
It can happen that some installed packages conflict against newly
available packages, but the latter doesn't list the former as
conflict, resulting in unforeseen missing conflict information.
This is generally a QA issue in the package metadata, but it's better
to try to cope with it, even if a bit dangerous (effects of this
"auto-conflict" feature have to be tested in real world). For this
reason, one can override this feature by setting the env var:
ETP_DISABLE_AUTOCONFLICT=1 as well as turning off caching that could
compromise the results: ETP_NOCACHE=1
This commit implements working Entropy package delta download for
both single fetch and multifetch feature. It is fault tolerant and
the usual behaviour will be triggered as fallback.
Due to the memory requirements of bspatch, edelta won't be used for
files bigger than 10Mb (this is hardcoded inside entropy-pkgdelta-generator).
.edelta files are automatically generated by entropy-pkgdelta-generator,
inside a cron job on our servers. This feature is completely optional,
but can be easily implemented by 3rd parties by simply using the
generator app above, everything will be handled automatically (bsdiff
required).