Age | Commit message (Collapse) | Author | Files | Lines |
|
Before:
$ abuild-apk del mutt
(1/3) Purging mutt (1.12.1-r0)
(2/3) Purging gdbm (1.18.1-r0)
(3/3) Purging libidn (1.35-r0)
OK: 3752 MiB in 805 packages
$ apk cache sync --purge || echo nope, sorry
$ ls /home/apk-cache/*gdbm*
/home/apk-cache/gdbm-1.18.1-r0.b0b17e93.apk
After:
$ apk cache sync --purge || echo nope, sorry
ERROR: Unable to delete gdbm-1.18.1-r0.b0b17e93.apk: Permission denied
nope, sorry
|
|
|
|
|
|
|
|
|
|
Allow omitting loading of system installed database and system
repositories for the commands that operate on package indexes
only.
|
|
|
|
fixes #10871
|
|
This will also fix "search" to display one match from each principal
pkgname group. "search -e vim" will now show both vim and gvim.
fixes #10864
fixes #10777
|
|
|
|
Fix cache applet to prune the static cache which is used for index
files if explicit caching is not enabled.
fixes #10754
|
|
Track separately autoupdate failure, and opening errors. And print
only one error per index at maximum.
This makes update with or without --no-cache consistent.
Ignore errors from local paths as builders often refer to a local
path that is being built, but might be non-existent when building
the first package.
ref #10726
|
|
Force preference on the user specified action on commandline.
This allows upgrading packages which would otherwise be kept back
due to partial update preferring to keep top level dependency on
the installed version.
fixes #7531
|
|
If we use default root (/), then we do not have to chroot to run scripts.
Use APK_NO_CHROOT flag for this scenario to avoid the chroot. This helps
with using apk with bwrap and OSTree.
Closes #10736.
[TT: backported to 2.12-stable]
|
|
This greatly helps with memory management on applications that
may want to daemonize and open/close database several times.
Also the lifetime and "owner" of memory for all data is now
explicitly bound to owning struct apk_database, which might
be helpful when writing language bindings. As side effect, the
interned "atoms" are unique only within what apk_database, so
comparing packages from different apk_database may not work
as expected.
Fixes #10697
|
|
|
|
If apk is run as a non-root user, it's not possible to chown files.
Maintainers note: minor wording changes on commit log and man page.
Signed-off-by: Fredrik Gustafsson <fredrigu@axis.com>
|
|
|
|
|
|
ref #9063
|
|
|
|
This modifies apk cache for indexes to be automatically refreshed
periodically without explicit 'update' or '--update-cache' usage.
The default is to do if-modified-since request if the local copy
is older than 4 hours. This age can be changed with --cache-max-age.
Using --update-cache will change this age to 60 seconds to make
sure the cached copy is relatively new. The small age is in order
to try to avoid downloading indexes second time when apk-tools is
upgraded and apk re-execs after self-upgrade.
Accordingly using explicitly 'apk update' will now enforce
--force-refresh and request the very latest index by requesting
any potential http proxy to do refresh too.
|
|
|
|
The virtual package provider still needs to be explicitly
given on command line.
|
|
|
|
musl c-library does not work properly without /proc, and potentially
running the scripts need this.
|
|
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.]
|
|
trigger it only if apk-tools can be upgrade, add test cases
|
|
resolve reverse dependencies after all packages have been loaded,
and avoid traversing the reverse name lists. now that we use
automatic virtual packages (soname, pkg-config, etc.) the reverse
dependency chains can become considerable longer than what it was
when the rdependency construction code was originally written.
|
|
fixes #4040
|
|
ref #3027
|
|
using space was for backwards compatibility with apk-tools 2.2.2
and earlier (from January 2012)
|
|
there are only few combinations for that triplet, and they
occur multiple times reducing the struct sizes a bit. make
sane defaults and prepare to not write defaults to disk
to reduce on-disk installed db size.
|
|
Add also a new 'commit' group that is the common options
for all applets that can commit package changes.
|
|
Apk used to reset directory permissions always, but this is undesirable
if user has modified the permissions - especially during tmpfs boot.
Though, it is desirable to update the permissions when packaging has
changed permissions, or a new package is installed and the merged
permission mask / owner changes.
Thus the new code updates the permissions only if:
1) We are booting and directory is not in apkovl
2) The directory is modified by a package install/remove/upgrade
3) The filesystem directory permission matched database
Additionally "apk fix --directory-permissions" can be used to reset
all directory permissions to the database defaults.
Fixes #2966
|
|
It's real only if there's a package with actual dependency
(conflicts and install_if dependencies do not count).
|
|
This implements a new protected path flag '!' to include always
matching entries in the backup mode (overlay). This is also turned
on for etc/apk to include everything there in overlay, because
the full list of repositories and signing keys need to be in
overlay - just getting them from a package is not enough during
bootstrap.
|
|
to show different versions of package and the repositories from
which it is available from.
|
|
|
|
ref #511
|
|
|
|
|
|
|
|
instead use prefix for temporary files.
|
|
Fixes also 'fetch' applet to prefer copying/linking to files from
cache if possible.
|
|
Implementing basic dependency handling, install_if and awareness
of pinning.
|
|
make cache a special kind of repository, and automatically cache
special packages (virtual packages, or ones installed from command
line). add test cases for handling virtual packages. fixes #1617.
|
|
fixes #1578
|
|
|
|
If a directory has protection mask, but does not exist in db, we
do not handle it right unless we calculate the protection mask by
hand, or create temporary db dir entry for it. For simplicity create
always the db dir entry -- depending on audit type we likely need
to create it anyway. This commit also caches the db dir entry in the
audit tree context to avoid duplicate lookups. ref #1241.
|