Commit Graph

1199 Commits (b576f0828443f2b729aefb8d2303ad75e9908c66)

Author SHA1 Message Date
ptrcnull b576f08284 tar: allow for space as numeric field terminator 2022-02-21 08:26:20 +00:00
Timo Teräs 3ad4d6bed1 solver: require package layer to be enabled for install 2022-02-21 10:24:05 +02:00
Timo Teräs 21519221c2 adb: add layer to pkginfo 2022-02-21 10:24:05 +02:00
Timo Teräs f69ae30272 db: sort world dependencies to layers 2022-02-21 10:24:05 +02:00
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
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 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 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
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
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
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
Ariadne Conill 3fd120db5c applet: rework APK_DEFINE_APPLET to use constructor attribute
this allows the applet registration to work in a portable way, without having to
weird things with the linker.

ref #10794
2021-12-14 12:05:59 -06:00
Ariadne Conill f4f7796ccc everywhere: use stdlib.h for malloc(3) definition, not GNU-specific malloc.h
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-14 16:23:29 +00:00
Ariadne Conill b2d3d63184 lua: remove features.h
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-13 14:44:21 -06:00
Timo Teräs 8c6c44d3eb extract_v3: make sure empty file's hash is copied too
fixes #10785
2021-12-03 15:06:49 +02:00
Timo Teräs 1ab81fdd4c db: convert v3 scripts to ipkg on install
fixes #10796
2021-12-03 14:53:30 +02:00
Timo Teräs 4dde7e7e0f extract: fix uvol to not be called for uvol directory 2021-12-02 18:04:43 +02:00
Timo Teräs 845fa93814 db: synthesize symlink hashes for v3 packages
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-22 13:41:22 +02:00