1TITO(8) Tito User Manual TITO(8)
2
3
4
6 tito - manage RPM based projects using git
7
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
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
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
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
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
276 titorc(5) releasers.conf(5) tito.props(5)
277
278 /usr/share/doc/tito-*/README.mkd
279
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)