1TITO(8)                        Tito User Manual                        TITO(8)
2
3
4

NAME

6       tito - manage RPM based projects using git
7

SYNOPSIS

9       tito init
10
11       tito tag [OPTIONS]
12
13       tito build --test --rpm
14
15       tito build [OPTIONS]
16
17       tito release [OPTIONS] TARGET
18
19       tito report
20

DESCRIPTION

22       After setting up a directory as a Git repo, use tito to manage the tags
23       and builds. A simple workflow may look like:
24
25        1. Save user preferences as described in titorc(5)
26
27        2. Initialize a .tito directory
28
29        3. Test
30
31            1. Make changes to source
32
33            2. Use git to commit changes
34
35            3. Build: tito build --rpm --test
36
37        4. Finalize a release
38
39            1. Tag: tito tag
40
41            2. Push: git push && git push $ORIGIN $TAG
42
43            3. Build: tito build [OPTIONS]
44

OPTIONS

46   tito init
47       This will create a top-level metadata directory called ".tito/" and
48       commit it to git. This directory will store tito’s configuration and
49       package metadata on a per branch basis. It will be filtered out when
50       creating .tar.gz’s.
51
52           Note
53           Your spec file should list the source as %{name}-%{version}.tar.gz
54
55   tito tag [options]
56       By default, tito will tag by bumping the rpm version (i.e. we bump the
57       Z in X.Y.Z). If you’d prefer to bump the package release instead
58       (normally should just be used for changes to the spec file or patches
59       applied within it), you can change the tagger class in .tito/tito.props
60       to ReleaseTagger. This will affect all packages in this git branch; if
61       you’d prefer to do this on a per-package basis you can do so in a
62       package specific tito.props.
63
64       -h, --help
65           show this help message and exit
66
67       --debug
68           print debug messages (can be also set using DEBUG environment
69           variable)
70
71       --offline
72           do not attempt any remote communication (avoid using this please)
73
74       -o OUTPUTDIR, --output=OUTPUTDIR
75           Write temp files, tarballs, and RPMs to OUTPUTDIR. Create
76           sub-directories as needed by rpmbuild(8). (default /tmp/tito)
77
78       --tag-release
79           Deprecated, no longer required.
80
81       --keep-version
82           Use spec file version/release exactly as specified in spec file to
83           tag package.
84
85       --use-version=USE_VERSION
86           Update the spec file with the specified version.
87
88       --use-release=USE_RELEASE
89           Update the spec file with the specified release.
90
91       --no-auto-changelog
92           Don’t automatically create a changelog entry for this tag if none
93           is found
94
95       --accept-auto-changelog
96           Automatically accept the generated changelog.
97
98       --auto-changelog-message=MESSAGE
99           Use MESSAGE as the default changelog message for new packages
100
101       --changelog=MESSAGE
102           Use MESSAGE as the changelog when tagging, this can be specified
103           every time a package is tagged. Useful when needing to generate
104           custom changelogs. This will override the auto generated changelog.
105
106       -u, --undo
107           Undo the most recent (un-pushed) tag.
108
109           Note
110           Tito will create automatic changelog from git commits. Unless you
111           specify one of auto options, tito will open text editor and allow
112           you to edit the text. Editor is by default. This can be changes by
113           environment variable EDITOR.
114
115   tito build [options]
116       -h, --help
117           show this help message and exit
118
119       --debug
120           print debug messages (can be also set using DEBUG environment
121           variable)
122
123       --offline
124           do not attempt any remote communication. Avoid using this please.
125           See OFFLINE section below.
126
127       -o OUTPUTDIR, --output=OUTPUTDIR
128           Write temp files, tarballs and RPMs to OUTPUTDIR. (default
129           /tmp/tito)
130
131       --tgz
132           Build .tar.gz
133
134       --srpm
135           Build srpm
136
137       --rpm
138           Build srpm and rpm
139
140       -i, --install
141           Install any binary RPMs being built.
142
143           Warning
144           uses sudo rpm -Uvh --force
145
146       --no-sudo
147           Don’t escalate privileges when installing. Use when running this
148           command with required privileges.
149
150       --dist=DISTTAG
151           Apply DISTTAG to srpm and/or rpm. (e.g., ".el5")
152
153       --test
154           use current branch HEAD instead of latest package tag.
155
156       --no-cleanup
157           do not clean up temporary build directories/files
158
159       --rpmbuild-options=OPTIONS
160           Pass OPTIONS to rpmbuild.
161
162       --builder=BUILDER
163           Override the normal builder by specifying a full class path or one
164           of the pre-configured shortcuts. Only useful if you need to
165           override the default builder for some purpose, such as testing a
166           build via mock.
167
168       --arg=BUILDER_ARGS
169           Custom arguments specific to a particular builder. (key=value)
170
171       --scl=COLLECTION
172           Build package for software collection. This is mostly useful for
173           building src.rpm, because for rpm you want to define this option
174           for specific tag in tito.props
175
176       --quiet
177           Suppress output from the build process.
178
179       --verbose
180           Expose more output from the build process.
181
182   tito release [options] TARGETS
183       Runs the release targets defined in .tito/releasers.conf.
184
185       -h, --help
186           show this help message and exit
187
188       --debug
189           print debug messages (can be also set using DEBUG environment
190           variable)
191
192       --offline
193           do not attempt any remote communication. Avoid using this please.
194           See OFFLINE section below.
195
196       -o OUTPUTDIR, --output=OUTPUTDIR
197           Write temp files, tarballs and RPMs to OUTPUTDIR. (default
198           /tmp/tito)
199
200       --tag=PKGTAG
201           build a specific tag instead of the latest version (e.g.,
202           spacewalk-java-0.4.0-1)
203
204       --dry-run
205           Do not actually commit/push anything during release.
206
207       --no-build
208           Do not perform a brew/koji build, only DistGit commit. (only for
209           Koji/DistGit releasers)
210
211       --all
212           Run all release targets defined in .tito/releasers.conf.
213
214       --list
215           List all release targets defined in .tito/releasers.conf.
216
217       --all-starting-with=ALL_STARTING_WITH
218           Run all release targets starting with the given string. (i.e. if
219           you have defined release targets yum-f15 and yum-f14 in
220           releasers.conf, --all-starting-with=yum will run only these
221           targets, and ignore any others.)
222
223       --scratch
224           Perform a scratch build in Koji. Can be specified using environment
225           variable SCRATCH set to 1 as well.
226
227       --yes
228           Do not ask to confirm release commits or edit their messages.
229
230   tito report [options]
231       Display a report of all packages with differences between HEAD and
232       their most recent tag, as well as a patch for that diff. Used to
233       determine which packages are in need of a rebuild.
234
235       -h, --help
236           show this help message and exit
237
238       --debug
239           print debug messages (can be also set using DEBUG environment
240           variable)
241
242       --offline
243           do not attempt any remote communication. Avoid using this please.
244           See OFFLINE section below.
245
246       -o OUTPUTDIR, --output=OUTPUTDIR
247           Write temp files, tarballs and RPMs to OUTPUTDIR. (default
248           /tmp/tito)
249
250       --untagged-diffs
251           Print out diffs for all packages with changes between their most
252           recent tag and HEAD. Useful for determining which packages are in
253           need of a re-tag.
254
255       --untagged-commits
256           Print out the list for all packages with changes between their most
257           recent tag and HEAD. Useful for determining which packages are in
258           need of a re-tag.
259

