summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2013-06-13solver, errors: fix few additional test cases and clean upsTimo Teräs6-25/+25
2013-06-13search: speed up searching exact package namesTimo Teräs1-16/+26
2013-06-13search: fix reverse dependency searching (fixes #2084)Timo Teräs1-52/+47
use the new apk_pkg_foreach_reverse_dependency helper to find the reverse dependencies properly.
2013-06-13pkg: add global reverse dependency iterator helpers and use themTimo Teräs4-137/+124
... in the error printing and the package deletion.
2013-06-13errors: rewrite the logic how errors are reportedTimo Teräs19-122/+388
Instead of the dependency oriented logic, switch to print them for each package or name needed. Might give a bit more readable errors now. There's still few corner cases that proper error is not output, which are cought by the test cases.
2013-06-13solver: prune broken world dependencies with --forceTimo Teräs9-36/+84
mostly useful for reboot, when all packages are not available.
2013-06-13solver: corner case fixesTimo Teräs3-8/+27
- try harder to not change anything during self-upgrade - also honor locking to packages that where earlier used in merging common dependencies - clarify upgrade applet help messages
2013-06-13solver: rewrite as deductive solver -- pinning supportTimo Teräs19-53/+210
Fix also pinning test cases to be more sane.
2013-06-13solver: rewrite as deductive solver -- per name flagsTimo Teräs9-17/+95
Handle properly per-name preference flags, and add test cases for testing those via fix applet.
2013-06-13solver: rewrite as deductive solver -- core featuresTimo Teräs22-1921/+1065
Implementing basic dependency handling, install_if and awareness of pinning.
2013-06-13lua: support for lua 5.2Natanael Copa1-15/+32
2013-06-12Revert "Revert "solver: increase score fields to 32-bits (from 16-bits)""William Pitcock2-39/+31
This reverts commit a2d873a77c6dd2e7f6219e6941af796e1f904e69.
2013-06-12libapk, apk(8): fix header inclusion issues with musl's headersWilliam Pitcock6-1/+6
2013-06-11Revert "solver: increase score fields to 32-bits (from 16-bits)"root2-31/+39
This reverts commit 84bfef1a6b587a7da7d12fb701ab0d1d5d6ce2a9.
2013-06-03apk-tools-2.3.5v2.3.5Timo Teräs1-1/+1
2013-05-30index: add sensible error message if metadata is too longTimo Teräs3-26/+34
fixes #1476 Instead of: ERROR: Index generation failed: Success The following is now printed: ERROR: Metadata for package timo-1.0-r0 is too long. ERROR: Index generation failed: No buffer space available
2013-05-30db: unify handling of special packagesTimo Teräs10-76/+83
make cache a special kind of repository, and automatically cache special packages (virtual packages, or ones installed from command line). add test cases for handling virtual packages. fixes #1617.
2013-05-29db, info: allow packages to install files/symlinks to rootTimo Teräs3-21/+44
fixes #1578
2013-05-29db: make dev/null a character device with --initdbTimo Teräs1-1/+1
fixes #1714
2013-04-29solver: increase score fields to 32-bits (from 16-bits)Timo Teräs2-39/+31
We are having so many packages that they might overflow otherwise. "ERROR: Preference overflow" was already reported.
2013-04-29upgrade: handle solver failure gracefullyTimo Teräs1-1/+1
It is internal bug, but don't segfault on it. Fixes #1576.
2013-04-18apk_hash.h: include stddef.hPierre Carrier1-0/+1
Needed for ptrdiff_t in some libcs.
2013-04-18*.c: malloc.h->stdlib.hPierre Carrier2-2/+2
2013-01-28solver: remove backjumping by nameTimo Teräs2-29/+3
It is incorrect optimization causing valid solutions to be skipped. Any performance it might've gained, should be fixed by reintroduction of the minimum penalty logic added in previous commit.
2013-01-28solver: reintroduce minimum penalty logicTimo Teräs2-49/+78
Basic per-name per-package specific scoring added.
2013-01-22solver: do not backtrack over "exclude none"Timo Teräs1-1/+8
Otherwise we can return no solution at all instead of partially satisfied solution (and give proper error message).
2013-01-21solver: simplify strength evaluation in constraint handlingTimo Teräs1-20/+8
2013-01-21apk-tools-2.3.4v2.3.4Timo Teräs1-1/+1
2013-01-21solver: check if solution is not found at allTimo Teräs1-0/+6
This is an internal error.
2013-01-18solver: fix reset of last_touched to zeroTimo Teräs1-2/+2
2013-01-18solver: some code clean upsTimo Teräs1-5/+5
2013-01-18solver: build fix for debug print on x86_64Natanael Copa1-1/+1
use %zu for size_t
2013-01-18solver: fix name assignment logic to not mess up internal stateTimo Teräs1-11/+10
Should get rid of error messages like: ERROR: Saved_score {4/0/0,74} != score {6/0/0,74}
2012-11-05ver: fix help message of --limitTimo Teräs1-2/+2
2012-11-04solver: fix package prefence calculation a bitTimo Teräs1-1/+3
2012-10-09apk-tools-2.3.3v2.3.3Timo Teräs1-1/+1
2012-10-09del: consider also reverse dependencies for provided namesTimo Teräs1-8/+19
So we get better error report if package is not deleted due to reverse dependency.
2012-10-09test: fix conflict2 expectation after solver changesTimo Teräs1-1/+1
The 'a' package is now more preferred which actually makes more sense.
2012-10-08solver: additional backjumping schemeTimo Teräs2-11/+49
Enabled when all attempts to satisfy a name failed, we know that we can ignore all decisions until we find a decision affecting the name we wanted to satisfy.
2012-10-08solver: optimize backjumpingTimo Teräs2-8/+9
to be functional when backtracking
2012-10-08solver: properly calculate decision "strength" with providesTimo Teräs1-17/+13
2012-10-05solver: fix back jumping once moreTimo Teräs1-17/+33
2012-10-05solver: record dependency apk_name in apk_decisionTimo Teräs1-51/+19
We can't just use the primary name, as that would mess up backtracking. We need to record the name which caused the name to get considered - that way the right last_touched_decision is used on backtracking.
2012-10-03solver: various fixesTimo Teräs1-14/+58
* push_decision expects to always get the package primary 'name' as apk_name. ASSERT that and fix problem cases. (though - this might need to be reverted, and store the non primary name in apk_decision instead to accomodate for better backtracking optimizations) * fix error reporting of virtual package names * make 'assign_name' errors soft. the incorrect packages just are no longer consider instead of aborting whole calculation. * fix backtracking of virtual packages that are not depended directly
2012-10-03solver: improve assert error messagesNatanael Copa1-2/+3
Print name of package and void double "ERROR"
2012-10-03solver: fix compile with -Werror on 64bitNatanael Copa1-1/+1
2012-09-28info: --provides alias -p is reserved for --root, use -PNatanael Copa1-2/+2
fixes #1396
2012-09-20apk: implement --progress-fd to write progress to a specified fdTimo Teräs4-19/+35
2012-09-04db: remove AT_SYMLINK_NOFOLLOW for directory permissionsTimo Teräs1-2/+2
fchmodat does not support this flag - symlinks do not have permissions. Sysadmin probably does not expect us to not follow symlinks either: if /var -> /mnt/foo/var, we should be making sure the permissions and ownership is correct on the target directory, not on the symlink. Since fchmodat never returned ENOENT with AT_SYMLINK_NOFOLLOW, this also fixes directory re-creation if it does not exist. fixes #1348.
2012-07-16apk-tools-2.3.2v2.3.2Timo Teräs1-1/+1