summaryrefslogtreecommitdiff
path: root/src/apk.c
AgeCommit message (Collapse)AuthorFilesLines
2019-06-05print usage and exit with error on invalid argumentsTimo Teräs1-6/+3
Add also some testing to make sure help, long help and handling of invalid arguments works as expected. Based on pull request #19 originally by Laurent Arnoud (@spk).
2019-06-03use fixed system time in test mode to have fixed test outputTimo Teräs1-0/+9
fixes test suite regression from previous commit
2018-11-15Revert "move --simulate to global options"Timo Teräs1-2/+5
This reverts commit 358f703b76ece639e5d3634f677e0b345b1b9f89. The short option -s conflicts info --size and fetch --stdout. Revert this for now.
2018-11-02fix short option string to be nil terminatedTimo Teräs1-0/+1
2018-10-05apk: fix all_options array size off-by-oneTimo Teräs1-1/+1
merge_options() will write one more entry to the options table which is the end-of-table indicator. Allocate memory for it too. valgrind did not pick it up due to being in stack; changing alloca to malloc would make valgrind notice the issue too. Reported-by: Mobile Stream <info@mobile-stream.com>
2018-09-25move --simulate to global optionsTimo Teräs1-5/+2
there are several applets that support simulation but are not committing changes to database
2018-09-05apk: sanitize return valueTimo Teräs1-0/+2
Most applets return whatever apk_solver_commit() returns. It is the number of errors found (or negative for hard error). Sanitize the error value to not give false success exit code in the unlikely case of errors % 256 == 0. Reported-by: Max Justicz <max@justi.cz>
2018-02-20apk: in test mode, always exit 0 (so the test harness doesn't stop running ↵William Pitcock1-0/+5
tests)
2018-01-09apk: make --help --verbose actually work.William Pitcock1-1/+10
2018-01-09apk: properly error out if an unknown command is requestedWilliam Pitcock1-1/+5
2018-01-09apk: commit options help text: fix typo concerning diskless bootWilliam Pitcock1-1/+1
2018-01-09apk: usage: cleanup help text when no applet is selectedWilliam Pitcock1-12/+32
2018-01-09fix --update-cache help to reflect realityTimo Teräs1-1/+1
Internally the value is in seconds, but on command line it's in minutes.
2018-01-04increase libfetch connection pool limits slightlyTimo Teräs1-1/+1
2018-01-04enable automatic update of indexes controlled by --cache-max-ageTimo Teräs1-4/+12
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.
2018-01-03split --force to several --force-[type] optionsTimo Teräs1-4/+32
This unloads --force as several of the things are really not wanted together. E.g. --force-refresh is a lot different from --force-broken-world and doing --force to get the other might introduce unwanted behaviour. --force is still kept for backwards compatibility and it enables most things --force was used for.
2018-01-03add new umbrella flag --initramfs-diskless-bootHenrik Riomar1-0/+6
This flag enables a group of options used during initramfs tmpfs initial install.
2018-01-03add new flag --no-commit-hooksHenrik Riomar1-0/+4
This flag skips running hook scripts This flag *must* be used during initramfs tmpfs initial install. The reason that this new flag is needed is that the hooks will currently always fail as musl and /bin/sh is missing at this stage on diskless.
2018-01-03apk, del: fix few memory leaksTimo Teräs1-1/+4
This fixes couple of valgrind reported leaks - though they are non-important since the leak happens on "exit" only and kernel frees it anyway.
2017-06-23io: make io vtables const struct, and add accessors for themTimo Teräs1-2/+2
This reduces function pointers in heap, and unifies how the io functions are called.
2017-04-28close database on SIGINTKaarle Ritvanen1-1/+9
cleans up procfs mount
2017-04-28db: separate init from openKaarle Ritvanen1-0/+2
2017-02-27db: allow overriding cache locationTimo Teräs1-0/+5
2016-04-19apk: don't exit with error code for -V and --print-archTimo Teräs1-0/+2
2016-02-16fetch: allow enabling --simulateTimo Teräs1-0/+3
2015-12-07db: add support for --no-cacheNatanael Copa1-0/+4
Implement --no-cache. The index is read directly from network and not cached. This is useful for docker, where you install a set of packages and directly after purge the cache. (see https://github.com/gliderlabs/docker-alpine/blob/1fc9e59d1689fc4eaf930ec66389fe58062fccec/builder/scripts/apk-install) fixes #4905
2015-03-10rework error handling for read streamsTimo Teräs1-2/+2
2014-12-08fix test modeTimo Teräs1-5/+7
2014-11-01move --simulate to commit options group and alias -s for itTimo Teräs1-5/+4
2014-10-08rework option parsing to have a group structureTimo Teräs1-156/+174
Add also a new 'commit' group that is the common options for all applets that can commit package changes.
2014-10-08url: use libfetch to retrieve http/https/ftp filesTimo Teräs1-0/+5
2014-10-06cache: delete more aggressively unneeded cached filesTimo Teräs1-2/+2
Also if --purge is specified delete all uninstalled packages. Fixes #2889
2014-05-19test: improve loading of repositories, fix broken install-if testTimo Teräs1-3/+15
2014-05-12finally fix building PIE binariesTimo Teräs1-9/+29
the dynamic applet registration never worked with PIE, and as a temporary hack -nopie was added to default link flags in 2008. this commit reworks the applet registration mechanism to something that is compatible with PIE, and removes the hack. finally!
2014-01-06apk: new option --print-archNatanael Copa1-0/+10
Simply print the default arch and exit. This is so scripts don't need to parse the output of -V.
2013-10-11print: use stdout instead of stderr for logging and progressTimo Teräs1-1/+0
stdout is the proper place for it. this also fixes the progress bar in musl, which seems to not support using line buffering for stderr.
2013-09-10apk: new option --no-scriptsTimo Teräs1-0/+4
to not run any per-package scripts. useful for managing buildroot when cross-compiling.
2013-08-28apk: minor fix in help text and a whitespace fixNatanael Copa1-2/+2
2013-07-08apk: give more space for applet descriptions on generic helpTimo Teräs1-1/+1
2013-06-30apk: infrastructure for short-option-only synonymsDubiousjim1-8/+9
2013-06-28various: applet help text and comment fixesDubiousjim1-1/+1
Acked-by: Natanael Copa <ncopa@alpinelinux.org>
2013-06-19apk: set automatic flags before parsing the optsNatanael Copa1-1/+1
Otherwise we cannot override with --no-progress
2013-06-18apk: use string array in applet mains, separate apk_name_foreach_matchingTimo Teräs1-1/+6
2013-06-17print: move progress printing to common functionsTimo Teräs1-1/+1
2013-05-30db: unify handling of special packagesTimo Teräs1-3/+5
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-09-20apk: implement --progress-fd to write progress to a specified fdTimo Teräs1-0/+5
2012-02-24apk: do not enable automatically interactive mode with --simulateTimo Teräs1-5/+13
2012-02-24test: improve pinning testsTimo Teräs1-5/+8
2012-02-23test: rewrite the testing framework to use the real appletsTimo Teräs1-0/+63
also merge the expected output to the *.test files.
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.