summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2023-03-03doc: describe apk2 and apk3 file formatsElly Fong-Jones4-0/+207
This change adds two manpages: apk-v2(5) and apk-v3(5). These pages describe the v2 and v3 file formats respectively, as I currently understand them.
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-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äs3-8/+21
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-29expand on the README file a littleAriadne Conill1-2/+21
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-08doc: 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/+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ä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-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äs3-2/+51
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äs4-2/+20
fixes #10650
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-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-08-15Correct a typo in Make.rulesFelix Yan1-1/+1
2022-05-04fetch: implement --worldTimo Teräs2-7/+24
fixes #10838
2022-05-04add: allow specifying a version for --virtual packageTimo Teräs2-19/+34
fixes #10835
2022-04-11portability: check for qsort_r which does not match POSIX-next definitionAriadne Conill2-0/+40
FreeBSD (and also Darwin) introduced its own qsort_r, which has different semantics than the one slated for inclusion in POSIX. Add a portability thunk to deal with translating between implementations. [TT: minor stylistic fixes]
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 Conill6-11/+11
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 Conill2-0/+6
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-21portability: add qsort_rTimo Teräs3-0/+34
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