1TITO.PROPS(5)                  Tito User Manual                  TITO.PROPS(5)
2
3
4

NAME

6       tito.props - Settings file for whole git repository with multiple
7       packages. build.py.props - Setting file in package directory, which
8       override values in tito.props
9

SYNOPSIS

11       None
12

DESCRIPTION

14       Project settings can be stored in files:
15
16       GITROOT/rel-eng/tito.props
17
18       GITROOT/SOME/PACKAGE/tito.props
19
20       The global rel-eng/tito.props is generally where settings are defined.
21       For some multi-project git repositories, individual packages can
22       override these settings by placing a tito.props in the project
23       directory. (i.e. same location as it’s .spec file)
24

SECTIONS

26       tito.props can contain several sections:
27

GLOBALCONFIG

29       This section is mandatory. At least in tito.props as you need to
30       specify default builder and tagger for you project. You can use
31       following variables:
32
33       default_builder
34           The fully qualified Builder class implementation to use. You can
35           either specify builders shipped with Tito (see BUILDERS section
36           below), or a custom builder located within the directory your
37           lib_dir option points to.
38
39       default_tagger
40           The fully qualified Tagger class implementation to use. You can
41           either specify builders shipped with Tito (see TAGGERS section
42           below), or a custom builder located within the directory your
43           lib_dir option points to.
44
45       lib_dir
46           Optional property defining a directory to be added to the Python
47           path when executing tito. Allows you to store custom
48           implementations of Builder, Tagger, and Releaser.
49
50       builder
51           This option is used in project specific tito.props only, and allows
52           that project to override the default_builder defined in
53           rel-eng/tito.props.
54
55       tagger
56           This option is used in project specific tito.props only, and allows
57           that project to override the default_tagger defined in
58           rel-eng/tito.props.
59
60       changelog_with_email
61           If set to 0, then entries in changelog (subject of commits) are not
62           followed by email of commiter. Default is 1.
63
64       changelog_do_not_remove_cherrypick
65           If set to 0, it will not remove from cherry picked commits the part
66           "(cherry picked from commit ...)"
67
68       tag_suffix
69           An optional specification of a suffix to append to all tags created
70           by tito for this repo. Can be useful for situations where one git
71           repository is inheriting from another, but tags are created in
72           both. The suffix will be an indicator as to which repo the tag
73           originated in. (i.e. tag_suffix = -mysuffix)
74

KOJI

76           Warning
77           very experimental, and not tested against Fedora’s Koji.
78
79       autobuild_tags
80           If you use --koji-relase it will try to build src.rpm package in
81           specified tags in koji. Also see KOJI_OPTIONS in titorc(5). You can
82           specify section which is named as the tag and put there following
83           options:
84
85       disttag
86           Dist tag variable, which is passed to rpmbuild for packages build
87           in this tag.
88
89       blacklist
90           Space separated list of packages, which should not be built in this
91           tag.
92

CVS

94       cvsroot
95           Root of your CVS repository. (i.e. cvsroot =
96           :ext:myuser@cvs.fedoraproject.org:/cvs/extra)
97
98       branches
99           CVS branches to sync sources to, and build from. If you use
100           zStreamTagger for EUS builds, use the format branches =
101           BASE/EUS-VARIANT for example: branches = RHEL-6/RHEL-6_1-Z This
102           will run "make zstreams" in BASE directory and will then use
103           EUS-VARIANT branch.
104

REQUIREMENTS

106       tito
107           If tito is older then specified version, it will refuse to
108           continue.
109

BUILDERS

111       tito.builder.Builder
112           Basic package builder. It create tar.gz of whole directory and
113           create src.rpm and build rpm using some supported method.
114
115       tito.builder.NoTgzBuilder
116           Builder for packages that do not require the creation of tarball.
117           Usually these package have source files checked directly into git.
118
119       tito.builder.CvsBuilder
120           Builder for packages whose sources are managed in
121           dist-cvs/Fedora-cvs.
122
123       tito.builder.UpstreamBuilder
124           Builder for packages that are based off an upstream git tag.
125           Commits applied in downstream git become patches applied to the
126           upstream tarball. For example - you are building package
127           foo-1.2-3... Tar.gz file is created from commit, which is tagged by
128           foo-1.2-1 and the diff between release 1 and 3 is put in spec file
129           as Patch0.
130
131       tito.distributionbuilder.DistributionBuilder
132           Behave similar as tito.builder.UpstreamBuilder, but patch is
133           created for every release. Therefore package from previous example
134           will end up with tar.gz file created from tag foo-1.2-1 and with
135           Patch0: foo-1.2-1-to-foo-1.2-2.patch Patch1:
136           foo-1.2-1-to-foo-1.2-3.patch
137

TAGGERS

139       All taggers which inherit fom tito.tagger.VersionTagger (all to this
140       date), will update file GITROOT/rel-eng/packages/name-of-package and
141       put there one line which consist of version-release of package, space
142       delimiter, path to package directory relative to GITROOT.
143
144       tito.tagger.VersionTagger
145           Standard tagger class, used for tagging packages build from source
146           in git. Releaase will be tagged by incrementing the package
147           version, and the actual "Release" will be always set to 1.
148
149       tito.tagger.ReleaseTagger
150           Keep version and increment release.
151
152       tito.zstreamtagger.zStreamTagger
153           It is used for EUS packages.
154
155       tito.rheltagger.RHELTagger
156           Tagger which is based on ReleaseTagger and uses Red Hat Enterprise
157           Linux changelog format:
158
159           ·   Resolves: #1111 - description
160
161           ·   Related: #1111 - description
162

EXAMPLE

164           [globalconfig]
165           default_builder = tito.builder.Builder
166           default_tagger = spacewalk.releng.tagger.VersionTagger
167
168           [koji]
169           autobuild_tags = dist-5E-sw-1.2-candidate dist-f12-sw-1.2-candidate dist-f13-sw-1.2-candidate
170
171           [dist-5E-sw-1.2-candidate]
172           disttag = .el5
173
174           [dist-f12-sw-1.2-candidate]
175           disttag = .fc12
176           blacklist=jabberd-selinux
177
178           [dist-f13-sw-1.2-candidate]
179           disttag = .fc13
180           blacklist=jabberd-selinux
181
182           [cvs]
183           cvsroot = :gserver:your.dist-cvs.server.com:/cvs/dist
184           branches = SATELLITE-5_4-RHEL-5
185
186           [requirements]
187           tito=0.3.0
188

SEE ALSO

190       tito(8) titorc(5)
191

AUTHORS

193       Devan Goodwin <dgoodwin@rm-rf.ca>
194
195       James Bowes <jbowes@repl.ca>
196
197       Jan Pazdziora
198
199       Jesus M Rodriguez <jesusr@redhat.com>
200
201       Miroslav Suchý <msuchy@redhat.com>
202
203
204
205tito                              11/16/2011                     TITO.PROPS(5)
Impressum