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.
- Interpolates values from the repositories compilespec if present
- Automatically merge cache images coming from specified repository when
necessary
Fixes#194
Currently, it's used the archive.ReplaceFileTarWrapper
that requite a []byte of the files replaced. This is not
a good idea if files are big and instead could be better
in the near future reimplement ReplaceFileTarWrapper with
a callback that return io.Reader instead of []byte.
If a protected file is already present on target rootfs
it is created a file with the same prefix used in Gentoo:
._cfgXXXX_<filename>
* installer.LuetRepository is now installer.LuetSystemRepository,
a struct that extend config.LuetRepository
* config: system_repositories option is now "repositories".
This resolve viper issue.
* config: cache_repositories option is now "repetitors"
This resolve viper issue.
* cmd/*: Now use new config.LuetRepository
* cmd/search: now create local luet repository if database_engine
is equal to "boltdb"
* concurrency could be configured now from cmdline,
configuration file or LUET_GENERAL__CONCURRENCY env variable
* verbose option is now related to debug option