docker.Untar
(https://github.com/mudler/luet/blob/master/vendor/github.com/docker/docker/pkg/archive/archive.go#L942) requires absolute paths.
We didn't do any input validation before, assuming the path passed by
were absolute since they were coming from YAML configuration files, now
that this is not the truth anymore we need to sanitize the input.
With this change we check if the given path is absolute or relative, if
it's relative we calculate the absolute path and use it in place.
Otherwise during uninstall we would retain the files which are
protected. We introduced a specific flag for it to pass during
uninstall, but for now we choose semplicity and expected default first.
Signed-off-by: Ettore Di Giacinto <mudler@sabayon.org>
- Adds upgrade --universe and upgrade --universe --clean. It will
attempt to bring the system as much close as the content available in
the repositories. It differs from a standard upgrade which checks
directly that what is pulled in doesn't conflict with the system. In
this new way, we just query the SAT solver to decide that on our
behalf.
- Add uninstall --full-clean. It uses only the SAT solver to uninstall
the package and it will drop as many packages as required (including
revdeps of packages too.
* concurrency could be configured now from cmdline,
configuration file or LUET_GENERAL__CONCURRENCY env variable
* verbose option is now related to debug option