1RBM-TAR(1)                                                          RBM-TAR(1)
2
3
4

NAME

6       rbm-tar - Create a tarball file
7

SYNOPSIS

9       rbm tar <project> [options]
10

DESCRIPTION

12       Create a tarball file for the selected project.
13

OUTPUT FILE

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       should be set with the version option.
30

CONFIGURATION OPTIONS

32       The following options are related to tarball creation :
33
34       git_url
35           The URL of a git repository that will be cloned and used to create
36           the tarball. If this option is set, git_hash should be set to
37           select the commit to use.
38
39       hg_url
40           The URL of a mercurial repository that will be cloned and used to
41           create the tarball. If this option is set, hg_hash should be set to
42           select the commit to use.
43
44       git_hash
45           A git hash, branch name or tag. This is what is used to create the
46           tarball.
47
48       hg_hash
49           A mercurial changeset hash. This is what is used to create the
50           tarball.
51
52       git_submodule
53           If this option is enabled, git submodules are fetched and included
54           in the tarball. This option is disabled by default.
55
56       git_depth
57           An integer specifying a depth for shallow Git clone/fetch depth, to
58           decrease network and storage usage. If not set, shallow clone/fetch
59           is disabled.
60
61       git_branch
62           A Git ref name that will be exclusively cloned/fetched, to decrease
63           network and storage usage. Must be a descendent (inclusive) of
64           git_hash. If not set, all Git refs are cloned/fetched.
65
66       compress_tar
67           If set, the tarball created will be compressed in the select
68           format. Possible values: xz, gz, bz2. The default is gz but it can
69           stay empty to disable compression.
70
71       commit_gpg_id
72           If set, the commit selected with git_hash will have its signature
73           checked. The tarball will not be created if there is no valid
74           signature, and if the key used to sign it does not match the key ID
75           from commit_gpg_id. The option can be set to a single gpg ID, or to
76           a list of gpg IDs. The IDs can be short or long IDs, or full
77           fingerprint (with no spaces). For this to work, the GPG keys should
78           be present in the selected keyring (see keyring option). If the
79           option is set to 1 or an array containing 1 then any key from the
80           selected keyring is accepted. On command line, the --commit-gpg-id
81           option can be listed multiple times to define a list of keys.
82
83       tag_gpg_id
84           If set, the commit selected with git_hash should be a tag and will
85           have its signature checked. The tarball will not be created if the
86           tag doesn’t have a valid signature, and if the key used to sign it
87           does not match the key ID from tag_gpg_id. The option can be set to
88           a single gpg ID, or to a list of gpg IDs. The IDs can be short or
89           long IDs, or full fingerprint (with no spaces). For this to work,
90           the GPG keys should be present in the selected keyring (see keyring
91           option). If the option is set to 1 or an array containing 1 then
92           any key from the selected keyring is accepted. On command line, the
93           --tag-gpg-id option can be listed multiple times to define a list
94           of keys.
95
96       gpg_wrapper
97           This is a template for a gpg wrapper script. The default wrapper
98           will call gpg with the keyring specified by option gpg_keyring if
99           defined.
100
101       gpg_keyring
102           The filename of the gpg keyring to use. Path is relative to the
103           keyring directory. This can also be an absolute path.
104
105       gpg_bin
106           The gpg command to be used. The default is gpg.
107
108       gpg_args
109           Optional gpg arguments. The default is empty.
110
111       gpg_allow_expired_keys
112           Allowing expired keys to successfully verify e.g. signed git tags.
113           By default this is not allowed.
114
115       See rbm_config(7) for all other options.
116

COMMAND LINE OPTIONS

118       The command line options related to tar :
119
120       --git-hash=<hash>
121           The git hash of the commit / tag to use.
122
123       --hg-hash=<hash>
124           The mercurial hash of the commit / tag to use.
125
126       --commit-gpg-id=<GPG ID>
127           Check the commit to be signed by this GPG key ID.
128
129       --tag-gpg-id=<GPG ID>
130           Check if the selected git hash is a tag and is signed by select GPG
131           key ID.
132
133       --gpg-keyring=<file>
134           GPG keyring filename.
135
136       --gpg-keyring-dir=<directory>
137           Directory containing GPG keyring files
138
139       --gpg-args=<args>
140           Optional gpg arguments.
141
142       --gpg-bin=<path>
143           Path to gpg binary.
144
145       See rbm_cli(7) for all other options.
146

GIT VERSION

148       If you are going to use gpg signed commits, it is recommended to use
149       git >= 1.8.3.
150
151       •   git < 1.7.9 does not support signed commits. It only supports
152           signed tags.
153
154       •   git < 1.8.3 does not use the git-config option gpg.program in git
155           log --show-signature and git show --show-signatures commands used
156           to check commits signatures. This means you won’t be able to use
157           the gpg_keyring option for commits signature verification (but it
158           will work for tag signature verification). This was fixed in git
159           commit 6005dbb9, included in version 1.8.3.
160

SEE ALSO

162       rbm(1)
163
164
165
166                                  07/28/2023                        RBM-TAR(1)
Impressum