Installing and removing packages can be done using the
packages: manager: <string> # required update: <boolean> cleanup: <boolean> sets: - packages: - <string> - ... action: <string> # required architectures: <array> # filter releases: <array> # filter variants: <array> # filter flags: <array> # install/remove flags for just this set - ... repositories: - name: <string> url: <string> type: <string> key: <string> architectures: <array> # filter releases: <array> # filter variants: <array> # filter - ...
manager keys specifies the package manager which is to be used.
Valid package manager are:
It’s also possible to specify a custom package manager. This is useful if the desired package manager is not supported by distrobuilder.
packages: custom_manager: # required clean: # required cmd: <string> flags: <array> install: # required cmd: <string> flags: <array> remove: # required cmd: <string> flags: <array> refresh: # required cmd: <string> flags: <array> update: # required cmd: <string> flags: <array> flags: <array> # global flags for all commands ...
update is true, the package manager will update all installed packages.
cleanup is true, the package manager will run a cleanup operation which usually cleans up cached files.
This depends on the package manager though and is not supported by all.
A set contains a list of
action, and optional filters.
packages is a list of packages which are to be installed or removed.
The value of
action must be either
specified for a package set, they are appended to the command specific
flags, along with any global flags, when calling the
command. For example, you can define a package set that should be installed
repositories contains a list of additional repositories which are to be added.
type field is only needed if the package manager supports more than one repository manager.
key field is a GPG armored key ring which might be needed for verification.
Depending on the package manager, the
url field can take the content of a repository file. The following is possible with
packages: manager: yum update: false repositories: - name: myrepo url: |- [myrepo] baseurl=http://user:email@example.com gpgcheck=0