aboutsummaryrefslogtreecommitdiffstats
path: root/test
Commit message (Collapse)AuthorAgeFilesLines
...
* solver, db: implement repository pinningTimo Teräs2011-10-299-0/+37
| | | | | | | | | | | | | | | | | | Improves /etc/apk/repositories format so you can say: http://nl.alpinelinux.org/alpine/v2.3/main @edge http://nl.alpinelinux.org/alpine/edge/main @testing http://nl.alpinelinux.org/alpine/edge/testing After which you can pin dependencies to these tags using: apk add stableapp newapp@edge bleedingapp@testing Apk will now by default only use the untagged repositories, but adding a tag to specific dependency: 1. will prefer that tag for the name 2. allowing pulling in dependencies from that tag (though, it prefers untagged packages to satisfy deps if possible) fixes #575
* solver, pkg: implement versioned conflictsTimo Teräs2011-10-243-0/+23
| | | | | One can now say in dependency "!foo<2" which means, that if foo is installed, it needs to be >=2, but it's not a required dependency.
* solver: preference scoringTimo Teräs2011-10-144-9/+7
| | | | | Should now choose packages better if the best available version is uninstallable for some reason.
* solver: report 'complete' solutions with errorsTimo Teräs2011-09-054-10/+4
| | | | | | 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.
* solver: reintroduce install_if supportTimo Teräs2011-08-1814-12/+80
| | | | | | * 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
* solver: generate proper error messagesTimo Teräs2011-08-0122-13/+56
| | | | | | | | | * 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
* solver: don't consider package that we can't haveTimo Teräs2011-07-272-0/+1
| | | | | Packages that need (re-)installation but which are not available, are excluded now properly.
* solver: permutate each preferred solution firstTimo Teräs2011-07-275-0/+17
| | | | The first found solution is the most preferred one then.
* solver: new package selection logic (which is not yet used)Timo Teräs2011-07-2623-5/+155
| | | | | | | | | | | | | * 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
* test: check if upgrade works when package is missing in repoNatanael Copa2010-06-151-0/+7
|
* test: dont run sh manually but respect #!/bin/sh in each testNatanael Copa2010-06-159-10/+13
| | | | That way we can set sh options case by case
* test: initial testsuiteNatanael Copa2010-06-1517-0/+422
|
* test: add test cases for version comparingTimo Teras2009-11-062-0/+741
so i don't get to break version compares again.