aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* 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.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.
* audit: fix protection mask of non-db directoriesTimo Teräs2012-07-163-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.
* audit: get right protection mask for base directories in the listsTimo Teräs2012-07-091-6/+14
| | | | | Use the paths' protection mask where available instead of the parent paths'. ref #1241
* search: improve output format for --rdependsNatanael Copa2012-06-061-2/+4
| | | | | | - makes -v option useful - makes --origin --quiet --exact useful for piping and scripting - makes the default output more readable
* ver: show all packages with -vNatanael Copa2012-05-071-1/+1
| | | | ref #1122
* ver: make --quiet output suitable for scripting/pipingNatanael Copa2012-05-071-0/+4
| | | | | | | | | | | | | Do not print version numbers or compare result char when in quiet mode. This makes the output suitable for be used in scripts or pipes. For example: # Upgrade all packages that matches a given regexp apk version --limit '<' --quiet | grep $regexp | apk fix --reinstall # Delete all packages that are removed from repository apk version --limit '?' --quiet | xargs apk del
* ver: print '?' when package is not available in any repoNatanael Copa2012-05-072-1/+3
| | | | | This makes it possible to differ between downgradable packages (-l '<') and unavailable in repos (-l '?').
* audit: apply protected_paths.d masks to individual filesTimo Teräs2012-05-011-3/+18
|
* db: strip leading and trailing slashes from protected path specTimo Teräs2012-05-011-0/+6
|
* apk-tools-2.3.1Timo Teräs2012-04-271-1/+1
|
* solver: fix install_if triggers on cyclic and early depsTimo Teräs2012-04-271-11/+15
|
* solver: fix backtracking with install_if dependenciesTimo Teräs2012-04-271-17/+20
|
* ver: show all versions if package name specifiedTimo Teräs2012-04-271-1/+1
| | | | fixes #1116
* db: fix has_protected_children setup on leaf path entriesTimo Teräs2012-04-271-1/+1
| | | | Fixes --recurse during audit.
* pkg: honor --allow-untrusted when installing non-repository packagesTimo Teräs2012-04-031-13/+21
| | | | fixes #1072
* solver: fix a type from previous commitTimo Teräs2012-03-311-1/+1
|
* solver: fix installation of non-repository packagesTimo Teräs2012-03-311-1/+2
|
* info: fix exit code for -eTimo Teräs2012-03-301-3/+6
| | | | fixes #1069
* apk-tools-2.3.0Timo Teräs2012-03-281-1/+1
|
* build: openssl seems to require -ldl for now, so add thatTimo Teräs2012-03-281-0/+1
|
* solver: properly set allowed flag for installed packagesTimo Teräs2012-03-011-3/+6
|
* solver: rename some fieldsTimo Teräs2012-02-291-24/+25
|
* solver: merge apk_name_state to apk_nameTimo Teräs2012-02-295-236/+220
| | | | | | | apk_name_state is now quite small; and we avoid overhead of two pointers (+ malloc overhead) when we just make it part of apk_name. It also fixes some problems (that got introduced) where apk_name_state was not allocated.
* info: support displaying providesTimo Teräs2012-02-291-6/+32
|
* solver, test: make conflicts unconditionalTimo Teräs2012-02-299-51/+66
| | | | | | | Solver will now never report partial solution where a conflict constraint is not satisfied. The is because with --force we might install the partial solution; and if conflicted packages were to be installed we might have extra trouble.
* add: allow specifying repository tag with added virtual packagesTimo Teräs2012-02-281-2/+12
|
* lua: fix bindings, and build by defaultTimo Teräs2012-02-282-10/+4
|
* solver: ask confirmation in interactive mode only if there's changesTimo Teräs2012-02-281-1/+2
|
* solver: do not consider non-allowed packages in main loopTimo Teräs2012-02-281-43/+32
| | | | | Instead cache the allowed pinning decision, and use it. Update install decision heuristic to also use this cached information.
* solver: consider provided names also for preferenceTimo Teräs2012-02-282-2/+19
| | | | ref #574
* solver: fix conflicting provides detectionTimo Teräs2012-02-281-2/+15
| | | | ref #574
* solver: allow multiple packages with same virtual providesTimo Teräs2012-02-283-13/+19
| | | | ref #574
* solver, test: implements more provides things, add testsTimo Teräs2012-02-278-33/+168
| | | | ref #574
* solver: have most inherited things per-package and clean upsTimo Teräs2012-02-271-156/+168
| | | | | | Required for provides support as package might be pulled in via non-primary package name. This allows relatively easily to pass through inherited flags via the provided names. ref #574.
* solver: remove minimum penalty logicTimo Teräs2012-02-271-49/+7
| | | | | | | | | Reasoning: - it is less useful now that we do not do common dependency merging - provides support would make the required logic overly complicated - callgrind reports that depending on the case it can improve or decrease performance (the overhead pays off only in some cases); the difference is not large either way
* solver, dot: elementary provides fixesTimo Teräs2012-02-244-57/+108
| | | | | | implementation is still not near finished, but now at least it can handle it to a minimum degree. many cases are not done right yet, though. ref #574.
* all: introduce apk_provides and use it in apk_nameTimo Teräs2012-02-2413-210/+309
| | | | | | | in preparation for provides support. implements also some dependency satisfaction helper routines. ref #574.
* solver: unallowed pinning is worse than changing installed packageTimo Teräs2012-02-242-10/+17
|
* test: clean up solver.shTimo Teräs2012-02-241-5/+9
| | | | | * take list of tests to run (and default to all) * merge the awk invocation to a function
* solver: non preferred actions are worse then non preferred pinningTimo Teräs2012-02-244-6/+55
| | | | | | | | Otherwise we might start to change packages unexpectedly when not upgrading. This also fixes some other things the solver might've decided to do. Add also few test cases to detect bad behaviour.