summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)AuthorFilesLines
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
2022-03-06db: honor APK_OPENF_NO_STATE againTimo Teräs1-8/+10
Do not call apk_db_read_layer() or try to process the layer if APK_OPENF_NO_STATE is specified. It might fail because of non-existing database directory. Based on patch by Daniel. fixes commit 9e4dd29f "db: prepare database reading for layers" Fixes #10821 Reported-and-analyzed-by: Daniel Kolesa <daniel@octaforge.org>
2022-02-24pkg: use lib/apk/exec as the package script execution directoryTimo Teräs1-11/+15
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äs2-2/+6
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-22db, uvol: commit regular files before uvol volumesTimo Teräs4-4/+30
add priority to order fsdir commit sequence
2022-02-22db: fix apkindex path generationTimo Teräs1-1/+1
remove the left over apk_blob_push_fmt() call that corrupted uri and trim the path end from trailing slashes to get original functionality. fixes commit be4ce407 "support new index format without attaching arch"
2022-02-21io_gunzip: fix handling short reads near end-of-fileTimo Teräs1-12/+15
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-21fs_fsys: ignore mkdir EEXISTTimo Teräs1-1/+2
Be happy if the directory already exists.
2022-02-21tar: allow for space as numeric field terminatorptrcnull1-1/+1
2022-02-21solver: require package layer to be enabled for installTimo Teräs2-3/+7
2022-02-21adb: add layer to pkginfoTimo Teräs3-1/+4
2022-02-21db: sort world dependencies to layersTimo Teräs5-7/+27
2022-02-21db: prepare database writing for layersTimo Teräs1-135/+172
2022-02-21db: prepare database reading for layersTimo Teräs4-25/+58
2022-02-14support new index format without attaching archPaul Spooren1-8/+20
By default the package architecture is attached to the repository url. With this commit it is possible to define new indexes ending on `.adb`. If such index file is detected the packages must be in the same folder as the index. Signed-off-by: Paul Spooren <mail@aparcar.org>
2022-02-14fs_uvol: take down volume before removalDaniel Golle1-0/+4
Make sure volume is in 'down' state before attempting to remove it. Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2022-02-13context: fix 'uvol' default pathDaniel Golle1-1/+1
'uvol' is installed to /usr/sbin by default. Assume that path if not set by APK_UVOL environment variable. Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2022-02-03database: fix apk_db_cache_active returning true when cache not configuredAriadne Conill1-1/+1
this regression was caused by refactoring of the options handling into the apk_ctx struct in 354713d2, presumably a little too much innovation with sed fixes #10799
2022-02-01mkpkg, adb: validate version and dependency formatTimo Teräs6-11/+26
Fail if the package or dependency version format is not valid. fixes #10807
2022-01-21genhelp: fix upper case substitionTimo Teräs1-1/+1
2022-01-21cache: allow various flags, and addition of dependenciesTimo Teräs1-11/+45
Allow controlling 'cache download' more closely to 'upgrade' so it can be used to pre-download packages for ugprade.
2022-01-17package: fail on invalid control dataTimo Teräs2-11/+18
Handle meta data error to produce hard failure. fixes #10806
2022-01-13support building with uncompressed help databasesAriadne Conill3-18/+39
2021-12-29package: factor out /dev initialization to linux-specific helper functionAriadne Conill1-8/+20
2021-12-29database: refactor mounting and unmounting /procAriadne Conill1-19/+44
2021-12-29database: relocate find_mountpoint()Ariadne Conill1-29/+29
2021-12-29database: refactor cache remountingAriadne Conill1-5/+15
2021-12-29database: refactor tmpfs root detection and cache setupAriadne Conill1-39/+73
2021-12-29portability: take over strlcpyAriadne Conill2-17/+0
2021-12-29io: use opendirectory for UID/GID lookups on macOSAriadne Conill1-2/+8
macOS has no concept of a chroot-specific UID/GID database, as the database is actually LDAP. ref #10794
2021-12-29abstract differences between GNU and Apple xattr functionsAriadne Conill3-5/+35
2021-12-29database: isolate linux-specific mountpoint headersAriadne Conill1-5/+8
2021-12-29legacy build system: include libportability headersAriadne Conill1-1/+1
2021-12-29portability: implement skeleton with memrchr functionAriadne Conill1-1/+10
2021-12-29apk_adb: add missing compare functionsTimo Teräs1-0/+2
fixes #10803
2021-12-29database: use SA_RESETHAND instead of SA_ONESHOT when registering a SIGALRM ↵Ariadne Conill1-1/+1
handler SA_ONESHOT is a GNU-specific alias for POSIX SA_RESETHAND.
2021-12-29use fstatat, not fstatat64Ariadne Conill2-5/+5
the stat64 family of functions were provided as transitional functions, but when building on glibc with _GNU_SOURCE, or any other supported system, the stat functions are equivalent to their stat64 counterparts
2021-12-29apk: add --preserve-env optionPaul Spooren3-2/+7
This options is useful for (post)install scripts to run with the same environment variables as apk is executed. [TT: minor stylistic changes] Signed-off-by: Paul Spooren <mail@aparcar.org>
2021-12-29apk: add --force-no-chroot optionPaul Spooren1-0/+4
[TT: reoder changes to alphabetically sorted locations] Signed-off-by: Paul Spooren <mail@aparcar.org>