summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
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
2012-07-16audit: report new directories in recurse mode tooTimo Teräs1-12/+5
Add new 'd' flag for it.
2012-07-16audit: fix protection mask of non-db directoriesTimo Teräs3-26/+27
If a directory has protection mask, but does not exist in db, we do not handle it right unless we calculate the protection mask by hand, or create temporary db dir entry for it. For simplicity create always the db dir entry -- depending on audit type we likely need to create it anyway. This commit also caches the db dir entry in the audit tree context to avoid duplicate lookups. ref #1241.
2012-07-09audit: get right protection mask for base directories in the listsTimo Teräs1-6/+14
Use the paths' protection mask where available instead of the parent paths'. ref #1241
2012-06-06search: improve output format for --rdependsNatanael Copa1-2/+4
- makes -v option useful - makes --origin --quiet --exact useful for piping and scripting - makes the default output more readable