summaryrefslogtreecommitdiff
path: root/src/cache.c
AgeCommit message (Collapse)AuthorFilesLines
2020-02-14rename all applets sources to app_*.cTimo Teräs1-193/+0
2020-01-26Update apk to make man pages sole source of truthDrew DeVault1-6/+2
Detailed docs have been removed from the apk binaries, in favor of git-style short summaries of each command.
2018-09-25cache: support --latest and --upgrade to affect download policyTimo Teräs1-3/+41
2018-01-09apk: usage: cleanup help text when no applet is selectedWilliam Pitcock1-0/+1
2018-01-04enable automatic update of indexes controlled by --cache-max-ageTimo Teräs1-2/+2
This modifies apk cache for indexes to be automatically refreshed periodically without explicit 'update' or '--update-cache' usage. The default is to do if-modified-since request if the local copy is older than 4 hours. This age can be changed with --cache-max-age. Using --update-cache will change this age to 60 seconds to make sure the cached copy is relatively new. The small age is in order to try to avoid downloading indexes second time when apk-tools is upgraded and apk re-execs after self-upgrade. Accordingly using explicitly 'apk update' will now enforce --force-refresh and request the very latest index by requesting any potential http proxy to do refresh too.
2014-10-06cache: delete more aggressively unneeded cached filesTimo Teräs1-4/+10
Also if --purge is specified delete all uninstalled packages. Fixes #2889
2013-06-19applets: unify help message by removing final dotsTimo Teräs1-4/+2
2013-06-19print: move progress bar update logic to apk_print_progressNatanael Copa1-4/+1
- 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-18apk: use string array in applet mains, separate apk_name_foreach_matchingTimo Teräs1-6/+7
2013-06-17cache: implement progress bar (ref #1170)Timo Teräs1-4/+25
2013-06-17db, cache: do not use cache/tmp for downloadsTimo Teräs1-2/+5
instead use prefix for temporary files.
2013-06-17db: refactor repository file constructionTimo Teräs1-8/+3
Fixes also 'fetch' applet to prefer copying/linking to files from cache if possible.
2013-06-13solver: rewrite as deductive solver -- core featuresTimo Teräs1-4/+3
Implementing basic dependency handling, install_if and awareness of pinning.
2013-06-12libapk, apk(8): fix header inclusion issues with musl's headersWilliam Pitcock1-0/+1
2013-05-30db: unify handling of special packagesTimo Teräs1-2/+2
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.
2012-02-22db, io: load repositories also from etc/apk/repositories.d/*.listTimo Teräs1-5/+5
Load additional repositories from $ROOT/etc/apk/repositories.d/*.list unless --repositories-file is given as parameter.
2012-02-22db, solver, io: scan cache items at startupTimo Teräs1-66/+33
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.
2011-10-31cache: fix downloadTimo Teräs1-1/+1
2011-09-13all: update copyright year statementTimo Teräs1-1/+1
2011-09-09applets: start using solver codeTimo Teräs1-17/+8
still todo: - 'fix' is missing - 'del -R' does not work - 'upgrade' does not do self-upgrade first ... and a lot of testing.
2011-07-11cache: return error if cache sync or download failsTimo Teräs1-3/+3
fixes #666
2011-03-16db, cache: automatically remount cache read-write when neededTimo Teräs1-1/+1
.. and back to read-only after finishing with modifications. fixes #512
2011-03-16db: handle arch similarly to stable branchTimo Teräs1-1/+2
if package arch is not set, do not append anything to repository. if arch is set, it is appended to repository.
2010-12-10db: remove support for unsigned repository indexTimo Teräs1-6/+3
Unsigned indexes should not be needed anymore anyway.
2010-06-11First steps for libapkNatanael Copa1-0/+1
2010-06-05all: rework how arrays workTimo Teräs1-4/+1
Instead of having a null pointer, use a dummy array which just says the array is empty. This helps in multiple places of the code which would otherwise need explicitly need to check first if the array exists. This has been cause of multiple seg.faults in the past as the array check is easily omitted. This also removes (or fixes) all existing checks accordingly.
2010-03-01cache: do not download files existing in local repositoryTimo Teras1-1/+1
wget:ing local files results in error and is useless.
2009-08-06db: prefer local repositories, and implement --no-networkTimo Teras1-10/+7
this helps boots sequence when network is not available.
2009-08-06all: implement database open optionsTimo Teras1-13/+6
so user can override trusted keys directory and repositories file.
2009-08-04state: fix world dependencies to be honored alwaysTimo Teras1-2/+6
previously they might have been skipped on certain situations. this also fixes some other reverse dependency enforcements and implements new "pending" state for locked name.
2009-07-31apk: use *at instead of chdir+normal file syscallTimo Teras1-30/+33
this way we never change cwd, and relative filenames are always parsed consistently. this also helps filename construction in many places. this patch also changes '--root' to override location of all configuration to be in the new root. previously it depended on the file which one was used.
2009-07-22various: misc fixesTimo Teras1-3/+4
- error codes for verification failure types - fix some fdb corruption on file migration - combine some dependency parsing code - fix versioned dependencies
2009-07-20db: signed index loading (ref #46)Timo Teras1-2/+3
prefer index in the new format as signed .tar.gz.
2009-07-15cache: make cache cleaning work again properlyTimo Teras1-24/+27
2009-07-14db: live with sha1 and md5Timo Teras1-11/+12
this also convers scripts file to a tar archive.
2009-07-14blob: some helpers to replace snprintfTimo Teras1-3/+4
snprintf is dog slow. make the blob stuff have some helper functions so we can use them in code paths that are executed often.
2009-07-09implement --update-cache optionNatanael Copa1-0/+1
This will update the repository cache upon db_open.
2009-07-07cache: delete also wget temporary filesTimo Teras1-2/+10
check for the full filename to match an expected pattern or delete it (so we delete files with .new, .new.backup, etc.). final part of remote package caching: fixes #49.
2009-07-07cache: use changeset to figure out downloadablesTimo Teras1-3/+23
that way we get the same result as the 'apk add world' at boot time; it might differ from currently installed set (ref #49).
2009-07-07db: open flags revisitedTimo Teras1-1/+1
more fine grained control what to load, and rename some of the flags to be shorter.
2009-06-29cache: new applet (ref #49)Timo Teras1-0/+150
Administrative tool to download or delete files to/from the cache.