1RBM-TAR(1) RBM-TAR(1)
2
3
4
6 rbm-tar - Create a tarball file
7
9 rbm tar <project> [options]
10
12 Create a tarball file for the selected project.
13
15 The output directory can be selected with the output_dir option.
16
17 The output filename will be :
18
19 <name>-<version>.tar
20
21 If the compress_tar, the filename will be :
22
23 <name>-<version>.tar.<ext>
24
25 With <name> the project’s name, <version> the version of the software,
26 and <ext> the compression type selected in the compress_tar option.
27
28 The version of the software used to create the tarball and the packages
29 can be set with the version option. If the version is not explicitely
30 set, then it is determined automatically in the following way :
31
32 · If the version_command option is set, then the value of this option
33 is run in the checked out source tree, and the output is used as
34 the version.
35
36 · If the version_command is not set, or if running the command
37 failed, then the most recent tag (as returned by git-describe) is
38 used as version.
39
41 The following options are related to tarball creation :
42
43 git_url
44 The URL of a git repository that will be cloned and used to create
45 the tarball. If this option is set, git_hash should be set to
46 select the commit to use.
47
48 hg_url
49 The URL of a mercurial repository that will be cloned and used to
50 create the tarball. If this option is set, hg_hash should be set to
51 select the commit to use.
52
53 git_hash
54 A git hash, branch name or tag. This is what is used to create the
55 tarball.
56
57 hg_hash
58 A mercurial changeset hash. This is what is used to create the
59 tarball.
60
61 compress_tar
62 If set, the tarball created will be compressed in the select
63 format. Possible values: xz, gz, bz2.
64
65 commit_gpg_id
66 If set, the commit selected with git_hash will have its signature
67 checked. The tarball will not be created if there is no valid
68 signature, and if the key used to sign it does not match the key ID
69 from commit_gpg_id. The option can be set to a single gpg ID, or to
70 a list of gpg IDs. The IDs can be short or long IDs, or full
71 fingerprint (with no spaces). For this to work, the GPG keys should
72 be present in the selected keyring (see keyring option). If the
73 option is set to 1 or an array containing 1 then any key from the
74 selected keyring is accepted. On command line, the --commit-gpg-id
75 option can be listed multiple times to define a list of keys.
76
77 tag_gpg_id
78 If set, the commit selected with git_hash should be a tag and will
79 have its signature checked. The tarball will not be created if the
80 tag doesn’t have a valid signature, and if the key used to sign it
81 does not match the key ID from tag_gpg_id. The option can be set to
82 a single gpg ID, or to a list of gpg IDs. The IDs can be short or
83 long IDs, or full fingerprint (with no spaces). For this to work,
84 the GPG keys should be present in the selected keyring (see keyring
85 option). If the option is set to 1 or an array containing 1 then
86 any key from the selected keyring is accepted. On command line, the
87 --tag-gpg-id option can be listed multiple times to define a list
88 of keys.
89
90 gpg_wrapper
91 This is a template for a gpg wrapper script. The default wrapper
92 will call gpg with the keyring specified by option gpg_keyring if
93 defined.
94
95 gpg_keyring
96 The filename of the gpg keyring to use. Path is relative to the
97 gpg_keyring_dir directory. This can also be an absolute path.
98
99 gpg_keyring_dir
100 The directory containing gpg keyring files. The default is
101 $basedir/keyring (with $basedir the directory where the main config
102 file is located).
103
104 gpg_bin
105 The gpg command to be used. The default is gpg.
106
107 gpg_args
108 Optional gpg arguments. The default is empty.
109
110 See rbm_config(7) for all other options.
111
113 The command line options related to tar :
114
115 --git-hash=<hash>
116 The git hash of the commit / tag to use.
117
118 --hg-hash=<hash>
119 The mercurial hash of the commit / tag to use.
120
121 --commit-gpg-id=<GPG ID>
122 Check the commit to be signed by this GPG key ID.
123
124 --tag-gpg-id=<GPG ID>
125 Check if the selected git hash is a tag and is signed by select GPG
126 key ID.
127
128 --gpg-keyring=<file>
129 GPG keyring filename.
130
131 --gpg-keyring-dir=<directory>
132 Directory containing GPG keyring files
133
134 --gpg-args=<args>
135 Optional gpg arguments.
136
137 --gpg-bin=<path>
138 Path to gpg binary.
139
140 See rbm_cli(7) for all other options.
141
143 If you are going to use gpg signed commits, it is recommended to use
144 git >= 1.8.3.
145
146 · git < 1.7.9 does not support signed commits. It only supports
147 signed tags.
148
149 · git < 1.8.3 does not use the git-config option gpg.program in git
150 log --show-signature and git show --show-signatures commands used
151 to check commits signatures. This means you won’t be able to use
152 the gpg_keyring option for commits signature verification (but it
153 will work for tag signature verification). This was fixed in git
154 commit 6005dbb9, included in version 1.8.3.
155
157 rbm(1)
158
159
160
161 07/26/2019 RBM-TAR(1)