Commit Graph

1442 Commits (9089edcc44fe12003f9d13d5868fa26b2e980a18)

Author SHA1 Message Date
Timo Teräs 9089edcc44 db: prepare database writing for layers 2022-02-21 10:24:05 +02:00
Timo Teräs 9e4dd29f54 db: prepare database reading for layers 2022-02-21 10:24:05 +02:00
Paul Spooren be4ce40797 support new index format without attaching arch
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-14 17:21:51 +00:00
Daniel Golle aa4880bc04 fs_uvol: take down volume before removal
Make sure volume is in 'down' state before attempting to remove it.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2022-02-14 17:18:54 +00:00
Daniel Golle 4c568416e3 context: fix 'uvol' default path
'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-13 09:50:50 +01:00
Ariadne Conill 6315575af1 database: fix apk_db_cache_active returning true when cache not configured
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-03 22:26:57 +00:00
Timo Teräs 6df225eac3 mkpkg, adb: validate version and dependency format
Fail if the package or dependency version format is not valid.

fixes #10807
2022-02-01 14:47:27 +02:00
Thiago Perrotta bd13e774de fix typo on apk-add.8.scd 2022-01-24 00:46:43 -05:00
Timo Teräs b7e3ca22f7 genhelp: fix upper case substition 2022-01-21 14:47:54 +02:00
Timo Teräs 10d0043063 cache: allow various flags, and addition of dependencies
Allow controlling 'cache download' more closely to 'upgrade' so
it can be used to pre-download packages for ugprade.
2022-01-21 14:36:31 +02:00
Timo Teräs a2cd188039 package: fail on invalid control data
Handle meta data error to produce hard failure.

fixes #10806
2022-01-17 10:55:37 +02:00
Ariadne Conill e8650d4d44 support building with uncompressed help databases 2022-01-13 14:13:53 +00:00
Ariadne Conill 3d41d1c90a package: factor out /dev initialization to linux-specific helper function 2021-12-29 20:38:40 +02:00
Ariadne Conill 10b26851a4 database: refactor mounting and unmounting /proc 2021-12-29 20:37:28 +02:00
Ariadne Conill dfe2e141ca database: relocate find_mountpoint() 2021-12-29 20:37:28 +02:00
Ariadne Conill ae4008c4f2 database: refactor cache remounting 2021-12-29 20:37:28 +02:00
Ariadne Conill 4fa6a9fd73 database: refactor tmpfs root detection and cache setup 2021-12-29 20:37:25 +02:00
Ariadne Conill dd1908f2fc portability: add sys/sysmacros.h wrapper for makedev/major/minor 2021-12-29 20:14:41 +02:00
Ariadne Conill 837d2fd915 portability: include environ in overlaid unistd.h 2021-12-29 20:14:41 +02:00
Ariadne Conill e6b1b29028 portability: implement pipe2 and mknodat 2021-12-29 20:14:41 +02:00
Ariadne Conill fade8b1ef2 ci: use meson on debian, not legacy build system 2021-12-29 20:14:41 +02:00
Ariadne Conill 2c3cef8787 portability: take over strlcpy 2021-12-29 20:14:41 +02:00
Ariadne Conill 03a5e6d9b9 io: use opendirectory for UID/GID lookups on macOS
macOS has no concept of a chroot-specific UID/GID database, as the database is actually
LDAP.

ref #10794
2021-12-29 20:14:41 +02:00
Ariadne Conill 9d07d07fe4 abstract differences between GNU and Apple xattr functions 2021-12-29 20:14:41 +02:00
Ariadne Conill 6344a0eedb database: isolate linux-specific mountpoint headers 2021-12-29 20:14:41 +02:00
Ariadne Conill de15d4adbb legacy build system: include libportability headers 2021-12-29 20:14:41 +02:00
Ariadne Conill cbdc4e9f25 portability: add endian.h wrapper 2021-12-29 20:14:38 +02:00
Ariadne Conill a7a0c0a6ca portability: implement skeleton with memrchr function 2021-12-29 20:11:17 +02:00
Timo Teräs 9ed4785f1c apk_adb: add missing compare functions
fixes #10803
2021-12-29 19:36:34 +02:00
Ariadne Conill 8d5784aaf5 database: use SA_RESETHAND instead of SA_ONESHOT when registering a SIGALRM handler
SA_ONESHOT is a GNU-specific alias for POSIX SA_RESETHAND.
2021-12-29 10:36:59 +02:00
Paul Spooren 0b1b090f02 gitignore: add build/
The folder is commonly used for meson, ignore it.

