summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)AuthorFilesLines
2023-03-06db, apps: sort display results based on package namesTimo Teräs14-99/+189
2023-02-28version: fix leading zero strippingTimo Teräs1-3/+3
Only the leading zeroes should be ignored. Handle properly if the version component is actually zero. fixes #10880
2023-02-16io: reset idcache for new passwd/group (and have a root fallback)Daniel Kolesa2-5/+24
In order to address the problem with early file ownership (before passwd/group exists), do a few changes here: 1) For root-owned things, always fall back to fixed values, as those are the ones we always know and cannot change. Since the earliest packages only have root-owned files, this fixes the problem for those. 2) During file migration, if we encounter passwd/group and this is a newly committed file, reset the idcache, similarly to how it is done for scripts. This allows the next package to reload the mappings. Since those two files are usually installed as a part of the first package, the second package onwards should have a valid, complete mapping (reset only by scripts).
2023-02-14commit: sort package lists displayed before commitTimo Teräs1-7/+24
Sort the changes by package name before displaying each package listing for easier reading by user. fixes #10866
2023-01-31cache: fix handling of explict cache at static cache locationTimo Teräs1-3/+11
Omit separate static cache handling step if the explicit cache is configured to the static cache directory. fixes 609fd218 "cache: fix 'clean' to prune static cache always"
2023-01-31cache: improve and document purgingTimo Teräs1-5/+10
Document cache clean --purge better. Add a cache purge alias for it. And also purge installed package copies on disk installs. fixes #10857
2023-01-31cache: fix 'clean' to prune static cache alwaysTimo Teräs3-21/+29
Fix cache applet to prune the static cache which is used for index files if explicit caching is not enabled. fixes #10754
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.
2022-12-28cache, upgrade: do not continue if repositories have issuesTimo Teräs2-1/+13
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/+43
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äs2-0/+5
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-22db: always have writable directories with --no-chownDaniel Kolesa2-3/+19
The --no-chown flag is most useful when running apk as a regular user, in which case we want to make sure that there are no issues regarding permissions. Fixes https://gitlab.alpinelinux.org/alpine/apk-tools/-/issues/10854
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äs1-2/+7
fixes #10721
2022-12-21pkg: increase index entry buffer sizeTimo Teräs1-1/+1
2022-12-21io: fix fdo_write direct write path return value and index writingTimo Teräs2-5/+4
fixes commit 395e92b6 "io: formalize apk_ostream_write() always writing full data"
2022-12-20apk, fetch: implement --no-check-certificateTimo Teräs1-0/+4
fixes #10650
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äs2-1/+5
- implement and document --no-interactive - improve --interactive documentation - treat EOF as Y fixes #10860
2022-12-20commit: correctly analyze virtual provides induced errorsTimo Teräs1-15/+51
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-08-17db: fix change detection for symlinksTimo Teräs4-30/+28
apk_fileinfo_get() special cases symlink digest calculation. Convert apk_fsdir_ops.file_digest to .file_info to fix symlink change detection. fixes #10853
2022-05-04fetch: implement --worldTimo Teräs1-7/+21
fixes #10838
2022-05-04add: allow specifying a version for --virtual packageTimo Teräs1-18/+31
fixes #10835
2022-04-05io: move make_dirs as apk_make_dirs and use itTimo Teräs5-31/+22
2022-04-05db: fix atfd for access repository indexTimo Teräs1-2/+3
fixes #10834
2022-04-04mkpkg: use correct script counter when writing scripts to adbDaniel Kolesa1-1/+1
Previously this would result in post-upgrade scripts not being written at all.
2022-03-31package: respect version fuzziness when creating dep from adbDaniel Kolesa1-0/+1
2022-03-30keep APK_DEFAULT_ARCH as the define used in source codeAriadne Conill4-26/+26
2022-03-30use arch_prefix for this feature insteadAriadne Conill5-10/+10
2022-03-30use APK_DEFAULT_ABI_TAG everywhere APK_DEFAULT_ARCH was previously usedAriadne Conill3-4/+4
2022-03-30defines: introduce APK_DEFAULT_ABI_TAGAriadne Conill1-0/+6
for most cases, this replaces APK_DEFAULT_ARCH. if apk-tools is built without a configured abi-tag, the ABI tag is equivalent to APK_DEFAULT_ARCH, providing backwards compatibility with apk v2 the /etc/apk/arch configuration file is assumed to actually describe an ABI tag.
2022-03-30meson: support definition of a custom abi tagAriadne Conill1-0/+5
this is intended to allow for distributions to have alternate streams, such as glibc-x86_64 or darwin-aarch64
2022-03-29db: make --no-cache disable the cache completelytt-no-cacheTimo Teräs1-4/+11
Including using files found from the cache, or creating the cache directories with --initdb. Based on patch by Paul Spooren.
2022-03-29pkg: recursive create exec dirTimo Teräs1-15/+34
fixes #10825
2022-03-21mkndx: fix v3 package handlingTimo Teräs1-2/+0
remove incorrect intialization of the ctx->pkginfo fixes commit 950972a5 "mkndx: fix index generation for v2 and v3 packages"
2022-03-21package: fix error message when script fails to executeDaniel Kolesa1-1/+1
Related: https://gitlab.alpinelinux.org/alpine/apk-tools/-/issues/10825
2022-03-21adb: use qsort_rTimo Teräs1-33/+35
2022-03-21mkndx, adb: fix index searchingTimo Teräs4-78/+97
Additioal logic is needed to search objects on array: the object comparer needs separate modes to match index, template or exact object template. This should fix mkndx to be able to use old index. fixes #10828
2022-03-21mkndx: fix index generation for v2 and v3 packagesTimo Teräs3-36/+50
For v2 packages, the identity was never set. For v3 packages, the file size was never set. This fixes both issues.
2022-03-07adb: fix handling of conflictsDaniel Kolesa3-6/+14
Ensure not to mask away previously set APK_VERSION_CONFLICT when serializing. When deserializing, make sure to actually write out the conflict flag when no version part is set. When creating apk_dependency, ensure to set the conflict bit correctly and mask it off result_mask. Fixes https://gitlab.alpinelinux.org/alpine/apk-tools/-/issues/10824
2022-03-07test: fix tests by setting sane active_layers without stateTimo Teräs1-0/+1
finally fixes #10821
2022-03-06db: fix APK_OPENF_NO_STATE checkDaniel Kolesa1-1/+1
fixes #10821
2022-03-06mkpkg: use -I for --infoTimo Teräs1-1/+1
-i is already global option fixes #10822
2022-03-06mkpkg: check apk_ostream_to_file/adb_compress errorTimo Teräs1-1/+6
fixes #10823