Age | Commit message (Collapse) | Author | Files | Lines |
|
In discovery phase, there was logic to not process packages
multiple times. However, that logic failed to account the package's
depth and install_if state for the name being processed. This
caused install_if processing failure in certain topologies of the
dependency graph. Adds also a test case that should catch this
issue reliably.
|
|
This ensures a swap is emitted when replacing a virtual with
apk add.
|
|
declared provider_priority
|
|
By introducing a new package metadata field, `provider_priority`
(index letter `k`), we can specify default packages to satisfy a
virtual.
If a user wishes to select an alternative provider for the virtual,
a changeset swapping the default provider for the selected provider
will be generated by the dependency resolver.
|
|
|
|
This behaviour has been changed in: 7d5cd2c8a0052a7446515f90d3d0ea5cc2e93efe.
|
|
Variable QEMU_EMULATOR is set by enter-chroot script from
alpine-chroot-install.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
trigger it only if apk-tools can be upgrade, add test cases
|
|
this makes 'lbu diff' and aaudit diffs nice when a world
dependency is added or removed. sorting also makes the ordering
more deterministic as the world targets constraints are always
applied in the same order. test suite updated accordingly.
|
|
This makes sure any conflicted packages will be removed first.
Useful if we know there are conflicting files, and want to avoid
adding potentially harmful replaces line. Add a test case for
this too.
|
|
allow packages in the cache's installed to be selected for installation
by the solver. add test case for the issue.
|
|
|
|
this happens e.g. after tmpfs boot when not all packages where
available: the dependency is in world, but not installed.
|
|
add also a test case for this
|
|
fixes #1482
|
|
|
|
Select latest version of package (if it is not pinned), and print
error if it cannot be installed due to other dependencies.
Together with --available, it selects the latest package which is
present at least in some repository.
This also fixes few solver issues with ordering of package selection
that got quite apparent with this flag. Namely, we cannot "lock"
a package until it's reverse dependencies are locked or not all of
the solver flags are propagated properly.
|
|
the pinning11 changed when @repo got the leading @ on error messages.
analyze_dep() now properly ignores conflict dependencies, as those
names are usually intentionally left unassigned.
|
|
if all packages named N provide the virtual package, list only the
name N instead of all packages providing it.
|
|
and add the provided version information to the conflicts.
fixes the final test case that was broken. hooray.
|
|
|
|
Instead of the dependency oriented logic, switch to print them
for each package or name needed. Might give a bit more readable
errors now. There's still few corner cases that proper error is
not output, which are cought by the test cases.
|
|
mostly useful for reboot, when all packages are not available.
|
|
Fix also pinning test cases to be more sane.
|
|
Handle properly per-name preference flags, and add test cases
for testing those via fix applet.
|
|
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.
|
|
The 'a' package is now more preferred which actually makes more
sense.
|
|
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.
|
|
ref #574
|
|
ref #574
|
|
ref #574
|
|
|
|
* take list of tests to run (and default to all)
* merge the awk invocation to a function
|
|
Otherwise we might start to change packages unexpectedly when not
upgrading. This also fixes some other things the solver might've
decided to do.
Add also few test cases to detect bad behaviour.
|
|
Will use 'p' for provides.
|
|
|
|
also merge the expected output to the *.test files.
|
|
Forgot to reset per-name penalty when it got locked by apply_decision.
This also fine tunes compare_package_preference() to always prefer
packages specified on command line speeding up calculation certain
complicated solutions.
|
|
Previously we would cache the penalty when evaluating the final
solution, and adding that until we backtrack to first topology
position changing that penalty. However, we can just keep track
of minimum penalty based on name state, and add it. This allows
us to bail out early on bad branches because we know in advance
how things will turn out.
|