OFFLINE

261       Offline lets you potentially do builds you can’t reproduce, normally we
262       check that the tag you’re building exists in the remote repo. If it
263       hasn’t been pushed, it’s quite easy to do a build that will result in a
264       checksum that is no longer the same. This is something you should try
265       to avoid.
266

EXAMPLES

268       Build and install a test package from the latest code in current git
269       HEAD
270           tito build --rpm --test -i
271
272       Overriding the default builder to build via mock instead
273           tito build --builder mock --arg mock=fedora-15-x86_64 --rpm
274

SEE ALSO

276       titorc(5) releasers.conf(5) tito.props(5)
277
278       /usr/share/doc/tito-*/README.mkd
279

AUTHORS

281       Devan Goodwin <dgoodwin@rm-rf.ca>
282
283       James Bowes <jbowes@repl.ca>
284
285       Jan Pazdziora
286
287       Jesus M Rodriguez <jesusr@redhat.com>
288
289       Pall Sigurdsson <palli@opensource.is>
290
291       Miroslav Suchý <msuchy@redhat.com>
292
293       and: Adam Miller, Alex Wood, Aron Parsons, Brenton Leanhardt, Ivan
294       Nečas, John Eckersberg, Kenny MacDermid, Lukáš Zapletal, Luke Meyer,
295       Marian Csontos, Martin Bačovský, Michael Stead, Mike McCune, mscherer,
296       Paul Morgan, Sean P. Kane, Steve Ashcrow Milner
297
298
299
300tito                              02/03/2019                           TITO(8)
Impressum