aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* search: speed up searching exact package namesTimo Teräs2013-06-131-16/+26
|
* search: fix reverse dependency searching (fixes #2084)Timo Teräs2013-06-131-52/+47
| | | | | use the new apk_pkg_foreach_reverse_dependency helper to find the reverse dependencies properly.
* pkg: add global reverse dependency iterator helpers and use themTimo Teräs2013-06-134-137/+124
| | | | ... in the error printing and the package deletion.
* errors: rewrite the logic how errors are reportedTimo Teräs2013-06-1319-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.
* solver: prune broken world dependencies with --forceTimo Teräs2013-06-139-36/+84
| | | | mostly useful for reboot, when all packages are not available.
* solver: corner case fixesTimo Teräs2013-06-133-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
* solver: rewrite as deductive solver -- pinning supportTimo Teräs2013-06-1319-53/+210
| | | | Fix also pinning test cases to be more sane.
* solver: rewrite as deductive solver -- per name flagsTimo Teräs2013-06-139-17/+95
| | | | | Handle properly per-name preference flags, and add test cases for testing those via fix applet.
* solver: rewrite as deductive solver -- core featuresTimo Teräs2013-06-1322-1921/+1065
| | | | | Implementing basic dependency handling, install_if and awareness of pinning.
* lua: support for lua 5.2Natanael Copa2013-06-131-15/+32
|
* Revert "Revert "solver: increase score fields to 32-bits (from 16-bits)""William Pitcock2013-06-122-39/+31
| | | | This reverts commit a2d873a77c6dd2e7f6219e6941af796e1f904e69.
* libapk, apk(8): fix header inclusion issues with musl's headersWilliam Pitcock2013-06-126-1/+6
|
* Revert "solver: increase score fields to 32-bits (from 16-bits)"root2013-06-112-31/+39
| | | | This reverts commit 84bfef1a6b587a7da7d12fb701ab0d1d5d6ce2a9.
* apk-tools-2.3.5v2.3.5Timo Teräs2013-06-031-1/+1
|
* index: add sensible error message if metadata is too longTimo Teräs2013-05-303-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
* db: unify handling of special packagesTimo Teräs2013-05-3010-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.
* db, info: allow packages to install files/symlinks to rootTimo Teräs2013-05-293-21/+44
| | | | fixes #1578
* db: make dev/null a character device with --initdbTimo Teräs2013-05-291-1/+1
| | | | fixes #1714
* solver: increase score fields to 32-bits (from 16-bits)Timo Teräs2013-04-292-39/+31
| | | | | We are having so many packages that they might overflow otherwise. "ERROR: Preference overflow" was already reported.
* upgrade: handle solver failure gracefullyTimo Teräs2013-04-291-1/+1
| | | | It is internal bug, but don't segfault on it. Fixes #1576.
* apk_hash.h: include stddef.hPierre Carrier2013-04-181-0/+1
| | | | Needed for ptrdiff_t in some libcs.
* *.c: malloc.h->stdlib.hPierre Carrier2013-04-182-2/+2
|
* solver: remove backjumping by nameTimo Teräs2013-01-282-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.
* solver: reintroduce minimum penalty logicTimo Teräs2013-01-282-49/+78
| | | | Basic per-name per-package specific scoring added.
* solver: do not backtrack over "exclude none"Timo Teräs2013-01-221-1/+8
| | | | | Otherwise we can return no solution at all instead of partially satisfied solution (and give proper error message).
* solver: simplify strength evaluation in constraint handlingTimo Teräs2013-01-211-20/+8
|
* apk-tools-2.3.4v2.3.4Timo Teräs2013-01-211-1/+1
|
* solver: check if solution is not found at allTimo Teräs2013-01-211-0/+6
| | | | This is an internal error.
* solver: fix reset of last_touched to zeroTimo Teräs2013-01-181-2/+2
|
* solver: some code clean upsTimo Teräs2013-01-181-5/+5
|
* solver: build fix for debug print on x86_64Natanael Copa2013-01-181-1/+1
| | | | use %zu for size_t
* solver: fix name assignment logic to not mess up internal stateTimo Teräs2013-01-181-11/+10
| | | | | Should get rid of error messages like: ERROR: Saved_score {4/0/0,74} != score {6/0/0,74}
* ver: fix help message of --limitTimo Teräs2012-11-051-2/+2
|
* solver: fix package prefence calculation a bitTimo Teräs2012-11-041-1/+3
|
* apk-tools-2.3.3v2.3.3Timo Teräs2012-10-091-1/+1
|
* del: consider also reverse dependencies for provided namesTimo Teräs2012-10-091-8/+19
| | | | | So we get better error report if package is not deleted due to reverse dependency.
* test: fix conflict2 expectation after solver changesTimo Teräs2012-10-091-1/+1
| | | | | The 'a' package is now more preferred which actually makes more sense.
* solver: additional backjumping schemeTimo Teräs2012-10-082-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.
* solver: optimize backjumpingTimo Teräs2012-10-082-8/+9
| | | | to be functional when backtracking
* solver: properly calculate decision "strength" with providesTimo Teräs2012-10-081-17/+13
|
* solver: fix back jumping once moreTimo Teräs2012-10-051-17/+33
|
* solver: record dependency apk_name in apk_decisionTimo Teräs2012-10-051-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.
* solver: various fixesTimo Teräs2012-10-031-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
* solver: improve assert error messagesNatanael Copa2012-10-031-2/+3
| | | | Print name of package and void double "ERROR"
* solver: fix compile with -Werror on 64bitNatanael Copa2012-10-031-1/+1
|
* info: --provides alias -p is reserved for --root, use -PNatanael Copa2012-09-281-2/+2
| | | | fixes #1396
* apk: implement --progress-fd to write progress to a specified fdTimo Teräs2012-09-204-19/+35
|
* db: remove AT_SYMLINK_NOFOLLOW for directory permissionsTimo Teräs2012-09-041-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.
* apk-tools-2.3.2v2.3.2Timo Teräs2012-07-161-1/+1
|
* audit: report new directories in recurse mode tooTimo Teräs2012-07-161-12/+5
| | | | Add new 'd' flag for it.