aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* fix --update-cache help to reflect realityTimo Teräs2018-01-091-1/+1
| | | | | Internally the value is in seconds, but on command line it's in minutes.
* apk-tools-2.9.1v2.9.1Timo Teräs2018-01-081-1/+1
|
* auto-update index only when database is opened for writingTimo Teräs2018-01-082-1/+3
|
* increase libfetch connection pool limits slightlyTimo Teräs2018-01-041-1/+1
|
* 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.
* libfetch: add option to set "Cache-Control: no-cache"Timo Teräs2018-01-031-1/+4
| | | | ref #8161
* 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.
* libfetch: honor https_proxy variable for httpsTimo Teräs2018-01-031-11/+30
| | | | fixes #8160
* 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-023-1/+17
|
* test: add test to ensure a provider that is already satisfied doesn't get ↵William Pitcock2018-01-021-0/+7
| | | | swapped
* test: add testcases to ensure provider collisions generate an errorWilliam Pitcock2018-01-023-0/+36
|
* apk-tools-2.9.0v2.9.0Timo Teräs2017-12-301-1/+1
|
* 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-123-46/+77
| | | | | | | | | 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-022-7/+8
| | | | | 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-023-1/+31
| | | | 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-029-11/+51
| | | | | | | | | | 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.
* apk-tools-2.8.1v2.8.1Timo Teräs2017-10-271-1/+1
|
* build: add 'make tag'Timo Teräs2017-10-271-0/+4
|
* 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
* apk-tools-2.8.0v2.8.0Timo Teräs2017-10-061-1/+1
|
* libfetch: fix certificate host name checkTimo Teräs2017-10-061-1/+1
| | | | | OpenSSL allows passing zero-length to indicate "use strlen". LibreSSL requires using the real length always, so pass the length.
* libfetch: improve openssl/libressl compatibilityTimo Teräs2017-10-064-7/+436
| | | | | | X509_check_host() is introduced in libressl-2.5.0 and openssl-1.0.2 which are not yet universally available. Add support for building against the older versions.
* libfetch: improve ssl connectionsTimo Teräs2017-10-053-6/+111
| | | | | | | | | | | | loosely based on the freebsd implementation, implement https connection settings to override CA, and use client certificate. new files supported in /etc/apk/: ca.pem - if exists, it contains CAs acceptable for https (otherwise system wide CAs are used) crl.pem - if ca.pem is used, this is the (optional) CRL for it cert.pem - used as client authentication certificate (+ key) cert.key - used as client key (can be also inside cert.pem)
* libfetch: remove unwanted code conditionalsTimo Teräs2017-10-057-94/+7
|
* libfetch: fix ssl context leakTimo Teräs2017-10-051-0/+14
| | | | from freebsd
* build and use bundled libfetch nativelyTimo Teräs2017-10-0510-115/+61
|
* import libfetch-2.38 from NetBSDTimo Teräs2017-10-0513-0/+6630
| | | | | | | | | | | | | | | | | | | | ftp://ftp.fu-berlin.de/unix/NetBSD/packages/current-src/pkgsrc/net/libfetch/files libfetch comes (at least) in netbsd and freebsd flavors which differing functionality. Alpine and Arch package netbsd one, but it's not widely packaged across other distributions. We need NetBSD version as it does not use funopen(3) which is not supported in musl, and supports connection pooling. FreeBSD seems to be the orignal and better maintained version with support for SSL CAs, client certificate authentication, proxy authentication, and improved http redirect handling. So this imports NetBSD version, and future commits will pick up the needed improvements from FreeBSD tree. Incidentally, this also fixes #7857 and likes for good.
* 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
* make preprocessor arguments clang-compatibleDmitry Golovin2017-08-231-1/+1
|
* 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
|
* travis: notify on IRCJakub Jirutka2017-07-251-0/+7
|
* 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.