summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2013-06-19all: few behavioural regression fixesTimo Teräs6-5/+13
Wildcard matching with no names should match all packages only for info and search applet. "apk del" would otherwise try to delete everything, etc. Fix also interactive mode to ask questions only if we are actually changing something.
2013-06-19solver: properly order deletion of unneeded packagesTimo Teräs6-75/+179
2013-06-19applets: unify help message by removing final dotsTimo Teräs13-24/+16
2013-06-19fetch, del: perform wildcard matchingTimo Teräs2-88/+92
ref #511
2013-06-19solver: add logic: transitive provides exclusionTimo Teräs2-25/+67
If name N is required, and all providers of A also provide B, it means that only instances of B can be selected that provide N. This is strong help with cases when so:libfoo.so.1 is updated to so:libfoo.so.2 and not everything is recompiled.
2013-06-19apk: set automatic flags before parsing the optsNatanael Copa1-1/+1
Otherwise we cannot override with --no-progress
2013-06-19print: move progress bar update logic to apk_print_progressNatanael Copa5-49/+48
- let the apk_print functions deal with the forced print itself. We avoid that the callbacks need to deal with the force flag. We can also get rid of the APK_PRINT_PROGRESS_* defines. - let the reader of --progress-fd decide how often things are updated rather than having a fixed granularity off 1/100 (percent) - avoid detect screen size and percent/bar calculations in case the --no-progress was given - track satistics for both the ascii bar and percent info and update bar only if either percent or bar changes. This makes the bar go smoother when width is wider than 100 chars and it makes the percent counter go smooth when screen width is less thann 100 chars. It also simplifies the callbacks as they no longer need to deal with update granularity.
2013-06-19del: fix a segfault when trying to delete uninstalled packagesTimo Teräs1-1/+4
2013-06-19print: percent arg for process_fd is integerNatanael Copa1-1/+1
With commit 0a131418899436b58a163978176d99c08cbddb0c the percent variable became an integer instead of size_t. We fix the format modifier accordingly.
2013-06-19dot: new option: --installedTimo Teräs1-2/+13
to consider only installed packages
2013-06-19upgrade: new option: --latest (-l)Timo Teräs8-65/+134
Select latest version of package (if it is not pinned), and print error if it cannot be installed due to other dependencies. Together with --available, it selects the latest package which is present at least in some repository. This also fixes few solver issues with ordering of package selection that got quite apparent with this flag. Namely, we cannot "lock" a package until it's reverse dependencies are locked or not all of the solver flags are propagated properly.
2013-06-18errors: fix a test case, and misanalysis of certain namesTimo Teräs2-1/+3
the pinning11 changed when @repo got the leading @ on error messages. analyze_dep() now properly ignores conflict dependencies, as those names are usually intentionally left unassigned.
2013-06-18policy: new appletTimo Teräs4-6/+83
to show different versions of package and the repositories from which it is available from.
2013-06-18db: store repository tag names including leading @Timo Teräs5-57/+67
2013-06-18fix, info, ver: perform wildcard matchingTimo Teräs4-120/+62
ref #511
2013-06-18apk: use string array in applet mains, separate apk_name_foreach_matchingTimo Teräs19-214/+284
2013-06-18url: fix fetching from local repositoriesNatanael Copa2-5/+6
2013-06-18errors: improve analysis for virtual packagesTimo Teräs4-18/+35
if all packages named N provide the virtual package, list only the name N instead of all packages providing it.
2013-06-18all: various conversions to foreach_array_item, and simplifications of codeTimo Teräs7-189/+109
2013-06-17fetch: implement progress (fixes #1170)Timo Teräs2-45/+65
2013-06-17io: get rid of APK_PROGRESS_SCALETimo Teräs5-30/+11
no need to muldiv all the time, just pass the current amount of bytes done, and let callbacks use that directly.
2013-06-17cache: implement progress bar (ref #1170)Timo Teräs6-16/+51
2013-06-17print: move progress printing to common functionsTimo Teräs6-39/+46
2013-06-17db, cache: do not use cache/tmp for downloadsTimo Teräs3-25/+28
instead use prefix for temporary files.
2013-06-17url: remove unused apk_url_downloadTimo Teräs2-34/+0
2013-06-17db: refactor repository file constructionTimo Teräs9-180/+181
Fixes also 'fetch' applet to prefer copying/linking to files from cache if possible.
2013-06-17io: fix splice for copying unknown lengthsTimo Teräs3-9/+22
2013-06-15pkg: apk_pkg_foreach_* add matching generationTimo Teräs4-71/+64
So same package it is possible to not match same package multiple times. Use generation count, so this is handled cleanly during recursion, like in the use case of search applet.
2013-06-15lua: use apk_dep_analyzeTimo Teräs3-26/+2
and remove the now unused apk_dep_is_materialized_or_provided which was superceded by apk_dep_analyze.
2013-06-14errors: detect self-conflicts properlyTimo Teräs3-6/+13
and add the provided version information to the conflicts. fixes the final test case that was broken. hooray.
2013-06-14solver: use array_foreach_item and clean upsTimo Teräs1-156/+130
2013-06-14audit, index, search, upgrade: use foreach_array_itemTimo Teräs4-17/+15
2013-06-13solver, errors: fix few additional test cases and clean upsTimo Teräs6-25/+25
2013-06-13search: speed up searching exact package namesTimo Teräs1-16/+26
2013-06-13search: fix reverse dependency searching (fixes #2084)Timo Teräs1-52/+47
use the new apk_pkg_foreach_reverse_dependency helper to find the reverse dependencies properly.
2013-06-13pkg: add global reverse dependency iterator helpers and use themTimo Teräs4-137/+124
... in the error printing and the package deletion.
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