Age | Commit message (Collapse) | Author | Files | Lines |
|
ref #9063
|
|
|
|
This fixes couple of valgrind reported leaks - though they are
non-important since the leak happens on "exit" only and kernel
frees it anyway.
|
|
In case all applet arguments are packages names (that is are not
including wildcards), return error if they do not match to some
package.
|
|
Add also a new 'commit' group that is the common options
for all applets that can commit package changes.
|
|
this happens e.g. after tmpfs boot when not all packages where
available: the dependency is in world, but not installed.
|
|
|
|
Acked-by: Natanael Copa <ncopa@alpinelinux.org>
|
|
|
|
ref #511
|
|
|
|
|
|
So same package it is possible to not match same package multiple
times. Use generation count, so this is handled cleanly during
recursion, like in the use case of search applet.
|
|
... in the error printing and the package deletion.
|
|
mostly useful for reboot, when all packages are not available.
|
|
Implementing basic dependency handling, install_if and awareness
of pinning.
|
|
So we get better error report if package is not deleted due to
reverse dependency.
|
|
in preparation for provides support. implements also some
dependency satisfaction helper routines.
ref #574.
|
|
name state could get overwritten later, so we can't use that when
generating the changeset.
|
|
One can now say in dependency "!foo<2" which means, that if foo is
installed, it needs to be >=2, but it's not a required dependency.
|
|
the only bit of information needed in solver commit is the "hard"
topology sorting information for trigger ordering. fixes a bug in
"apk del" which uses the state pointers to do intermediate
calculations between solution solving and commit.
|
|
fixes #738
|
|
|
|
Deduce the world dependencies to remove locally, and same for the
additional messages about packages not deleted.
|
|
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.
|
|
The version now needs to be initialized atom always, since it's
dereferenced in various places.
|
|
|
|
Instead of having a null pointer, use a dummy array which just
says the array is empty. This helps in multiple places of the code
which would otherwise need explicitly need to check first if the
array exists. This has been cause of multiple seg.faults in the
past as the array check is easily omitted.
This also removes (or fixes) all existing checks accordingly.
|
|
Print more information why installation changeset calculation failed.
Fixes #187.
|
|
- make virtual packages work again
- make apk del (for non-empty packages) work again
|
|
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.
|
|
and by default just update the world, and dump a lost of packages
that are not removed. fixes #47.
|
|
And add some more verbosity to the help message.
|
|
apk --help will list the generic options only and give a list of commands
To get the details for a spefic command, 'apk command --help' should be used.
|
|
The compiler is actually right about those.
|
|
|
|
|
|
Calculate changesets directly by stabilizating the package graph instead of
recalculating the whole graph and then diffing (similar approach as seen
in 'smart' package manager). The algorithm is not complete: defferred
search space forking is missing. So you don't always get a solution on
complex graphs.
Benefits:
- usually the search state tree is smaller (less memory used)
- speed relational to changeset size, not database size (usually faster)
- touch only packages related to users request (can work on partitially
broken state; upgrades only necessary packages, fixes #7)
Also implemented:
- command prompt to confirm operation if packages are deleted or downgraded
- requesting deletion of package suggests removal of all packages depending
on the package being removed (you'll get list of packages that also get
removed if you want package X removed)
- option --simulate to see what would have been done (mainly for testing)
- an untested implementation of versioned dependencies and conflicts
A lot has changed, so expect new bugs too.
|
|
Add flags field to db open call. Also make error reporting quite a bit
more detailed.
|
|
|
|
|
|
breakage and major changes.
|