Age | Commit message (Collapse) | Author | Files | Lines |
|
this prunes the search tree considerably and fixes a speed
regression introduced in an earlier commit.
|
|
the solver requires this.
|
|
We need to refresh all name states after backtracking as options
that were excluding due to topology ordering might have become
available.
|
|
The array struct aligned size to 64 bit on x86_64 which caused bad things
to happen.
We use size_t to make sure the size element is correct regardless arch.
Solution found by Timo.
|
|
allow per-name solver flags to be inheritable, and use them in
self-upgrade, add -u and the fix applet. this gives more familiar
behaviour for the upgrades.
|
|
|
|
|
|
|
|
Tests whether given package string is installed
|
|
- call apk_atom_init()
- if no open flag is specified, then default to read-only.
|
|
|
|
|
|
so far we just parse the db options
|
|
namely this fixes apk upgrade without --no-self-upgrade when
the solver is called twice.
|
|
|
|
Use the build option SHARED_LIBAPK for building shared.
|
|
So we can build with -Werror
|
|
the only bit of information needed in solver commit is the "hard"
topology sorting information for trigger ordering. fixes a bug in
"apk del" which uses the state pointers to do intermediate
calculations between solution solving and commit.
|
|
|
|
also optimize search to happen for enumeration of package names.
fixes #39, fixes #560
|
|
fixes #714
|
|
fixes #738
|
|
Use it to avoid self-upgrade loops in case something fails during
the initial upgrade attempt.
|
|
|
|
|
|
|
|
|
|
Make a loud warning if the script returns failure, but do not
abort installation sequence because of that.
|
|
|
|
Deduce the world dependencies to remove locally, and same for the
additional messages about packages not deleted.
|
|
|
|
still todo:
- 'fix' is missing
- 'del -R' does not work
- 'upgrade' does not do self-upgrade first
... and a lot of testing.
|
|
Allow to select packages that conflict in case we are looking for
errors. This allows 'add --force' to install (on boot) the set of
packages with minimum conflicts.
|
|
* each package name has two sorting positions, one which causes
install_if triggers to be run, and other for bulk dependencies
* fix also inverted ordering of package installations
|
|
this allows quite some optimizations to running time and memory
requirements.
|
|
* the solver no longer does look-ahead locking of names
(could be possibly optimized later); instead names are now
always ordered strictly to properly detect the package names
which are unsolveable
* basic error tests added, so we can see the most likely problem
in dependencies easily
|
|
Packages that need (re-)installation but which are not available,
are excluded now properly.
|
|
The first found solution is the most preferred one then.
|
|
|
|
|
|
* basic code for a backtracking, forward checking dependency satisfier
* works better when there are tricky dependencies to solve
(when can't just upgrade everything to most preferred versions)
* the new code always evaluates all of 'world' constraints
(old code just does incremental updates based on heuristics)
* is probably somewhat slower than old code (probably unnoticeable
difference in most cases)
* makes easier to write support for provides and repository pinning
* test applet and a bunch of test cases added which uses the new code
* from the old feature set install_if is not yet implemented
|
|
This applet can be used to generate data for graphviz tools.
Useful to visualize package dependencies, and possible errors
in the repository.
Usage examples:
apk dot gnome-desktop | tred | dot -Tpng gnome-desktop.png
-- to generate simplified dependency chart of gnome-desktop
apk dot --errors | dot -Tpng index-errors.png
-- to generate chart visualizing dependency errors in index
|
|
|
|
* fixup the help messages to align up properly
* refresh screen width on SIGWINCH
|
|
|
|
|
|
version().
|
|
|
|
fixes #666
|
|
Make indexer keep noise about errors that prevent index generation.
Detect certain errors in the APKs better. And also have the applet
return error in these scenarios.
|