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 git_submodule
62 If this option is enabled, git submodules are fetched and included
63 in the tarball. This option is disabled by default.
64
65 compress_tar
66 If set, the tarball created will be compressed in the select
67 format. Possible values: xz, gz, bz2.
68
69 commit_gpg_id
70 If set, the commit selected with git_hash will have its signature
71 checked. The tarball will not be created if there is no valid
72 signature, and if the key used to sign it does not match the key ID
73 from commit_gpg_id. The option can be set to a single gpg ID, or to
74 a list of gpg IDs. The IDs can be short or long IDs, or full
75 fingerprint (with no spaces). For this to work, the GPG keys should
76 be present in the selected keyring (see keyring option). If the
77 option is set to 1 or an array containing 1 then any key from the
78 selected keyring is accepted. On command line, the --commit-gpg-id
79 option can be listed multiple times to define a list of keys.
80
81 tag_gpg_id
82 If set, the commit selected with git_hash should be a tag and will
83 have its signature checked. The tarball will not be created if the
84 tag doesn’t have a valid signature, and if the key used to sign it
85 does not match the key ID from tag_gpg_id. The option can be set to
86 a single gpg ID, or to a list of gpg IDs. The IDs can be short or
87 long IDs, or full fingerprint (with no spaces). For this to work,
88 the GPG keys should be present in the selected keyring (see keyring
89 option). If the option is set to 1 or an array containing 1 then
90 any key from the selected keyring is accepted. On command line, the
91 --tag-gpg-id option can be listed multiple times to define a list
92 of keys.
93
94 gpg_wrapper
95 This is a template for a gpg wrapper script. The default wrapper
96 will call gpg with the keyring specified by option gpg_keyring if
97 defined.
98
99 gpg_keyring
100 The filename of the gpg keyring to use. Path is relative to the
101 gpg_keyring_dir directory. This can also be an absolute path.
102
103 gpg_keyring_dir
104 The directory containing gpg keyring files. The default is
105 $basedir/keyring (with $basedir the directory where the main config
106 file is located).
107
108 gpg_bin
109 The gpg command to be used. The default is gpg.
110
111 gpg_args
112 Optional gpg arguments. The default is empty.
113
114 See rbm_config(7) for all other options.
115
117 The command line options related to tar :
118
119 --git-hash=<hash>
120 The git hash of the commit / tag to use.
121
122 --hg-hash=<hash>
123 The mercurial hash of the commit / tag to use.
124
125 --commit-gpg-id=<GPG ID>
126 Check the commit to be signed by this GPG key ID.
127
128 --tag-gpg-id=<GPG ID>
129 Check if the selected git hash is a tag and is signed by select GPG
130 key ID.
131
132 --gpg-keyring=<file>
133 GPG keyring filename.
134
135 --gpg-keyring-dir=<directory>
136 Directory containing GPG keyring files
137
138 --gpg-args=<args>
139 Optional gpg arguments.
140
141 --gpg-bin=<path>
142 Path to gpg binary.
143
144 See rbm_cli(7) for all other options.
145
147 If you are going to use gpg signed commits, it is recommended to use
148 git >= 1.8.3.
149
150 · git < 1.7.9 does not support signed commits. It only supports
151 signed tags.
152
153 · git < 1.8.3 does not use the git-config option gpg.program in git
154 log --show-signature and git show --show-signatures commands used
155 to check commits signatures. This means you won’t be able to use
156 the gpg_keyring option for commits signature verification (but it
157 will work for tag signature verification). This was fixed in git
158 commit 6005dbb9, included in version 1.8.3.
159
161 rbm(1)
162
163
164
165 07/29/2020 RBM-TAR(1)