summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)AuthorFilesLines
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>
2021-12-27make stderr line bufferedTimo Teräs1-0/+2
2021-12-27print: improve indented printing apiTimo Teräs4-42/+68
- make sure all commit errors go to stderr - make it a bit more api like
2021-12-27list: sort options alphabeticallyTimo Teräs1-8/+8
2021-12-27list --manifestPaul Spooren1-1/+15
print installed packages in `<name> <version>` format. The format is currently used in OpenWrt and allows downstream tools to compare what's installed in the firmware. Signed-off-by: Paul Spooren <mail@aparcar.org>
2021-12-27io: fix tee error handling pathTimo Teräs1-3/+6
Make sure the from is not dereferenced/used on error path, and cancel the ostream. fixes #10800
2021-12-23add option --no-logfileDaniel Golle3-1/+6
2021-12-20io.c: add missing limits.hPaul Spooren1-0/+1
Fixes compilation on MacOS X
2021-12-14adb: use sys/uio.h for iovec operationsAriadne Conill1-0/+1
readv/writev and struct iovec are declared in sys/uio.h per POSIX. using it without sys/uio.h is a GNU extension. ref #10794
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-14uvol: cast size data to intmax_tAriadne Conill1-1/+1
this ensures the %ju format parameter is always passed an integer that is appropriately sized, e.g. on mac where off_t is normally 32-bit. ref #10794
2021-12-14defines: provide APKE_REMOTE_IO as portable alternative to EREMOTEIOAriadne Conill3-2/+3
2021-12-14meson: fix underlinking issue with lua moduleAriadne Conill1-1/+1
2021-12-14applet: rework APK_DEFINE_APPLET to use constructor attributeAriadne Conill4-17/+3
this allows the applet registration to work in a portable way, without having to weird things with the linker. ref #10794
2021-12-14everywhere: use stdlib.h for malloc(3) definition, not GNU-specific malloc.hAriadne Conill8-8/+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-13lua: 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-03extract_v3: make sure empty file's hash is copied tooTimo Teräs1-2/+2
fixes #10785
2021-12-03db: convert v3 scripts to ipkg on installTimo Teräs4-9/+32
fixes #10796
2021-12-02extract: fix uvol to not be called for uvol directoryTimo Teräs1-2/+8
2021-11-22db: synthesize symlink hashes for v3 packagesTimo Teräs2-11/+18
The v3 format will not require the hash, but synthesize it to the DB so v3 packages can get installed properly. fixes #10785
2021-11-22db: fix regression in creating .apk-new filesTimo Teräs2-4/+6
The apk_fsdir_file_digest() servers dual purpose: to calculate the checksum, but also to determine if the file exists. Move it's error check where it originally was. fixes #10791
2021-11-15db: lazy create directories with --initdbTimo Teräs3-88/+73
fixes #10778
2021-11-15fs_fsys: fix extraction of symlinksTimo Teräs1-6/+8
Symlinks should use the real target filename instead of the temporary extraction name.
2021-11-15extract_v2: handle "untrusted package" as normal errorTimo Teräs1-1/+1
The "untrusted" error is higher priority than malformed package. But given that we expect valid .apk or index as argument, the untrusted error is likely more accurate than having malformed package.
2021-11-15commit: print download size of packages in interactive modeTimo Teräs1-3/+12
ref #10788
2021-11-15fix 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-12fetch: add --url option to print the download URLsTimo Teräs1-6/+14
2021-11-11pkg: fix reading of v3 package meta dataTimo Teräs1-1/+1
The adb object for apk_pkg_from_adb() was changed in commit 7d6de220 "database: support loading v3 indexes" which also addressed the broken site in question but omitted updating the argument. fixes #10783
2021-11-11pathbuilder: fix push return valueTimo Teräs1-2/+2
Always return the original length; not the one with trailing '/' amended. fixes c60b7424 "optimize apk_pathbuilder_pop to get the old length" ref #10784
2021-11-11extract_v3: fix extraction of zero length filesTimo Teräs1-2/+3
The apk_istream is null for zero length files, and needs special handling. fixes #10784
2021-11-09optimize apk_pathbuilder_pop to get the old lengthTimo Teräs5-21/+21
avoids memrchr
2021-11-09adbdump: fix dumping signaturesTimo Teräs1-1/+4
give a fake trust root allowing anything. adbdump code will verify and dump each signature individually.
2021-11-09database: support loading v3 indexesTimo Teräs5-20/+56
2021-11-09database: implement uvol supportTimo Teräs19-434/+710
by adding an abstraction layer to the file system
2021-11-03db: purge temporary files without explicit modification checkTimo Teräs1-1/+2
When extraction failed, the user has had no opportunity to edit any files. Just clean up.
2021-11-03extract: move uvol extraction code to extractTimo Teräs4-97/+99
fix also the progress callback on uvol extraction
2021-11-03db, extract: handle waitpid returning EINTRTimo Teräs2-3/+3
2021-11-03db, audit: support sha256-160 hashes for v3 pkg compatTimo Teräs6-13/+33
2021-10-27db, add: support adding v3 package filesTimo Teräs9-14/+144
2021-10-25mkpkg: make unique-id field a blobTimo Teräs4-2/+30
2021-10-25version: increase number of digits supported in version componentTimo Teräs1-3/+6
Report also version numbers as invalid if there's more than 18 digits. fixes #10774
2021-10-04enable uvol support by defaultTimo Teräs1-1/+1
2021-09-13adb: fix --allow-untrusted to work againTimo Teräs2-4/+11
and fix the error code if untrusted adb is seen
2021-09-03extract: remove redundant file unlink on failure pathTimo Teräs1-1/+0
apk_extract_file() already calls unlink if the error is fatal.