Signed-off-by: Paul Spooren <mail@aparcar.org>
2021-12-29 07:53:17 +00:00
Ariadne Conill 2a9c0277c0 use fstatat, not fstatat64
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-29 07:52:48 +00:00
Ariadne Conill 336a133b76 meson: define _FILE_OFFSET_BITS=64 for glibc 2021-12-29 07:52:48 +00:00
Paul Spooren f2a5959139 apk: add --preserve-env option
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-29 09:50:50 +02:00
Paul Spooren 2da3f347d8 apk: add --force-no-chroot option
[TT: reoder changes to alphabetically sorted locations]

Signed-off-by: Paul Spooren <mail@aparcar.org>
2021-12-29 09:43:13 +02:00
Timo Teräs 70fe7b121a make stderr line buffered 2021-12-27 14:37:10 +02:00
Timo Teräs a662047e2c print: improve indented printing api
- make sure all commit errors go to stderr
- make it a bit more api like
2021-12-27 14:34:01 +02:00
Timo Teräs 6117de6eae list: sort options alphabetically 2021-12-27 10:34:17 +02:00
Paul Spooren f3fc0105f8 list --manifest
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-27 10:29:10 +02:00
Timo Teräs 0baf59627b io: fix tee error handling path
Make sure the from is not dereferenced/used on error path, and
cancel the ostream.

fixes #10800
2021-12-27 10:20:03 +02:00
Daniel Golle 4ccf038a9f add option --no-logfile 2021-12-23 08:07:42 +00:00
Paul Spooren af489f3b6f io.c: add missing limits.h
Fixes compilation on MacOS X
2021-12-20 12:01:41 +00:00
Kevin Daudt e3b499fb2b ci: strip static binary
To reduce the file size, strip the static binary.
2021-12-18 20:19:38 +01:00
Kevin Daudt f49600d38b ci: use arch-tagged images for static build
For 32-bits arches, we use 64-bit arches in 32-bit mode. Docker by
default wants to pull the image for the native arch, so unless we take
care, the binaries will be built for the wrong arch.

Use the arch tagged images we build to make sure we get the correct image.
2021-12-18 20:10:12 +01:00
Jan Hendrik Farr 0f50f9ff29 libfetch: Allow special characters in http basic auth
Currently, special characters in the username or password are not
handled correctly (when set in $http_proxy and $https_proxy). They
should be percent encoded in the environment variables then decoded
by libfetch and reencoded using base64. This implementation is mainly
taken from the current FreeBSD source and adapted to the apk-tools
version of libfetch.

fixes #10775
2021-12-17 10:11:11 +02:00
Ariadne Conill 6941f8bd61 adb: use sys/uio.h for iovec operations
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-14 13:06:26 -06:00
Ariadne Conill 36fcbeed1a applet: suppress is_error warning on clang
clang does not ignore inline functions when checking for unused functions

ref #10794
2021-12-14 18:54:16 +00:00
Ariadne Conill 5bd3b1e3fc uvol: cast size data to intmax_t
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-14 18:49:11 +00:00
Ariadne Conill 6df9f0ed59 defines: provide APKE_REMOTE_IO as portable alternative to EREMOTEIO 2021-12-14 18:48:18 +00:00
Ariadne Conill 46a2049d46 meson: fix underlinking issue with lua module 2021-12-14 18:46:18 +00:00