NAME
rbm-tar - Create a tarball file
SYNOPSIS
rbm tar <project> [options]
DESCRIPTION
Create a tarball file for the selected project.
OUTPUT FILE
The output directory can be selected with the output_dir option.
The output filename will be :
<name>-<version>.tar
If the compress_tar, the filename will be :
<name>-<version>.tar.<ext>
With <name> the project’s name, <version> the version of the software, and <ext> the compression type selected in the compress_tar option.
The version of the software used to create the tarball and the packages should be set with the version option.
CONFIGURATION OPTIONS
The following options are related to tarball creation :
- git_url
-
The URL of a git repository that will be cloned and used to create the tarball. If this option is set,
git_hash
should be set to select the commit to use. - hg_url
-
The URL of a mercurial repository that will be cloned and used to create the tarball. If this option is set,
hg_hash
should be set to select the commit to use. - git_hash
-
A git hash, branch name or tag. This is what is used to create the tarball.
- hg_hash
-
A mercurial changeset hash. This is what is used to create the tarball.
- git_submodule
-
If this option is enabled, git submodules are fetched and included in the tarball. This option is disabled by default.
- compress_tar
-
If set, the tarball created will be compressed in the select format. Possible values: xz, gz, bz2.
- commit_gpg_id
-
If set, the commit selected with
git_hash
will have its signature checked. The tarball will not be created if there is no valid signature, and if the key used to sign it does not match the key ID fromcommit_gpg_id
. The option can be set to a single gpg ID, or to a list of gpg IDs. The IDs can be short or long IDs, or full fingerprint (with no spaces). For this to work, the GPG keys should be present in the selected keyring (seekeyring
option). If the option is set to 1 or an array containing 1 then any key from the selected keyring is accepted. On command line, the--commit-gpg-id
option can be listed multiple times to define a list of keys. - tag_gpg_id
-
If set, the commit selected with
git_hash
should be a tag and will have its signature checked. The tarball will not be created if the tag doesn’t have a valid signature, and if the key used to sign it does not match the key ID fromtag_gpg_id
. The option can be set to a single gpg ID, or to a list of gpg IDs. The IDs can be short or long IDs, or full fingerprint (with no spaces). For this to work, the GPG keys should be present in the selected keyring (seekeyring
option). If the option is set to 1 or an array containing 1 then any key from the selected keyring is accepted. On command line, the--tag-gpg-id
option can be listed multiple times to define a list of keys. - gpg_wrapper
-
This is a template for a gpg wrapper script. The default wrapper will call gpg with the keyring specified by option
gpg_keyring
if defined. - gpg_keyring
-
The filename of the gpg keyring to use. Path is relative to the
gpg_keyring_dir
directory. This can also be an absolute path. - gpg_keyring_dir
-
The directory containing gpg keyring files. The default is
$basedir/keyring
(with $basedir the directory where the main config file is located). - gpg_bin
-
The gpg command to be used. The default is
gpg
. - gpg_args
-
Optional gpg arguments. The default is empty.
See rbm_config(7) for all other options.
COMMAND LINE OPTIONS
The command line options related to tar :
- --git-hash=<hash>
-
The git hash of the commit / tag to use.
- --hg-hash=<hash>
-
The mercurial hash of the commit / tag to use.
- --commit-gpg-id=<GPG ID>
-
Check the commit to be signed by this GPG key ID.
- --tag-gpg-id=<GPG ID>
-
Check if the selected git hash is a tag and is signed by select GPG key ID.
- --gpg-keyring=<file>
-
GPG keyring filename.
- --gpg-keyring-dir=<directory>
-
Directory containing GPG keyring files
- --gpg-args=<args>
-
Optional gpg arguments.
- --gpg-bin=<path>
-
Path to gpg binary.
See rbm_cli(7) for all other options.
Git Version
If you are going to use gpg signed commits, it is recommended to use git >= 1.8.3.
-
git < 1.7.9 does not support signed commits. It only supports signed tags.
-
git < 1.8.3 does not use the
git-config
optiongpg.program
ingit log --show-signature
andgit show --show-signatures
commands used to check commits signatures. This means you won’t be able to use thegpg_keyring
option for commits signature verification (but it will work for tag signature verification). This was fixed in git commit6005dbb9
, included in version 1.8.3.