summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2023-03-03print: improve indented printing api2.12-stableTimo Teräs4-104/+137
- make sure all commit errors go to stderr - make it a bit more api like (cherry picked and rebased from commit a662047e2c43604bc087ec4dda9a7358368d850b) fixes #10879
2023-02-28version: fix leading zero strippingTimo Teräs3-6/+12
Only the leading zeroes should be ignored. Handle properly if the version component is actually zero. fixes #10880
2023-02-14commit: sort package lists displayed before commitTimo Teräs1-13/+27
Sort the changes by package name before displaying each package listing for easier reading by user. fixes #10866
2023-01-19apk-tools-2.12.11v2.12.11Timo Teräs1-1/+1
2023-01-17apk_defines: use unsigned operand in BITDaniel Kolesa1-1/+1
This fixes undefined behavior at least in database, where BIT is used with 31 (as APK_MAX_REPOS is 32) which is not representable with a signed integer.
2023-01-17doc: fix typo in apk-world(5)Jakub Jirutka1-1/+1
2022-12-28cache, upgrade: do not continue if repositories have issuesTimo Teräs3-2/+17
There are subtle issues where solving fails with --available, and install_if rules if the repository indexes are not available. Also it can be considered upgrade failure if index update failed. Abort cache download, cache sync and upgrade operations early in the above mentioned cases. Also document side effects of --simulate that might affect upgrade. fixes #10726, #10764
2022-12-28db: handle repository index update/opening errors more consistentlyTimo Teräs3-31/+45
Track separately autoupdate failure, and opening errors. And print only one error per index at maximum. This makes update with or without --no-cache consistent. Ignore errors from local paths as builders often refer to a local path that is being built, but might be non-existent when building the first package. ref #10726
2022-12-25solver: prioritize user specified action on mentioned packagesTimo Teräs6-0/+62
Force preference on the user specified action on commandline. This allows upgrading packages which would otherwise be kept back due to partial update preferring to keep top level dependency on the installed version. fixes #7531
2022-12-23defines: fix UB in get_unaligned32Daniel Kolesa1-1/+1
2022-12-22apk: ignore SIGINT after applet is executedTimo Teräs1-0/+1
apk_db_close is not re-entrant, and would be executed by the signal handler. It makes sense to just ignore the signal after applet is complete as the clean up work has been started already. fixes #10840
2022-12-22apk: remove empty argumentsTimo Teräs1-0/+11
fixes #10848
2022-12-22solver: move install if discovery after all dependencies are doneTimo Teräs1-7/+10
2022-12-22commit: consider also provides_priority for error analysisTimo Teräs1-1/+2
2022-12-21solver: fix install_if via provides onlyTimo Teräs3-2/+51
fixes #10721
2022-12-21apk, fetch: implement --no-check-certificateTimo Teräs4-2/+20
fixes #10650
2022-12-21pkg: increase index entry buffer sizeTimo Teräs1-1/+1
2022-12-20build: remove -WerrorTimo Teräs1-1/+1
2022-12-20solver: fix queue resolving orderTimo Teräs1-3/+3
It makes sense to not prioritize requirers anymore. It was originally intended to select early packages with multiple constraints seen. However, more important are the constraints that actually limit the choise. fixes #10843
2022-12-20solver, commit: handle install_if via provided names correctlyTimo Teräs2-43/+95
Correctly trigger install_ifs for provided names also. And fix the construction of error messages concerning such install_if packages. ref #10843
2022-12-20db: simplify reverse name list creationTimo Teräs1-12/+12
2022-12-20apk: improve interactive mode handlingTimo Teräs3-1/+10
- implement and document --no-interactive - improve --interactive documentation - treat EOF as Y fixes #10860
2022-12-20commit: correctly analyze virtual provides induced errorsTimo Teräs4-15/+83
The package list cannot be used to determine name state, as packages are not selected through all of their names, and that effects the status of unversioned provides. Thus the name state must be calculated in separate step via the dependency graphs. ref #10847
2022-06-06apk-tools-2.12.10v2.12.10Timo Teräs1-1/+1
2022-06-03fetch: implement --worldTimo Teräs2-5/+23
fixes #10838
2022-06-03add: allow specifying a version for --virtual packageTimo Teräs3-18/+36
fixes #10835
2022-06-03db: fix atfd for access repository indexTimo Teräs1-2/+3
fixes #10834
2022-06-03pkg: recursive create exec dirTimo Teräs1-2/+16
fixes #10825
2022-02-25io_gunzip: fix handling short reads near end-of-fileTimo Teräs1-8/+13
The gzip library can drain all of the input to internal buffers and still keep providing data even if avail_in is zero. Previously it was assumed that avail_in != 0 if there is still data expected out, but this logic breaks near end-of-file for multiple short reads. Adjust logic to not process end-of-file event too early. fixes #10809
2022-02-24pkg: use lib/apk/exec as the package script execution directoryTimo Teräs1-5/+13
var/cache is also reported to be mounted noexec on hardened systems. Document some of the issues, and use lib/apk/exec for the time being. Keep the scripts still in separate directory from lib/apk so we can just delete directory if needed. fixes #6591
2022-02-24solver: do not auto select virtual-only package with one providerTimo Teräs5-2/+12
This reverts most of 0dcbd933 which allowed automatic selection of package with a "virtual provides" having only one provider. While convenient, it creates problems if multiple versions of the same package exist, or if in future other providers would be added to one of the repositories. This restore the original behaviour, and improve the error message to tell the user to mention one of the providers explicitly. fixes #10810
2022-02-24tar: allow for space as numeric field terminatorptrcnull1-1/+1
2022-01-21cache: allow various flags, and addition of dependenciesTimo Teräs2-17/+67
Allow controlling 'cache download' more closely to 'upgrade' so it can be used to pre-download packages for ugprade.
2022-01-21genhelp: fix upper case substitionTimo Teräs1-1/+1
2022-01-17package: fail on invalid control dataTimo Teräs2-12/+13
Handle meta data error to produce hard failure. fixes #10806
2021-12-20io.c: add missing limits.hPaul Spooren1-0/+1
Fixes compilation on MacOS X
2021-12-20ci: strip static binaryKevin Daudt1-1/+1
To reduce the file size, strip the static binary.
2021-12-20ci: use arch-tagged images for static buildKevin Daudt1-1/+1
For 32-bits arches, we use 64-bit arches in 32-bit mode. Docker by default wants to pull the image for the native arch, so unless we take care, the binaries will be built for the wrong arch. Use the arch tagged images we build to make sure we get the correct image.
2021-12-17apk-tools-2.12.9v2.12.9Timo Teräs1-1/+1
2021-12-17libfetch: Allow special characters in http basic authJan Hendrik Farr1-14/+62
Currently, special characters in the username or password are not handled correctly (when set in $http_proxy and $https_proxy). They should be percent encoded in the environment variables then decoded by libfetch and reencoded using base64. This implementation is mainly taken from the current FreeBSD source and adapted to the apk-tools version of libfetch. fixes #10775
2021-12-14applet: suppress is_error warning on clangAriadne Conill1-2/+3
clang does not ignore inline functions when checking for unused functions ref #10794
2021-12-14applet: rework APK_DEFINE_APPLET to use constructor attributeAriadne Conill4-40/+29
this allows the applet registration to work in a portable way, without having to weird things with the linker. ref #10794 [TT: rebased for 2.12]
2021-12-14ci: create release from tagsKevin Daudt1-0/+47
2021-12-14ci: add job to build static binaryKevin Daudt1-0/+26
2021-12-14libfetch: use pkg-config to find openssl cflagsAriadne Conill1-0/+7
on mac, openssl is usually provided by Homebrew or some other third-party package management system, which means pkg-config is needed to find it. we already use pkg-config to find openssl when building apk itself. ref #10794
2021-12-14everywhere: use stdlib.h for malloc(3) definition, not GNU-specific malloc.hAriadne Conill7-7/+1
musl implements support for malloc.h, but it is only a stub. we do not use any of the GNU-specific malloc interfaces, so just use POSIX stdlib.h instead. ref #10794
2021-12-14lua: remove features.hAriadne Conill1-1/+0
features.h is a GNU-specific header, and is not required for POSIX-compatible code macOS does not provide features.h ref #10794
2021-12-14commit: print download size of packages in interactive modeTimo Teräs1-3/+12
ref #10788
2021-12-14fix fetching of depdencies only packagesTimo Teräs4-16/+12
Remove the APK_REPOSITORY_CACHED bit from dependencies only packages (that is, installed_size == 0). For fetch, the problem is that apk_db_select_repo() would return the cache repository, but the package would not be there. Update also the locations needed to handle these packages correctly without the cached repository bit being set.
2021-11-12apk-tools-2.12.8v2.12.8Timo Teräs1-1/+1