2010-09-06 06:10:21 +08:00
|
|
|
tito(8)
|
|
|
|
=======
|
2011-07-22 11:39:08 -04:00
|
|
|
include::man.asciidoc[]
|
2010-09-06 06:10:21 +08:00
|
|
|
|
|
|
|
NAME
|
|
|
|
----
|
|
|
|
tito - manage RPM based projects using git
|
|
|
|
|
|
|
|
|
|
|
|
SYNOPSIS
|
|
|
|
--------
|
|
|
|
tito init
|
|
|
|
|
|
|
|
tito tag [OPTIONS]
|
|
|
|
|
|
|
|
tito build --test --rpm
|
|
|
|
|
|
|
|
tito build [OPTIONS]
|
|
|
|
|
2013-04-23 08:52:12 -04:00
|
|
|
tito release [OPTIONS] TARGET
|
|
|
|
|
2010-09-06 06:10:21 +08:00
|
|
|
tito report
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
DESCRIPTION
|
|
|
|
-----------
|
|
|
|
|
|
|
|
After setting up a directory as a Git repo, use `tito`
|
|
|
|
to manage the tags and builds. A simple workflow may look like:
|
|
|
|
|
|
|
|
. Save user preferences as described in `titorc(5)`
|
2015-04-26 14:10:11 +02:00
|
|
|
. Initialize a `.tito` directory
|
2010-09-06 06:10:21 +08:00
|
|
|
. Test
|
|
|
|
.. Make changes to source
|
|
|
|
.. Use git to commit changes
|
|
|
|
.. Build: `tito build --rpm --test`
|
|
|
|
. Finalize a release
|
|
|
|
.. Tag: `tito tag`
|
2012-06-26 10:57:44 -03:00
|
|
|
.. Push: `git push && git push $ORIGIN $TAG`
|
2010-09-06 06:10:21 +08:00
|
|
|
.. Build: `tito build [OPTIONS]`
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
OPTIONS
|
|
|
|
-------
|
|
|
|
|
|
|
|
`tito init`
|
|
|
|
~~~~~~~~~~~
|
|
|
|
|
2015-04-26 14:10:11 +02:00
|
|
|
This will create a top-level metadata directory called ".tito/" and commit it
|
2010-09-06 06:10:21 +08:00
|
|
|
to git. This directory will store tito's configuration and package metadata on
|
|
|
|
a per branch basis. It will be filtered out when creating .tar.gz's.
|
|
|
|
|
|
|
|
NOTE: Your spec file should list the source as `%{name}-%{version}.tar.gz`
|
|
|
|
|
|
|
|
`tito tag [options]`
|
|
|
|
~~~~~~~~~~~~~~~~~~~~
|
|
|
|
|
2011-10-16 13:31:57 -03:00
|
|
|
By default, tito will tag by bumping the rpm version
|
2010-09-06 06:10:21 +08:00
|
|
|
(i.e. we bump the Z in X.Y.Z). If you'd prefer to bump the package
|
|
|
|
release instead (normally should just be used for changes to the spec file or
|
2014-03-07 14:29:10 -04:00
|
|
|
patches applied within it), you can change the tagger class in
|
2015-04-26 14:10:11 +02:00
|
|
|
.tito/tito.props to ReleaseTagger. This will affect all packages in this git
|
2010-09-06 06:10:21 +08:00
|
|
|
branch; if you'd prefer to do this on a per-package basis you can do so in a
|
|
|
|
package specific `tito.props`.
|
|
|
|
|
2018-09-16 12:31:59 -04:00
|
|
|
If you work in a OBS style git with a separate .changes file for the changelog,
|
|
|
|
change the tagger class to `tito.susetagger.SUSETagger`. The SUSETagger is based
|
|
|
|
on the VersionTagger.
|
|
|
|
|
2010-09-06 06:10:21 +08:00
|
|
|
-h, --help::
|
|
|
|
show this help message and exit
|
|
|
|
|
|
|
|
--debug::
|
2013-04-24 21:19:16 +02:00
|
|
|
print debug messages (can be also set using DEBUG environment variable)
|
2010-09-06 06:10:21 +08:00
|
|
|
|
|
|
|
--offline::
|
|
|
|
do not attempt any remote communication (avoid using
|
|
|
|
this please)
|
|
|
|
|
|
|
|
-o 'OUTPUTDIR', --output='OUTPUTDIR'::
|
|
|
|
Write temp files, tarballs, and RPMs to 'OUTPUTDIR'.
|
|
|
|
Create sub-directories as needed by rpmbuild(8).
|
|
|
|
(default `/tmp/tito`)
|
|
|
|
|
|
|
|
--tag-release::
|
|
|
|
Deprecated, no longer required.
|
|
|
|
|
|
|
|
--keep-version::
|
|
|
|
Use spec file version/release exactly as specified in
|
|
|
|
spec file to tag package.
|
|
|
|
|
2015-07-28 14:36:28 +01:00
|
|
|
--use-version='USE_VERSION'::
|
|
|
|
Update the spec file with the specified version.
|
|
|
|
|
2017-01-25 10:07:46 -05:00
|
|
|
--use-release='USE_RELEASE'::
|
|
|
|
Update the spec file with the specified release.
|
|
|
|
|
2010-09-06 06:10:21 +08:00
|
|
|
--no-auto-changelog::
|
|
|
|
Don't automatically create a changelog entry for this
|
|
|
|
tag if none is found
|
|
|
|
|
|
|
|
--accept-auto-changelog::
|
|
|
|
Automatically accept the generated changelog.
|
|
|
|
|
|
|
|
--auto-changelog-message='MESSAGE'::
|
|
|
|
Use 'MESSAGE' as the default changelog message for new
|
|
|
|
packages
|
|
|
|
|
2016-03-30 21:03:15 -04:00
|
|
|
--changelog='MESSAGE'::
|
|
|
|
Use 'MESSAGE' as the changelog when tagging, this can be specified
|
2017-01-02 13:11:36 +01:00
|
|
|
every time a package is tagged. Useful when needing to generate
|
2016-03-30 21:03:15 -04:00
|
|
|
custom changelogs. This will override the auto generated changelog.
|
|
|
|
|
2010-09-06 06:10:21 +08:00
|
|
|
-u, --undo::
|
|
|
|
Undo the most recent (un-pushed) tag.
|
|
|
|
|
2013-04-24 21:15:50 +02:00
|
|
|
NOTE: Tito will create automatic changelog from git commits.
|
|
|
|
Unless you specify one of auto options, tito will open text editor and allow
|
|
|
|
you to edit the text. Editor is by default. This can be changes by
|
|
|
|
environment variable EDITOR.
|
2010-09-06 06:10:21 +08:00
|
|
|
|
|
|
|
`tito build [options]`
|
|
|
|
~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
|
|
|
|
-h, --help::
|
|
|
|
show this help message and exit
|
|
|
|
|
|
|
|
--debug::
|
2013-04-24 21:19:16 +02:00
|
|
|
print debug messages (can be also set using DEBUG environment variable)
|
2010-09-06 06:10:21 +08:00
|
|
|
|
|
|
|
--offline::
|
2015-04-26 15:16:46 +02:00
|
|
|
do not attempt any remote communication. Avoid using
|
|
|
|
this please. See OFFLINE section below.
|
2010-09-06 06:10:21 +08:00
|
|
|
|
|
|
|
-o 'OUTPUTDIR', --output='OUTPUTDIR'::
|
|
|
|
Write temp files, tarballs and RPMs to 'OUTPUTDIR'.
|
|
|
|
(default /tmp/tito)
|
|
|
|
|
|
|
|
--tgz::
|
|
|
|
Build .tar.gz
|
|
|
|
|
|
|
|
--srpm::
|
|
|
|
Build srpm
|
|
|
|
|
|
|
|
--rpm::
|
|
|
|
Build srpm and rpm
|
|
|
|
|
|
|
|
-i, --install::
|
2011-10-16 13:31:57 -03:00
|
|
|
Install any binary RPMs being built.
|
2010-09-06 06:10:21 +08:00
|
|
|
|
|
|
|
WARNING: uses `sudo rpm -Uvh --force`
|
|
|
|
|
2017-01-24 15:39:02 -05:00
|
|
|
--no-sudo::
|
|
|
|
Don't escalate privileges when installing. Use when running this command with required privileges.
|
|
|
|
|
2010-09-06 06:10:21 +08:00
|
|
|
--dist='DISTTAG'::
|
|
|
|
Apply 'DISTTAG' to srpm and/or rpm. (e.g., ".el5")
|
|
|
|
|
|
|
|
--test::
|
2011-10-16 13:31:57 -03:00
|
|
|
use current branch HEAD instead of latest package tag.
|
2010-09-06 06:10:21 +08:00
|
|
|
|
|
|
|
--no-cleanup::
|
|
|
|
do not clean up temporary build directories/files
|
|
|
|
|
|
|
|
--rpmbuild-options='OPTIONS'::
|
|
|
|
Pass 'OPTIONS' to rpmbuild.
|
|
|
|
|
2011-10-16 13:31:57 -03:00
|
|
|
--builder='BUILDER'::
|
|
|
|
Override the normal builder by specifying a full class
|
2013-10-21 15:34:59 -03:00
|
|
|
path or one of the pre-configured shortcuts. Only useful if you need to
|
2013-06-19 11:30:53 -05:00
|
|
|
override the default builder for some purpose, such as testing a build via mock.
|
2011-10-16 13:31:57 -03:00
|
|
|
|
2014-04-08 09:08:44 -04:00
|
|
|
--arg='BUILDER_ARGS'::
|
2011-10-16 13:31:57 -03:00
|
|
|
Custom arguments specific to a particular builder. (key=value)
|
|
|
|
|
2013-04-12 15:48:21 +02:00
|
|
|
--scl='COLLECTION'::
|
2017-01-02 13:11:36 +01:00
|
|
|
Build package for software collection. This is mostly useful for building
|
2013-06-19 11:30:53 -05:00
|
|
|
src.rpm, because for rpm you want to define this option for specific tag in tito.props
|
2011-10-16 13:31:57 -03:00
|
|
|
|
2017-01-25 17:18:53 -05:00
|
|
|
--quiet::
|
|
|
|
Suppress output from the build process.
|
|
|
|
|
|
|
|
--verbose::
|
|
|
|
Expose more output from the build process.
|
|
|
|
|
2011-10-16 13:31:57 -03:00
|
|
|
|
|
|
|
`tito release [options] TARGETS`
|
|
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
|
2015-04-26 14:10:11 +02:00
|
|
|
Runs the release targets defined in .tito/releasers.conf.
|
2011-10-16 13:31:57 -03:00
|
|
|
|
|
|
|
-h, --help::
|
|
|
|
show this help message and exit
|
|
|
|
|
|
|
|
--debug::
|
2013-04-24 21:19:16 +02:00
|
|
|
print debug messages (can be also set using DEBUG environment variable)
|
2011-10-16 13:31:57 -03:00
|
|
|
|
|
|
|
--offline::
|
2015-04-26 15:16:46 +02:00
|
|
|
do not attempt any remote communication. Avoid using
|
|
|
|
this please. See OFFLINE section below.
|
2011-10-16 13:31:57 -03:00
|
|
|
|
|
|
|
-o 'OUTPUTDIR', --output='OUTPUTDIR'::
|
|
|
|
Write temp files, tarballs and RPMs to 'OUTPUTDIR'.
|
|
|
|
(default /tmp/tito)
|
|
|
|
|
|
|
|
--tag='PKGTAG'::
|
|
|
|
build a specific tag instead of the latest version
|
|
|
|
(e.g., `spacewalk-java-0.4.0-1`)
|
|
|
|
|
|
|
|
--dry-run::
|
|
|
|
Do not actually commit/push anything during release.
|
|
|
|
|
2012-11-20 17:13:34 -06:00
|
|
|
--no-build::
|
2013-10-21 15:34:59 -03:00
|
|
|
Do not perform a brew/koji build, only DistGit commit.
|
2012-11-26 10:56:43 -06:00
|
|
|
(only for Koji/DistGit releasers)
|
2012-11-20 17:13:34 -06:00
|
|
|
|
2011-10-17 12:18:23 -03:00
|
|
|
--all::
|
2015-04-26 14:10:11 +02:00
|
|
|
Run all release targets defined in .tito/releasers.conf.
|
2011-10-17 12:18:23 -03:00
|
|
|
|
2011-10-17 14:26:31 -03:00
|
|
|
--list::
|
2015-04-26 14:10:11 +02:00
|
|
|
List all release targets defined in .tito/releasers.conf.
|
2011-10-17 14:26:31 -03:00
|
|
|
|
2011-10-16 13:31:57 -03:00
|
|
|
--all-starting-with=ALL_STARTING_WITH::
|
|
|
|
Run all release targets starting with the given string. (i.e.
|
|
|
|
if you have defined release targets yum-f15 and yum-f14 in releasers.conf,
|
|
|
|
--all-starting-with=yum will run only these targets, and ignore any others.)
|
2010-12-07 16:35:06 +01:00
|
|
|
|
2012-12-27 22:12:28 -05:00
|
|
|
--scratch::
|
2013-04-16 10:43:49 +02:00
|
|
|
Perform a scratch build in Koji.
|
|
|
|
Can be specified using environment variable SCRATCH set to 1 as well.
|
2010-09-06 06:10:21 +08:00
|
|
|
|
2013-04-23 08:52:12 -04:00
|
|
|
--yes::
|
|
|
|
Do not ask to confirm release commits or edit their messages.
|
|
|
|
|
2013-08-28 12:19:02 -05:00
|
|
|
`tito report [options]`
|
2013-10-21 15:34:59 -03:00
|
|
|
~~~~~~~~~~~~~~~~~~~~~~~
|
2010-09-06 06:10:21 +08:00
|
|
|
|
|
|
|
Display a report of all packages with differences between
|
|
|
|
HEAD and their most recent tag, as well as a patch for
|
|
|
|
that diff. Used to determine which packages are in need
|
|
|
|
of a rebuild.
|
|
|
|
|
2013-08-28 12:19:02 -05:00
|
|
|
-h, --help::
|
|
|
|
show this help message and exit
|
|
|
|
|
|
|
|
--debug::
|
|
|
|
print debug messages (can be also set using DEBUG environment variable)
|
|
|
|
|
|
|
|
--offline::
|
2015-04-26 15:16:46 +02:00
|
|
|
do not attempt any remote communication. Avoid using
|
|
|
|
this please. See OFFLINE section below.
|
2013-08-28 12:19:02 -05:00
|
|
|
|
|
|
|
-o 'OUTPUTDIR', --output='OUTPUTDIR'::
|
|
|
|
Write temp files, tarballs and RPMs to 'OUTPUTDIR'.
|
|
|
|
(default /tmp/tito)
|
|
|
|
|
|
|
|
--untagged-diffs::
|
|
|
|
Print out diffs for all packages with changes between
|
|
|
|
their most recent tag and HEAD. Useful for determining
|
|
|
|
which packages are in need of a re-tag.
|
|
|
|
|
|
|
|
--untagged-commits::
|
|
|
|
Print out the list for all packages with changes
|
|
|
|
between their most recent tag and HEAD. Useful for
|
|
|
|
determining which packages are in need of a re-tag.
|
|
|
|
|
2015-04-26 15:16:46 +02:00
|
|
|
OFFLINE
|
|
|
|
-------
|
|
|
|
|
|
|
|
Offline lets you potentially do builds you can't reproduce, normally we check
|
|
|
|
that the tag you're building exists in the remote repo. If it hasn't been
|
|
|
|
pushed, it's quite easy to do a build that will result in a checksum that is no
|
|
|
|
longer the same. This is something you should try to avoid.
|
|
|
|
|
2011-10-16 13:31:57 -03:00
|
|
|
EXAMPLES
|
|
|
|
--------
|
|
|
|
|
|
|
|
Build and install a test package from the latest code in current git HEAD::
|
|
|
|
tito build --rpm --test -i
|
|
|
|
|
|
|
|
Overriding the default builder to build via mock instead::
|
2014-04-08 09:08:44 -04:00
|
|
|
tito build --builder mock --arg mock=fedora-15-x86_64 --rpm
|
2010-09-06 06:10:21 +08:00
|
|
|
|
|
|
|
|
|
|
|
SEE ALSO
|
|
|
|
--------
|
|
|
|
titorc(5)
|
2011-10-16 13:31:57 -03:00
|
|
|
releasers.conf(5)
|
|
|
|
tito.props(5)
|
2010-09-06 06:10:21 +08:00
|
|
|
|
|
|
|
/usr/share/doc/tito-*/README.mkd
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
AUTHORS
|
|
|
|
-------
|
|
|
|
include::AUTHORS[]
|