The pkgbuild state is the front of Salt package building backend. It automatically
New in version 2015.8.0.
salt_2015.5.2:
pkgbuild.built:
- runas: thatch
- results:
- salt-2015.5.2-2.el7.centos.noarch.rpm
- salt-api-2015.5.2-2.el7.centos.noarch.rpm
- salt-cloud-2015.5.2-2.el7.centos.noarch.rpm
- salt-master-2015.5.2-2.el7.centos.noarch.rpm
- salt-minion-2015.5.2-2.el7.centos.noarch.rpm
- salt-ssh-2015.5.2-2.el7.centos.noarch.rpm
- salt-syndic-2015.5.2-2.el7.centos.noarch.rpm
- dest_dir: /tmp/pkg
- spec: salt://pkg/salt/spec/salt.spec
- template: jinja
- deps:
- salt://pkg/salt/sources/required_dependency.rpm
- tgt: epel-7-x86_64
- sources:
- salt://pkg/salt/sources/logrotate.salt
- salt://pkg/salt/sources/README.fedora
- salt://pkg/salt/sources/salt-2015.5.2.tar.gz
- salt://pkg/salt/sources/salt-2015.5.2-tests.patch
- salt://pkg/salt/sources/salt-api
- salt://pkg/salt/sources/salt-api.service
- salt://pkg/salt/sources/salt-master
- salt://pkg/salt/sources/salt-master.service
- salt://pkg/salt/sources/salt-minion
- salt://pkg/salt/sources/salt-minion.service
- salt://pkg/salt/sources/saltpkg.sls
- salt://pkg/salt/sources/salt-syndic
- salt://pkg/salt/sources/salt-syndic.service
- salt://pkg/salt/sources/SaltTesting-2015.5.8.tar.gz
/tmp/pkg:
pkgbuild.repo
salt.states.pkgbuild.
built
(name, runas, dest_dir, spec, sources, tgt, template=None, deps=None, env=None, results=None, force=False, always=None, saltenv='base', log_dir='/var/log/salt/pkgbuild')¶Ensure that the named package is built and exists in the named directory
Run the spec file through a templating engine
Changed in version 2015.8.2: This argument is now optional, allowing for no templating engine to be used if none is desired.
A dictionary of environment variables to be set prior to execution. Example:
- env:
DEB_BUILD_OPTIONS: 'nocheck'
Warning
The above illustrates a common PyYAML pitfall, that yes,
no, on, off, true, and false are all loaded as
boolean True
and False
values, and must be enclosed in
quotes to be used as strings. More info on this (and other) PyYAML
idiosyncrasies can be found here.
If True
, packages will be built even if they already exist in the
dest_dir
. This is useful when building a package for continuous or
nightly package builds.
New in version 2015.8.2.
If True
, packages will be built even if they already exist in the
dest_dir
. This is useful when building a package for continuous or
nightly package builds.
Deprecated since version 2015.8.2: Use force
instead.
Root directory for log files created from the build. Logs will be organized by package name, version, OS release, and CPU architecture under this directory.
New in version 2015.8.2.
salt.states.pkgbuild.
repo
(name, keyid=None, env=None, use_passphrase=False, gnupghome='/etc/salt/gpgkeys', runas='builder')¶Make a package repository and optionally sign it and packages present, the name is directory to turn into a repo. This state is best used with onchanges linked to your package building states
Changed in version 2016.3.0.
Optional Key ID to use in signing packages and repository. Utilizes Public and Private keys associated with keyid which have been loaded into the minion's Pillar Data.
For example, contents from a pillar data file with named Public and Private keys as follows:
-----BEGIN PGP PRIVATE KEY BLOCK----- Version: GnuPG v1
lQO+BFciIfQBCADAPCtzx7I5Rl32escCMZsPzaEKWe7bIX1em4KCKkBoX47IG54b w82PCE8Y1jF/9Uk2m3RKVWp3YcLlc7Ap3gj6VO4ysvVz28UbnhPxsIkOlf2cq8qc . . Ebe+8JCQTwqSXPRTzXmy/b5WXDeM79CkLWvuGpXFor76D+ECMRPv/rawukEcNptn R5OmgHqvydEnO4pWbn8JzQO9YX/Us0SMHBVzLC8eIi5ZIopzalvX =JvW8 -----END PGP PRIVATE KEY BLOCK-----
gpg_pkg_priv_keyname: gpg_pkg_key.pem
-----BEGIN PGP PUBLIC KEY BLOCK----- Version: GnuPG v1
mQENBFciIfQBCADAPCtzx7I5Rl32escCMZsPzaEKWe7bIX1em4KCKkBoX47IG54b w82PCE8Y1jF/9Uk2m3RKVWp3YcLlc7Ap3gj6VO4ysvVz28UbnhPxsIkOlf2cq8qc . . bYP7t5iwJmQzRMyFInYRt77wkJBPCpJc9FPNebL9vlZcN4zv0KQta+4alcWivvoP 4QIxE+/+trC6QRw2m2dHk6aAeq/J0Sc7ilZufwnNA71hf9SzRIwcFXMsLx4iLlki inNqW9c= =s1CX -----END PGP PUBLIC KEY BLOCK-----
gpg_pkg_pub_keyname: gpg_pkg_key.pub
A dictionary of environment variables to be utlilized in creating the repository. Example:
- env:
OPTIONS: 'ask-passphrase'
Warning
The above illustrates a common PyYAML pitfall, that yes,
no, on, off, true, and false are all loaded as
boolean True
and False
values, and must be enclosed in
quotes to be used as strings. More info on this (and other) PyYAML
idiosyncrasies can be found here.
Use of OPTIONS on some platforms, for example: ask-passphrase, will require gpg-agent or similar to cache passphrases.
New in version 2016.3.0.
Use a passphrase with the signing key presented in 'keyid'. Passphrase is received from pillar data which has been passed on the command line. For example:
pillar='{ "gpg_passphrase" : "my_passphrase" }'
User to create the repository as, and optionally sign packages.
Docs for previous releases are available on readthedocs.org.
Latest Salt release: 2015.8.10