summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)AuthorFilesLines
2017-08-23use labs istead of abs with long argumentDmitry Golovin1-1/+1
2017-07-29index: Only rewrite arch if no error is encounteredA. Wilcox1-2/+2
2017-07-29database: include POSIX header for ST_* definesA. Wilcox1-0/+1
2017-06-26tar: use standard header prefixTimo Teräs1-1/+9
APKs have been created with GNU tar so far, which uses the GNU extensions for long names. In order to increase portability support the standard header's 'prefix' portion in case the GNU extensions are not present.
2017-06-26db: fix current directory instance caching in tar extractionTimo Teräs1-1/+1
Depending how the directory entries are ordered, the cached dir instance might not have been updated correctly. This has not been a problem as the entries have been ordered, but is now triggered on ppc.
2017-06-26database: mark error on renameat failureA. Wilcox1-2/+6
2017-06-23io: make io vtables const struct, and add accessors for themTimo Teräs13-120/+195
This reduces function pointers in heap, and unifies how the io functions are called.
2017-06-23archive: validate reading of pax and gnu long filename extensionsTimo Teräs1-14/+14
Detect properly if the file stream gets an error during these read operations. Reported-by: Ariel Zelivansky from Twistlock
2017-06-23archive: fix incorrect bounds checking for memory allocationTimo Teräs1-2/+4
The value from tar header is unsigned int; keep it casted to unsigned int and size_t instead of (signed) int, otherwise the comparisons fail to do their job properly. Additionally check entry.size against SSIZE_MAX so the rounding up later on is guaranteed to not overflow. Fixes CVE-2017-9669 and CVE-2017-9671. Reported-by: Ariel Zelivansky from Twistlock
2017-06-23Revert "version: consider pkg-rX and pkg to be the same version"William Pitcock1-5/+0
This reverts commit ee5ce7284aef8679fabcf728dd5bd5a17c965798.
2017-06-01print: oh dear, i have reworked the progress bar againWilliam Pitcock1-4/+15
- rework the progress bar a little bit, basically removing the [ and ] to give a more modern aesthetic. - if utf-8 locale is enabled, use unicode codepoint 0x2588 instead of # to give the progress bar a nicer look. - if APK_PROGRESS_CHAR environment variable is defined, use the character defined there for the progress bar.
2017-06-01apk_defines: implement mulmod()William Pitcock1-0/+8
2017-05-28index: fix unsatisfied dependencies warning (maybe vs may be)William Pitcock1-1/+1
2017-05-28manifest: fix up help entryWilliam Pitcock1-4/+5
2017-05-27version: add support for fuzzy version matchingWilliam Pitcock5-9/+26
This is useful for requirements such as: python3=~3.6, which would match python3-3.6.[0-9]. This implementation should in theory be backwards compatible with the implementation in Adelie.
2017-05-27version: consider pkg-rX and pkg to be the same versionA. Wilcox1-0/+5
2017-05-27manifest: add file support as well as apkdb supportWilliam Pitcock1-0/+55
2017-05-27manifest: dump checksum type tooWilliam Pitcock1-1/+5
2017-05-25db: fix regression preventing remounting apk cache r/wTimo Teräs1-1/+2
Introduced in commit c0f2d88f342f4d185f3991f98b79ab61a03896e4. fstatfs is needed to inspect the mount flags.
2017-05-20manifest: new applet which dumps checksums in sha1sum format for a packageWilliam Pitcock2-1/+75
2017-04-28close database on SIGINTKaarle Ritvanen1-1/+9
cleans up procfs mount
2017-04-28db: separate init from openKaarle Ritvanen4-11/+19
2017-04-27solver: don't clobber package swaps in cases where an installed package is ↵William Pitcock1-5/+18
being replaced by a provider
2017-04-26print: handle mixing stdout and stderr printingTimo Teräs1-0/+2
Fixes regression from commit 5ba27c90 which caused stdio buffering issues now that output is split to stderr/stdout. See also commit 51737872 for some of the history. Fixes #7107
2017-04-25fetch: spell "its" properly in user visible messagereaderreader1-1/+1
2017-04-25fetch: open the installed database to allow fetching a dependency tree ↵William Pitcock1-2/+1
rooted by a virtual
2017-04-25fetch: don't segfault when given an unknown package nameWilliam Pitcock1-1/+2
2017-04-24print: don't shadow log()William Pitcock1-3/+3
2017-04-24print: print warnings and errors to stderrShiz2-9/+21
2017-03-29progress: shorten bar to prevent newlines on some terminalsAvi Halachmi (:avih)1-1/+1
On some (probably buggy) terminals, printing up to the rightmost column may end up with the terminal issueing a newline (probably due to putting the cursor at the next char -> new line). Some other progress bars avoid it by not reaching the rightmost column. Shorten the bar width from term-width - 7 to -8 (the 7 are "xxx% []").
2017-03-13db: catch asprintf failureNatanael Copa1-1/+2
2017-03-13db: prevent umount /proc when it was mounted by someone elseNatanael Copa1-1/+6
This fixes regression introduced by commit 72b878e655
2017-03-06commit: include limits.h for PATH_MAXNatanael Copa1-0/+1
this fixes build on ppc64le
2017-02-28package: add more secure signature methodsTimo Teräs1-20/+31
2017-02-27fetch: fix --recursive mode to work with pure virtual packagesTimo Teräs3-2/+16
The virtual package provider still needs to be explicitly given on command line.
2017-02-27db: allow overriding cache locationTimo Teräs3-7/+13
2017-02-27db: allow caching packages on tmpfsTimo Teräs1-3/+1
fixes #5616 The original intention was not use unnecessary space on tmpfs e.g. if the cache directory is a mount point, but accidentally left unmounted. But there are valid cases when packages are intentionally wanted to be cached on tmpfs. If caching is not desired, the user can just remove the cache directory.
2017-02-27commit: fix to work if commit_hook.d directory does not existTimo Teräs1-2/+2
2017-02-27db: mount /proc for --root if it's not mounted, use mount syscallTimo Teräs2-35/+48
musl c-library does not work properly without /proc, and potentially running the scripts need this.
2017-02-16commit: log parameter passed to a hook scriptHenrik Riomar1-1/+1
2017-02-15add support for pre and post commit hooksHenrik Riomar6-32/+77
This allows for instance integration of etckeeper [TT: Reorganized code a bit, and modified to use single directory commit_hooks.d with argument for script of stage.]
2017-01-17Add ppc64le entry in apk defines.Breno Leitao1-1/+3
Currently apk only knows about powerpc and ppc64. I am adding support for ppc64le. ppc64le is the based on the ABI v2, which defines the endianess as little, while ppc64 is based on the first 64-bits ABI.
2017-01-05tar: return correct error for short read of tar archiveTimo Teräs1-3/+8
2016-11-21add s390x headersTuan M. Hoang1-0/+2
2016-08-23pkg: reset umask for package scriptsTimo Teräs1-0/+1
It is unreasonable to assume that all package writers would except to reset umask themselves. It's done currently in most packages, but we had first issue of this kind recently, so better just reset umask.
2016-07-22upgrade: improve self upgrade functionality a bitTimo Teräs4-14/+45
trigger it only if apk-tools can be upgrade, add test cases
2016-07-22lua: remove unused reg_apk_db_meta_methodsTimo Teräs1-5/+0
2016-07-08detect aarch64 architecture and assign default name for itTimo Teräs1-2/+3
2016-07-06fix cross-compiling to pick right libfetch.aTimo Teräs1-1/+1
2016-06-13info: add support for --licenseNatanael Copa1-0/+16
print license with the --license option.