instead of calling the copy command once per file in a directory (eg a
type explorer dir), call the copy command only once with all files of
the directory.
batch copy saves 20% of dry-run time on my test manifest in sequential
mode, and 15% in parallel mode.
Remote::transfer contains a call to mkdir(destination) if the source is
a directory. since the destination must also be a directory we can omit
extra mkdir calls in Explorer.
this saves about 10% on my manifests in sequential mode, and about 6% in
parallel mode.
- Update installation method, following official installation
instructions.
- docker-engine was renamed to Docker CE around March 2017. Update
manpage to reflect that change.
- Remove flag `--experimental` since it is no longer necessary to install a
different binary to get experimental features. Experimental features are
included in the stable binary and can be enabled by a flag or in a
config file.
* add an type explorer to unify detecting of package type.
* update currage use the type explorer, so if os and passed in type
does not match, it behaves correctly.
This type tried to disable an unit after it has removed it, which
failed. Now the removal happens in gencode-remote, after the unit has
been stopped and disabled.
Clarify that this type only operates on units in /etc/systemd/system.
Also, when state=present, it is not always true that the type is
"installed, enabled and started"
Why:
In case when name contains package name with exact version specified (e.g. rpm-build-4.11.3)
```
rpm -q --whatprovides "$pkg_name"
```
will tell you that no package could provide you with 'rpm-build-4.11.3',
because it's not virtual or file-provide, but exact package name.
This will lead to the installation of the package which was already installed.
It slows down manifest execution a lot.
My change will keep previous behaviour which relies on --whatprovides and
will fix wrong behaviour when argument is full package name with version.