summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2017-12-12solver: fix potential install_if processing failure, fixes #8237Timo Teräs3-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.
2017-12-11add detection of mips archsNils Andreas Svee1-0/+8
2017-11-28fetch: print additional error diagnostics in verbose modeTimo Teräs1-2/+5
2017-11-02solver: prefer highest requirer count above installed statusWilliam Pitcock2-7/+8
This ensures a swap is emitted when replacing a virtual with apk add.
2017-11-02solver: fix dbg_printf() call in select_package()William Pitcock1-2/+2
2017-11-02solver: only select a default if there is at least one provider with a ↵William Pitcock3-1/+31
declared provider_priority
2017-11-02solver: instead of tracking selected packages, score by requirer count for ↵William Pitcock2-7/+13
tiebreaking
2017-11-02solver: implement support for choosing default virtualsWilliam Pitcock9-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.
2017-10-27apk-tools-2.8.1v2.8.1Timo Teräs1-1/+1
2017-10-27build: add 'make tag'Timo Teräs1-0/+4
2017-10-27solver: consider virtual provides to exclude non-provides transitivelyTimo Teräs2-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.
2017-10-12io: fix skip and splice to detect unexpected end-of-fileTimo Teräs2-31/+22
2017-10-10db: handle default root correctly for /procTimo Teräs1-1/+1
dbopts->root may be null; use db->root instead fixes #7162
2017-10-06apk-tools-2.8.0v2.8.0Timo Teräs1-1/+1
2017-10-06libfetch: fix certificate host name checkTimo Teräs1-1/+1
OpenSSL allows passing zero-length to indicate "use strlen". LibreSSL requires using the real length always, so pass the length.
2017-10-06libfetch: improve openssl/libressl compatibilityTimo Teräs4-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.
2017-10-05libfetch: improve ssl connectionsTimo Teräs3-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)
2017-10-05libfetch: remove unwanted code conditionalsTimo Teräs7-94/+7
2017-10-05libfetch: fix ssl context leakTimo Teräs1-0/+14
from freebsd
2017-10-05build and use bundled libfetch nativelyTimo Teräs10-115/+61
2017-10-05import libfetch-2.38 from NetBSDTimo Teräs13-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.
2017-10-04package: remove package script after use (fixes #7974)Timo Teräs1-6/+9
this is a regression introduced in commit 349c61c9 ("add support for pre and post commit hooks")
2017-09-27info: fix typo in helpDamiano Albani1-1/+1
2017-08-23commit: proper singular/plural for 'error(s)' in commit messageTimo Teräs1-1/+2
based on github pull request #5
2017-08-23fix comparison of unsigned expression < 0 is always falseDmitry Golovin2-4/+7
found by clang
2017-08-23make preprocessor arguments clang-compatibleDmitry Golovin1-1/+1
2017-08-23use labs istead of abs with long argumentDmitry Golovin1-1/+1
2017-07-29index: Only rewrite arch if no error is encounteredA. Wilcox1-2/+2
2017-07-29database: include POSIX header for ST_* definesA. Wilcox1-0/+1
2017-07-25travis: notify on IRCJakub Jirutka1-0/+7
2017-06-26tar: use standard header prefixTimo Teräs1-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.
2017-06-26db: fix current directory instance caching in tar extractionTimo Teräs1-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.
2017-06-26database: mark error on renameat failureA. Wilcox1-2/+6
2017-06-23travis: deploy tarballs with static binary to GH ReleasesJakub Jirutka1-0/+19
The main usage is for alpine-chroot-install and similar scripts, so it can depend on specific *persistent* version.
2017-06-23travis: update alpine-chroot-install to 0.5.1Jakub Jirutka1-2/+2
2017-06-23io: make io vtables const struct, and add accessors for themTimo Teräs13-120/+195
This reduces function pointers in heap, and unifies how the io functions are called.
2017-06-23archive: validate reading of pax and gnu long filename extensionsTimo Teräs1-14/+14
Detect properly if the file stream gets an error during these read operations. Reported-by: Ariel Zelivansky from Twistlock
2017-06-23archive: fix incorrect bounds checking for memory allocationTimo Teräs1-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
2017-06-23Revert "version: consider pkg-rX and pkg to be the same version"William Pitcock1-5/+0
This reverts commit ee5ce7284aef8679fabcf728dd5bd5a17c965798.
2017-06-11gitignore: exclude files generated by root-testsJakub Jirutka1-0/+4
2017-06-11test: modernize testing APKBUILDsJakub Jirutka6-59/+54
2017-06-11test: fix test4.sh, script failure is non-fatalJakub Jirutka1-2/+2
This behaviour has been changed in: 7d5cd2c8a0052a7446515f90d3d0ea5cc2e93efe.
2017-06-11test: fix running root-tests with QEMU user-mode emulationJakub Jirutka1-1/+12
Variable QEMU_EMULATOR is set by enter-chroot script from alpine-chroot-install.
2017-06-11test: run test*.sh with set -xJakub Jirutka1-1/+1
2017-06-11test: fix test6.sh, vmlinuz and initramfs are not symlinksJakub Jirutka1-2/+2
2017-06-11test: fix test6.sh, replace linux-grsec w/ linux-vanilla, add alpine-keysJakub Jirutka1-3/+3
2017-06-11test: exit with non-zero status when some root-test failJakub Jirutka1-3/+4
2017-06-11test: print output log when test failJakub Jirutka1-3/+6
2017-06-11test: fix invalid SYSREPO with http://nl.a.oJakub Jirutka1-1/+1
2017-06-11test: fix target $(repos), APKINDEX is now generated by abuildJakub Jirutka1-3/+0