1TITO.PROPS(5) Tito User Manual TITO.PROPS(5)
2
3
4
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
11 None
12
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
26 tito.props can contain several sections:
27
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
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
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
106 tito
107 If tito is older then specified version, it will refuse to
108 continue.
109
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
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
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
190 tito(8) titorc(5)
191
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)