summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)AuthorFilesLines
2012-03-31solver: fix installation of non-repository packagesTimo Teräs1-1/+2
2012-03-30info: fix exit code for -eTimo Teräs1-3/+6
fixes #1069
2012-03-28build: openssl seems to require -ldl for now, so add thatTimo Teräs1-0/+1
2012-03-01solver: properly set allowed flag for installed packagesTimo Teräs1-3/+6
2012-02-29solver: rename some fieldsTimo Teräs1-24/+25
2012-02-29solver: merge apk_name_state to apk_nameTimo Teräs5-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.
2012-02-29info: support displaying providesTimo Teräs1-6/+32
2012-02-29solver, test: make conflicts unconditionalTimo Teräs8-50/+65
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.
2012-02-28add: allow specifying repository tag with added virtual packagesTimo Teräs1-2/+12
2012-02-28lua: fix bindings, and build by defaultTimo Teräs2-10/+4
2012-02-28solver: ask confirmation in interactive mode only if there's changesTimo Teräs1-1/+2
2012-02-28solver: do not consider non-allowed packages in main loopTimo Teräs1-43/+32
Instead cache the allowed pinning decision, and use it. Update install decision heuristic to also use this cached information.
2012-02-28solver: consider provided names also for preferenceTimo Teräs1-2/+13
ref #574
2012-02-28solver: fix conflicting provides detectionTimo Teräs1-2/+15
ref #574
2012-02-28solver: allow multiple packages with same virtual providesTimo Teräs1-8/+14
ref #574
2012-02-27solver, test: implements more provides things, add testsTimo Teräs3-33/+97
ref #574
2012-02-27solver: have most inherited things per-package and clean upsTimo Teräs1-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.
2012-02-27solver: remove minimum penalty logicTimo Teräs1-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
2012-02-24solver, dot: elementary provides fixesTimo Teräs4-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.
2012-02-24all: introduce apk_provides and use it in apk_nameTimo Teräs13-210/+309
in preparation for provides support. implements also some dependency satisfaction helper routines. ref #574.
2012-02-24solver: unallowed pinning is worse than changing installed packageTimo Teräs1-10/+7
2012-02-24solver: non preferred actions are worse then non preferred pinningTimo Teräs1-6/+16
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.
2012-02-24pkg: add field for provides as 'p'Timo Teräs2-2/+8
ref #574
2012-02-24pkg, db: use 's' for source repository tags instead of 'p'Timo Teräs2-2/+3
Will use 'p' for provides.
2012-02-24verify: report only bad packages with -qTimo Teräs1-2/+7
fixes #1010
2012-02-24apk: do not enable automatically interactive mode with --simulateTimo Teräs1-5/+13
2012-02-24test: improve pinning testsTimo Teräs2-6/+12
2012-02-23solver: fix output of broken dependenciesTimo Teräs1-1/+1
2012-02-23test: rewrite the testing framework to use the real appletsTimo Teräs4-230/+70
also merge the expected output to the *.test files.
2012-02-23pkg: fix writing of versioned conflictsTimo Teräs1-1/+1
2012-02-23db: keep architecture in $ROOT/etc/apk/archTimo Teräs3-8/+54
This we use proper arch in case modifying chroot installation.
2012-02-23solver: report size difference in kibi- or mebibytesTimo Teräs1-5/+11
2012-02-23apk: /etc/apk/interactive enables interactive mode for tty sessionsTimo Teräs1-1/+4
In case someone prefers extra quesions while running apk in a terminal. The file is always from the real root; not from --root so that we will not accidentally enable interactive mode when in initramfs bootstrap.
2012-02-23audit, db: add etc/apk/protected_files.d and new audit featuresTimo Teräs5-187/+322
fixes #607. audit is now mostly rewritten for the new functionality. And has new features like --check-permissions, --recursive and --packages. $ROOT/etc/apk/protected_files.d/*.list can now contain additional protected paths, one path per line: +etc @etc/init.d -tmp + will include the directory as protected configuration directory. @ considers the directory protected, but will backup only symlinks. - removes any protection lbu should be modified to put include and exclude paths in etc/apk/protected_files.d/lbu.list. Additionally, some packages might provide their own listings. E.g. ssh might want to provide ssh.list with something like: +root/.ssh +home/*/.ssh
2012-02-22db: fix repositories.d to be loaded only without --repositories-fileTimo Teräs1-3/+7
2012-02-22db, io: load repositories also from etc/apk/repositories.d/*.listTimo Teräs5-20/+39
Load additional repositories from $ROOT/etc/apk/repositories.d/*.list unless --repositories-file is given as parameter.
2012-02-22solver: lock early names that have only single option leftTimo Teräs1-3/+13
care is needed to get the score right.
2012-02-22solver: lazily update name state in main loopTimo Teräs1-171/+125
2012-02-22solver: handle fix/reinstall betterTimo Teräs1-30/+36
In case someone did "fix --force" for package for which we have no APK available, we would uninstall the package instead of silently ignoring the request. This could mean worse things. So now we just consider unavailable packages a bad deal for reinstall requests. And will downgrade if necessary. But if we really don't have any APK available, we just skip the request but report it.
2012-02-22db: merge identical repositoriesTimo Teräs1-5/+17
Just in case same repository is mentioned with different tags.
2012-02-22solver: transitive dependency requiringTimo Teräs1-12/+41
If n+1 packages depend A, and A depend on B. Add n+1 dependencies to B. Otherwise if someone conflicts B, B might be left out. Leaving package unassigned is no longer a non-preferred action, this fixes the final test case that was failing. And with --force we might even install that scenario. Add also some debug checks.
2012-02-22solver: remove dependency merging; it's not worth itTimo Teräs1-77/+4
callgrind says it's more overhead than improvement. back jumping effectively prunes all bad trees. but can be added later if it becomes needed; due to e.g. provides support.
2012-02-22db, solver, io: scan cache items at startupTimo Teräs8-154/+207
It is faster to just scan the cache directory for existing packages at startup than trying to faccessat() them on demand. It also makes quite a few parts of the code more readable and simpler.
2012-02-21solver: make apk_score a 64-bit int for speedTimo Teräs1-9/+49
2012-02-21solver: remove unneeded flagTimo Teräs1-4/+1
2012-02-21solver: implement backwards jumping and various other optimizationsTimo Teräs3-151/+227
2012-02-20solver: rewrite backtracking and scoring systemTimo Teräs2-406/+695
* properly do absolute scoring now, the previous scoring where preference could get reduced could have caused incorrect early pruning of search tree * backtracking is now separated from package state, and first branching point is the decision if a name is left unassigned or if something _has_ to be assigned. this allows multiple future search tree optimizations like handling of common dependencies early. * merge common dependency names early to provide deeper forward checking.
2012-02-17apk: fix some unharmful leaks reported by valgrindTimo Teräs3-9/+19
2012-02-17solver: get rid of saved score in backtrackingTimo Teräs1-41/+57
also, discover late if package is needed or not.
2012-02-16solver: convert some package state flags to bitfieldsTimo Teräs1-11/+13