aboutsummaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
...
* enable automatic update of indexes controlled by --cache-max-ageTimo Teräs2018-01-049-36/+53
| | | | | | | | | | | | | | | | 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.
* url: add "Cache-Control: no-cache" header with --force-refreshTimo Teräs2018-01-031-1/+1
| | | | fixes #8161
* split --force to several --force-[type] optionsTimo Teräs2018-01-039-24/+60
| | | | | | | | | 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.
* add new umbrella flag --initramfs-diskless-bootHenrik Riomar2018-01-031-0/+6
| | | | | This flag enables a group of options used during initramfs tmpfs initial install.
* add new flag --no-commit-hooksHenrik Riomar2018-01-033-0/+9
| | | | | | | | 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.
* db: fix triggers to report deleted directoriesTimo Teräs2018-01-032-16/+20
| | | | | | | | | This change just changes to keep deleted directory items in the hash with ref count zero and modified flag set. Those entries are reused when needed. The side effect is that fire_triggers() will now see those removed direcotries and reports them. Other enumerators of the directories hash are protected to skip removed directories when appropriate.
* apk, del: fix few memory leaksTimo Teräs2018-01-032-1/+5
| | | | | | This fixes couple of valgrind reported leaks - though they are non-important since the leak happens on "exit" only and kernel frees it anyway.
* commit: properly analyze packages with provides="$pkgname"Timo Teräs2018-01-021-1/+2
|
* fix typo in MIPS byte-order apk_defines.hNils Andreas Svee2017-12-151-1/+1
|
* solver: fix potential install_if processing failure, fixes #8237Timo Teräs2017-12-121-46/+49
| | | | | | | | | In discovery phase, there was logic to not process packages multiple times. However, that logic failed to account the package's depth and install_if state for the name being processed. This caused install_if processing failure in certain topologies of the dependency graph. Adds also a test case that should catch this issue reliably.
* add detection of mips archsNils Andreas Svee2017-12-111-0/+8
|
* fetch: print additional error diagnostics in verbose modeTimo Teräs2017-11-281-2/+5
|
* solver: prefer highest requirer count above installed statusWilliam Pitcock2017-11-021-5/+5
| | | | | This ensures a swap is emitted when replacing a virtual with apk add.
* solver: fix dbg_printf() call in select_package()William Pitcock2017-11-021-2/+2
|
* solver: only select a default if there is at least one provider with a ↵William Pitcock2017-11-021-0/+6
| | | | declared provider_priority
* solver: instead of tracking selected packages, score by requirer count for ↵William Pitcock2017-11-022-7/+13
| | | | tiebreaking
* solver: implement support for choosing default virtualsWilliam Pitcock2017-11-024-7/+27
| | | | | | | | | | By introducing a new package metadata field, `provider_priority` (index letter `k`), we can specify default packages to satisfy a virtual. If a user wishes to select an alternative provider for the virtual, a changeset swapping the default provider for the selected provider will be generated by the dependency resolver.
* solver: consider virtual provides to exclude non-provides transitivelyTimo Teräs2017-10-272-12/+20
| | | | | | | | | | | this fixes package selection when a 'real' package exists, but would need to be provided by another package with 'virtual provides'. In current package database this can happen with postgresql which is also provided by postgresql-bdr. Normally postgresql would be satisfied by postgresql, but if any package depends on postgresql-bdr and there's no versioned dependency on postgresql this will help apk figure out that postgresql-bdr should be used.
* io: fix skip and splice to detect unexpected end-of-fileTimo Teräs2017-10-122-31/+22
|
* db: handle default root correctly for /procTimo Teräs2017-10-101-1/+1
| | | | | | dbopts->root may be null; use db->root instead fixes #7162
* build and use bundled libfetch nativelyTimo Teräs2017-10-051-4/+7
|
* package: remove package script after use (fixes #7974)Timo Teräs2017-10-041-6/+9
| | | | | this is a regression introduced in commit 349c61c9 ("add support for pre and post commit hooks")
* info: fix typo in helpDamiano Albani2017-09-271-1/+1
|
* commit: proper singular/plural for 'error(s)' in commit messageTimo Teräs2017-08-231-1/+2
| | | | based on github pull request #5
* fix comparison of unsigned expression < 0 is always falseDmitry Golovin2017-08-232-4/+7
| | | | found by clang
* use labs istead of abs with long argumentDmitry Golovin2017-08-231-1/+1
|
* index: Only rewrite arch if no error is encounteredA. Wilcox2017-07-291-2/+2
|
* database: include POSIX header for ST_* definesA. Wilcox2017-07-291-0/+1
|
* tar: use standard header prefixTimo Teräs2017-06-261-1/+9
| | | | | | | APKs have been created with GNU tar so far, which uses the GNU extensions for long names. In order to increase portability support the standard header's 'prefix' portion in case the GNU extensions are not present.
* db: fix current directory instance caching in tar extractionTimo Teräs2017-06-261-1/+1
| | | | | | | Depending how the directory entries are ordered, the cached dir instance might not have been updated correctly. This has not been a problem as the entries have been ordered, but is now triggered on ppc.
* database: mark error on renameat failureA. Wilcox2017-06-261-2/+6
|
* io: make io vtables const struct, and add accessors for themTimo Teräs2017-06-2313-120/+195
| | | | | This reduces function pointers in heap, and unifies how the io functions are called.
* archive: validate reading of pax and gnu long filename extensionsTimo Teräs2017-06-231-14/+14
| | | | | | | Detect properly if the file stream gets an error during these read operations. Reported-by: Ariel Zelivansky from Twistlock
* archive: fix incorrect bounds checking for memory allocationTimo Teräs2017-06-231-2/+4
| | | | | | | | | | | The value from tar header is unsigned int; keep it casted to unsigned int and size_t instead of (signed) int, otherwise the comparisons fail to do their job properly. Additionally check entry.size against SSIZE_MAX so the rounding up later on is guaranteed to not overflow. Fixes CVE-2017-9669 and CVE-2017-9671. Reported-by: Ariel Zelivansky from Twistlock
* Revert "version: consider pkg-rX and pkg to be the same version"William Pitcock2017-06-231-5/+0
| | | | This reverts commit ee5ce7284aef8679fabcf728dd5bd5a17c965798.
* print: oh dear, i have reworked the progress bar againWilliam Pitcock2017-06-011-4/+15
| | | | | | | | | | | - rework the progress bar a little bit, basically removing the [ and ] to give a more modern aesthetic. - if utf-8 locale is enabled, use unicode codepoint 0x2588 instead of # to give the progress bar a nicer look. - if APK_PROGRESS_CHAR environment variable is defined, use the character defined there for the progress bar.
* apk_defines: implement mulmod()William Pitcock2017-06-011-0/+8
|
* index: fix unsatisfied dependencies warning (maybe vs may be)William Pitcock2017-05-281-1/+1
|
* manifest: fix up help entryWilliam Pitcock2017-05-281-4/+5
|
* version: add support for fuzzy version matchingWilliam Pitcock2017-05-275-9/+26
| | | | | This is useful for requirements such as: python3=~3.6, which would match python3-3.6.[0-9]. This implementation should in theory be backwards compatible with the implementation in Adelie.
* version: consider pkg-rX and pkg to be the same versionA. Wilcox2017-05-271-0/+5
|
* manifest: add file support as well as apkdb supportWilliam Pitcock2017-05-271-0/+55
|
* manifest: dump checksum type tooWilliam Pitcock2017-05-271-1/+5
|
* db: fix regression preventing remounting apk cache r/wTimo Teräs2017-05-251-1/+2
| | | | | Introduced in commit c0f2d88f342f4d185f3991f98b79ab61a03896e4. fstatfs is needed to inspect the mount flags.
* manifest: new applet which dumps checksums in sha1sum format for a packageWilliam Pitcock2017-05-202-1/+75
|
* close database on SIGINTKaarle Ritvanen2017-04-281-1/+9
| | | | cleans up procfs mount
* db: separate init from openKaarle Ritvanen2017-04-284-11/+19
|
* solver: don't clobber package swaps in cases where an installed package is ↵William Pitcock2017-04-271-5/+18
| | | | being replaced by a provider
* print: handle mixing stdout and stderr printingTimo Teräs2017-04-261-0/+2
| | | | | | | | | Fixes regression from commit 5ba27c90 which caused stdio buffering issues now that output is split to stderr/stdout. See also commit 51737872 for some of the history. Fixes #7107
* fetch: spell "its" properly in user visible messagereaderreader2017-04-251-1/+1
|