summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2011-10-14solver: preference scoringTimo Teräs6-85/+120
Should now choose packages better if the best available version is uninstallable for some reason.
2011-09-28solver: return error code if things fail during package installTimo Teräs1-2/+1
2011-09-28solver: evaluate penalty of unsatisfiable name earlyTimo Teräs1-4/+16
this prunes the search tree considerably and fixes a speed regression introduced in an earlier commit.
2011-09-27pkg: fix dependency checking against non-installed packagesTimo Teräs1-0/+5
the solver requires this.
2011-09-22solver: fix backtrackingTimo Teräs1-32/+33
We need to refresh all name states after backtracking as options that were excluding due to topology ordering might have become available.
2011-09-20all: fix array size data type on 64 bitNatanael Copa2-4/+4
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.
2011-09-16solver: inheritable solver flagsTimo Teräs5-31/+126
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.
2011-09-16fetch: reimplement -R after solver changesTimo Teräs1-17/+11
2011-09-16build: fix make install of shared lib and lua moduleNatanael Copa1-2/+2
2011-09-15lua: implement iterator with installed packagesNatanael Copa1-5/+43
2011-09-15lua: implement exists/is_installedNatanael Copa1-0/+33
Tests whether given package string is installed
2011-09-15lua: init fixesNatanael Copa1-0/+3
- call apk_atom_init() - if no open flag is specified, then default to read-only.
2011-09-15lua: implement who_ownsNatanael Copa1-0/+41
2011-09-15lua: open and close dbNatanael Copa1-2/+50
2011-09-15lua: initial db_openNatanael Copa1-1/+75
so far we just parse the db options
2011-09-15solver: fix sorting when solver is used multiple times within runTimo Teräs1-1/+2
namely this fixes apk upgrade without --no-self-upgrade when the solver is called twice.
2011-09-14lua: remove unneeded global varsNatanael Copa1-4/+0
2011-09-14build: tell git to ignore config.mkNatanael Copa1-0/+1
2011-09-14build: support building lua module without shared libapkNatanael Copa1-3/+4
Use the build option SHARED_LIBAPK for building shared.
2011-09-14lua: typecast apk blob lenNatanael Copa1-6/+13
So we can build with -Werror
2011-09-14solver: make state pointers completely internalTimo Teräs5-41/+32
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.
2011-09-14apk: remove unneeded global apk_screen_widthTimo Teräs1-1/+0
2011-09-14search: implement --exact and --allTimo Teräs1-53/+76
also optimize search to happen for enumeration of package names. fixes #39, fixes #560
2011-09-14search: implement --origin to print origin package nameTimo Teräs1-17/+32
fixes #714
2011-09-14solver, db: run triggers in dependency orderTimo Teräs6-15/+60
fixes #738
2011-09-14upgrade: --no-self-upgrade optionTimo Teräs2-6/+18
Use it to avoid self-upgrade loops in case something fails during the initial upgrade attempt.
2011-09-14upgrade: reimplement self-upgrade (after solver merge)Timo Teräs3-17/+42
2011-09-13all: update copyright year statementTimo Teräs40-40/+40
2011-09-13solver: add per-name specific flags, and fix the fix appletTimo Teräs5-48/+51
2011-09-09upgrade: fix context allocationTimo Teräs1-0/+1
2011-09-09pkg: consider script failure as non-fatalTimo Teräs1-2/+6
Make a loud warning if the script returns failure, but do not abort installation sequence because of that.
2011-09-09print: minor cleanup to indented writerTimo Teräs5-20/+18
2011-09-09del: fix recursive deletion and messages (after solver merge)Timo Teräs3-22/+158
Deduce the world dependencies to remove locally, and same for the additional messages about packages not deleted.
2011-09-09test: fix for updated solver apiTimo Teräs1-20/+14
2011-09-09applets: start using solver codeTimo Teräs19-1353/+533
still todo: - 'fix' is missing - 'del -R' does not work - 'upgrade' does not do self-upgrade first ... and a lot of testing.
2011-09-05solver: report 'complete' solutions with errorsTimo Teräs5-38/+31
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.
2011-08-18solver: reintroduce install_if supportTimo Teräs15-58/+265
* 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
2011-08-05solver: move topology sorting to solver codeTimo Teräs6-105/+104
this allows quite some optimizations to running time and memory requirements.
2011-08-01solver: generate proper error messagesTimo Teräs25-209/+304
* 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
2011-07-27solver: don't consider package that we can't haveTimo Teräs3-2/+27
Packages that need (re-)installation but which are not available, are excluded now properly.
2011-07-27solver: permutate each preferred solution firstTimo Teräs6-57/+72
The first found solution is the most preferred one then.
2011-07-27test: don't crash if the expected files are not thereTimo Teräs1-4/+8
2011-07-27Makefile: make it possible to override pkg-config via PKG_CONFIGNatanael Copa1-3/+4
2011-07-26solver: new package selection logic (which is not yet used)Timo Teräs31-10/+988
* 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
2011-07-24dot: applet to generate the dot attributed graph language filesTimo Teräs3-1/+154
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
2011-07-24ver: database is not needed for version string checking and testsTimo Teräs1-0/+2
2011-07-22apk: improve indented printingTimo Teräs5-20/+41
* fixup the help messages to align up properly * refresh screen width on SIGWINCH
2011-07-16apk_database: add APK_DEFAULT_ARCH for ppc, ppc64 and arm portsWilliam Pitcock1-0/+6
2011-07-16apk: use APK_DEFAULT_ARCH in version().William Pitcock1-1/+1
2011-07-16apk_database: move APK_DEFAULT_ARCH to headers so that we can use it in ↵William Pitcock2-8/+10
version().