Age | Commit message (Collapse) | Author | Files | Lines |
|
|
|
|
|
This unloads --force as several of the things are really not wanted
together. E.g. --force-refresh is a lot different from --force-broken-world
and doing --force to get the other might introduce unwanted behaviour.
--force is still kept for backwards compatibility and it enables
most things --force was used for.
|
|
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.
|
|
the allows update-kernel script to work on tmpfs install before
cache is configured.
|
|
Add also a new 'commit' group that is the common options
for all applets that can commit package changes.
|
|
Acked-by: Natanael Copa <ncopa@alpinelinux.org>
|
|
Acked-by: Natanael Copa <ncopa@alpinelinux.org>
|
|
|
|
|
|
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.
|
|
Solver will now never report partial solution where a conflict
constraint is not satisfied. The is because with --force we might
install the partial solution; and if conflicted packages were to
be installed we might have extra trouble.
|
|
|
|
* solver internally calculates now using tags; not repository masks
* installeddb now contains the tag name where the package came from
-> we can now handle upgrades properly
* the pinning is still a preference, and not strictly enforced;
versioned dependencies may overrule preference
|
|
* upgrade needs explicit check so we don't try self-upgrade
(which would print additional messages on screen)
* add can fix problems, so check against the new world
* merge the code in few places
|
|
Previously we would not upgrade just by doing "apk add foo@tag" if
foo was already installed. It required explicit '-u'. This allows
'apk add' to explicitly prefer the newly specified pinning.
|
|
* default writing the world with spaces if a space is found
(for backwards compatibility) for now
|
|
|
|
|
|
"replaces" is now turned to a full dependency type list, so you can
make package overwrite files only certain versions of the package
(though, we should probably take this into account already at solution
calculation phase).
Also make 'info --replaces' print the "replaces" of the package.
This is in preparation for the policy package support, which still
requires "replacement priority" field to decide which packages' files
get the preference.
|
|
allow per-name solver flags to be inheritable, and use them in
self-upgrade, add -u and the fix applet. this gives more familiar
behaviour for the upgrades.
|
|
|
|
|
|
still todo:
- 'fix' is missing
- 'del -R' does not work
- 'upgrade' does not do self-upgrade first
... and a lot of testing.
|
|
The db parameter to apk_state_commit is not needed so we remove it.
|
|
Packages without architecture should get the platforms default
architecture (so we are backwards compatible). Only the virtual
packages should get 'noarch' by default. Also print full path
to the index file which failed.
|
|
- implement a hash table for commonly shared fields such as
license, version and architecture
- use macroes to print blobs or pkgname-pkgver strings
- fix some old cruft
|
|
|
|
Print more information why installation changeset calculation failed.
Fixes #187.
|
|
We want see all packages that fails to install and not only the first
|
|
- make virtual packages work again
- make apk del (for non-empty packages) work again
|
|
allow also overriding old (possibly bad) world dependency.
hopefully it's more bullet proof now.
|
|
|
|
otherwise old world deps are used and unintended results will
happen.
|
|
|
|
so user can override trusted keys directory and repositories file.
|
|
previously they might have been skipped on certain situations.
this also fixes some other reverse dependency enforcements and
implements new "pending" state for locked name.
|
|
this way we never change cwd, and relative filenames are always
parsed consistently. this also helps filename construction in many
places. this patch also changes '--root' to override location of
all configuration to be in the new root. previously it depended
on the file which one was used.
|
|
|
|
use the package 'installed_size' == 0 as a test instead for
dependency only packages.
|
|
this enables virtual packages and files specified from command
line to work on non-harddisk installs.
|
|
fixes verification of non-repository packages while installing
them. this is final thing needed for full signing support
(fixes #46).
|
|
make sure cache is enabled on non-permanent rootfs setups.
some optimizations and fixes too.
|
|
|
|
- error codes for verification failure types
- fix some fdb corruption on file migration
- combine some dependency parsing code
- fix versioned dependencies
|
|
prefer index in the new format as signed .tar.gz.
|
|
an utility to check package signature and integrity.
|
|
change the index generation to do old index, or the new style index
where package identity is sha1 of control block and it's contained
within an .tar.gz to allow signing in future.
|
|
this also convers scripts file to a tar archive.
|
|
instead of having static md5 implemenation, use the openssl
library for digest functions.
|