2011-10-16 13:31:57 -03:00
|
|
|
releasers.conf(5)
|
|
|
|
=================
|
|
|
|
include::man.asciidoc[]
|
|
|
|
|
|
|
|
NAME
|
|
|
|
----
|
2013-06-19 11:30:53 -05:00
|
|
|
releasers.conf - Config file defining release targets where builds can be
|
|
|
|
published.
|
2011-10-16 13:31:57 -03:00
|
|
|
|
|
|
|
SYNOPSIS
|
|
|
|
--------
|
|
|
|
None
|
2013-04-24 22:57:10 +02:00
|
|
|
// older asciidoc versions (such as the version for .el5) require a synopsis section
|
2011-10-16 13:31:57 -03:00
|
|
|
|
|
|
|
|
|
|
|
DESCRIPTION
|
|
|
|
-----------
|
2013-06-19 11:30:53 -05:00
|
|
|
Tito allows projects to define their own release targets, which can specify
|
|
|
|
the exact releaser implementation to use (potentially a custom one), and any
|
|
|
|
arguments it may need for a specific type of build.
|
2011-10-16 13:31:57 -03:00
|
|
|
|
|
|
|
|
|
|
|
RELEASERS
|
|
|
|
---------
|
|
|
|
|
2013-06-19 11:30:53 -05:00
|
|
|
Tito includes several releaser implementations that can be used in
|
|
|
|
releasers.conf. Additionally you may define a lib_dir in your tito.props
|
|
|
|
globalconfig section, and place your own custom implementation of a releaser
|
|
|
|
there.
|
2011-10-16 13:31:57 -03:00
|
|
|
|
2013-06-19 11:30:53 -05:00
|
|
|
Specify "builder.test = 1" in your releasers.conf target to enable --test
|
|
|
|
builds. (uses the latest git HEAD rather than the latest tagged package) This
|
|
|
|
can be useful for automating the publishing of a nightly build, which you
|
|
|
|
would not want to continually have to tag.
|
2012-03-14 13:09:40 -03:00
|
|
|
|
2011-10-16 13:31:57 -03:00
|
|
|
tito.release.YumRepoReleaser::
|
2013-06-19 11:30:53 -05:00
|
|
|
Releaser which will build your packages, rsync down an existing yum repository,
|
|
|
|
place your packages in it, regenerate the yum repodata, and rsync the yum
|
|
|
|
repository back up.
|
2013-04-24 22:57:10 +02:00
|
|
|
+
|
2013-06-19 11:30:53 -05:00
|
|
|
Specify "filetypes = srpm" if you want to build a source rpm instead of a
|
|
|
|
regular rpm.
|
2013-04-24 22:57:10 +02:00
|
|
|
+
|
2013-06-19 11:30:53 -05:00
|
|
|
Specify "createrepo_command = createrepo -s sha1" if you are building on a
|
|
|
|
recent distro and are working with yum repositories for rhel5.
|
2013-04-24 22:57:10 +02:00
|
|
|
+
|
2013-04-24 12:38:31 +02:00
|
|
|
You can use environment variable RSYNC_USERNAME to override rsync username.
|
2012-07-16 23:01:38 +00:00
|
|
|
|
|
|
|
tito.release.RsyncReleaser::
|
2013-04-24 12:38:31 +02:00
|
|
|
Releaser which will build your packages, and rsync up to a remote repository.
|
2013-04-24 22:57:10 +02:00
|
|
|
+
|
2013-06-19 11:30:53 -05:00
|
|
|
Specify "filetypes = rpm srpm tgz" to choose what type of packages will be
|
|
|
|
uploaded.
|
2013-04-24 22:57:10 +02:00
|
|
|
+
|
2013-04-24 12:38:31 +02:00
|
|
|
You can use environment variable RSYNC_USERNAME to override rsync username.
|
2013-04-24 22:57:10 +02:00
|
|
|
+
|
2013-04-24 12:41:13 +02:00
|
|
|
Specify "scl = COLLECTION" to build into Software Collection.
|
2013-04-24 22:57:10 +02:00
|
|
|
+
|
2013-06-19 11:30:53 -05:00
|
|
|
Variable "rsync_args" can specify addiontal argument passed to rsync. Default
|
|
|
|
is "-rlvz".
|
2012-07-16 23:01:38 +00:00
|
|
|
|
2011-10-16 13:31:57 -03:00
|
|
|
tito.release.FedoraGitReleaser::
|
2013-06-19 11:30:53 -05:00
|
|
|
Releaser which will checkout your project in Fedora git using fedpkg. Sources
|
|
|
|
are then synced to the first branch your releaser lists. After this tito will
|
|
|
|
git merge the first branch into all other listed branches, triggering builds
|
|
|
|
in each.
|
2013-04-24 22:57:10 +02:00
|
|
|
+
|
2013-06-19 11:30:53 -05:00
|
|
|
WARNING: Highly experimental, very prone to failure if merging master into
|
|
|
|
your branches is likely to cause a conflict. You will need to cleanup manually
|
|
|
|
if this occurs.
|
2013-04-24 22:57:10 +02:00
|
|
|
+
|
2011-10-16 13:31:57 -03:00
|
|
|
[fedora-git]
|
|
|
|
releaser = tito.release.FedoraGitReleaser
|
|
|
|
branches = master el5 el6 f14 f15 f16
|
2013-06-19 11:30:53 -05:00
|
|
|
+
|
|
|
|
If you would like to build (ie - koji) against a different target than what is
|
|
|
|
default for the FedoraGit/DistGit branch currently being worked on it can be
|
|
|
|
done like the following example.
|
|
|
|
+
|
|
|
|
NOTE: The formatting of build_targets in the following example is
|
|
|
|
git_branch:koji_build_target and the following custom build targets are just
|
|
|
|
place holders for the example and aren't likely to exist in Fedora's koji
|
|
|
|
+
|
|
|
|
[fedora-git-custom-target]
|
|
|
|
releaser = tito.release.FedoraGitReleaser
|
|
|
|
branches = master el6 f19
|
|
|
|
build_targets = master:custom-target el6:el6-custom-target f19:f19-custom-target
|
|
|
|
+
|
2011-10-16 13:31:57 -03:00
|
|
|
|
2013-04-24 22:57:10 +02:00
|
|
|
tito.release.DistGitReleaser::
|
|
|
|
Same as FedoraGitReleaser, but use rhpkg instead of fedpkg.
|
|
|
|
|
2011-10-16 13:31:57 -03:00
|
|
|
tito.release.CvsReleaser::
|
2013-06-19 11:30:53 -05:00
|
|
|
Releaser which will submit builds through CVS build systems. (no longer useful
|
|
|
|
for Fedora) The CVS module is checked out, sources, spec file, and patches are
|
|
|
|
synced and committed, the release is tagged (make tag), and then submitted to
|
|
|
|
the build system. (make build)
|
2013-04-24 22:57:10 +02:00
|
|
|
+
|
2011-10-16 13:31:57 -03:00
|
|
|
[cvs]
|
|
|
|
releaser = tito.release.CvsReleaser
|
|
|
|
cvsroot = :ext:myuser@cvs.fedoraproject.org:/cvs/extra
|
|
|
|
branches = BRANCH1 BRANCH2
|
|
|
|
|
|
|
|
tito.release.KojiReleaser::
|
2013-06-19 11:30:53 -05:00
|
|
|
Releaser which create src.rpm and submit them into Koji. Can submit more then
|
|
|
|
one build at once.
|
2013-04-24 22:03:18 +02:00
|
|
|
+
|
2013-06-19 11:30:53 -05:00
|
|
|
NOTE: This is targeted for private instances of Koji. You can not submit
|
|
|
|
regular build into Fedora Koji using this releaser, because Fedora Koji do not
|
|
|
|
allow builds from src.rpm - for building into Fedora see FedoraGitReleaser
|
|
|
|
above.
|
2013-04-24 22:03:18 +02:00
|
|
|
+
|
|
|
|
[koji]
|
|
|
|
releaser = tito.release.KojiReleaser
|
|
|
|
autobuild_tags = my-koji-tag-rhel6 my-koji-tag-fedora18
|
|
|
|
+
|
2013-06-19 11:30:53 -05:00
|
|
|
In this example, releaser will create src.rpm according the definition of
|
|
|
|
[my-koji-tag-rhel6] in tito.props. You usually want to set up there at least
|
|
|
|
disttag. See KOJI section in tito.props(5).
|
2013-04-24 22:03:18 +02:00
|
|
|
+
|
2013-06-19 11:30:53 -05:00
|
|
|
If --scratch option or SCRATCH environment variable is set, package is build
|
|
|
|
as scratch in Koji.
|
2013-04-24 22:03:18 +02:00
|
|
|
+
|
2013-06-19 11:30:53 -05:00
|
|
|
You can specify KOJI_OPTIONS in titorc(5) and it is passed to koji command as
|
|
|
|
option. Usually you want to specify at least --config option.
|
2013-04-24 22:03:18 +02:00
|
|
|
+
|
|
|
|
Variable autobuild_tags is required for KojiReleaser.
|
2011-10-16 13:31:57 -03:00
|
|
|
|
2013-04-24 22:57:10 +02:00
|
|
|
tito.release.KojiGitReleaser::
|
2013-06-19 11:30:53 -05:00
|
|
|
Build into Koji through dist-git. It behaves as KojiReleaser. Only difference
|
|
|
|
is that src.rpm is not passed to Koji. Instead is sent to koji git hash from
|
|
|
|
which Koji should build package.
|
2013-04-24 22:57:10 +02:00
|
|
|
+
|
|
|
|
Note: This feature is not in upstream Koji (although is submited for long time).
|
|
|
|
+
|
2013-06-19 11:30:53 -05:00
|
|
|
Please do not confuse with FedoraGitReleaser. KojiGitReleaser is intended for
|
|
|
|
private instances of Koji.
|
2013-04-24 22:57:10 +02:00
|
|
|
+
|
2013-06-19 11:30:53 -05:00
|
|
|
You need to specify git_url, which specify url of git repository. This url
|
|
|
|
needs to be reachable from Koji.
|
2011-10-16 13:31:57 -03:00
|
|
|
|
|
|
|
EXAMPLE
|
|
|
|
-------
|
|
|
|
|
2012-07-16 23:01:38 +00:00
|
|
|
; Release into fedora-15-x86_64 yum repo
|
2011-10-16 13:31:57 -03:00
|
|
|
[yum-f15-x86_64]
|
|
|
|
releaser = tito.release.YumRepoReleaser
|
|
|
|
builder = tito.builder.MockBuilder
|
|
|
|
builder.mock = fedora-15-x86_64
|
2011-11-25 16:31:37 -04:00
|
|
|
rsync = fedorapeople.org:/srv/repos/dgoodwin/tito/fedora-15/x86_64/ fedorapeople.org:/srv/repos/dgoodwin/tito/fedora-15/x86_64/
|
2011-10-16 13:31:57 -03:00
|
|
|
|
2012-07-16 23:01:38 +00:00
|
|
|
; Release into el6 yum repository. specify builder.test=1 so that
|
|
|
|
; we build on latest commit (instead of latest tito tag)
|
2011-10-16 13:31:57 -03:00
|
|
|
[yum-el6-x86_64]
|
|
|
|
releaser = tito.release.YumRepoReleaser
|
|
|
|
builder = tito.builder.MockBuilder
|
|
|
|
builder.mock = epel-6-x86_64
|
2012-03-14 13:09:40 -03:00
|
|
|
builder.test = 1
|
2013-04-24 12:41:13 +02:00
|
|
|
scl = ruby193
|
2012-07-16 23:01:38 +00:00
|
|
|
rsync = remoteserver.org:/srv/repos/el6/testing/x86_64
|
|
|
|
|
|
|
|
; Upload into source repository
|
|
|
|
[yum-fc15-sources]
|
|
|
|
releaser = tito.release.YumRepoReleaser
|
|
|
|
builder = tito.builder.MockBuilder
|
|
|
|
builder.mock = fedora-15-x86_64
|
|
|
|
filetypes = srpm
|
|
|
|
rsync = remoteserver.org:/srv/repos/fedora-15/SRPMS
|
|
|
|
|
|
|
|
; el5 yum repository. Overloading createrepo_command to make
|
|
|
|
; el5 compatible repo.
|
|
|
|
[yum-el5-i386]
|
|
|
|
releaser = tito.release.YumRepoReleaser
|
|
|
|
builder = tito.builder.MockBuilder
|
|
|
|
builder.mock = epel-5-i386
|
|
|
|
createrepo_command = createrepo -s sha1
|
|
|
|
rsync = remoteserver.org:/srv/repos/rhel5/i386
|
2011-10-16 13:31:57 -03:00
|
|
|
|
|
|
|
[cvs]
|
|
|
|
cvsroot = :gserver:cvs.example.com:/cvs/dist
|
|
|
|
branches = FEDORA-15
|
|
|
|
|
2013-04-18 13:25:28 -07:00
|
|
|
; rsync tgz file to remote site with custom rsync arguments
|
2012-07-16 23:01:38 +00:00
|
|
|
[rsync]
|
|
|
|
releaser = tito.release.RsyncReleaser
|
|
|
|
builder = tito.builder.MockBuilder
|
|
|
|
builder.mock = fedora-15-x86_64
|
|
|
|
filetypes = tgz
|
|
|
|
rsync = remoteserver.org:/srv/tarballs/
|
2013-04-18 13:25:28 -07:00
|
|
|
rsync_args = -rlvzpt
|