tito/tito.8.asciidoc

231 lines
5.1 KiB
Text
Raw Normal View History

2010-09-06 06:10:21 +08:00
tito(8)
=======
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]
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)`
. Initialize a `rel-eng` directory
. Test
.. Make changes to source
.. Use git to commit changes
.. Build: `tito build --rpm --test`
. Finalize a release
.. Tag: `tito tag`
.. Push: `git push && git push --tags`
.. Build: `tito build [OPTIONS]`
OPTIONS
-------
`tito init`
~~~~~~~~~~~
This will create a top-level metadata directory called "rel-eng/" and commit it
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
patches applied within it), you can change the default_tagger class in
rel-eng/tito.props to ReleaseTagger. This will affect all packages in this git
branch; if you'd prefer to do this on a per-package basis you can do so in a
package specific `tito.props`.
-h, --help::
show this help message and exit
--debug::
print debug messages
--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.
--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
-u, --undo::
Undo the most recent (un-pushed) tag.
`tito build [options]`
~~~~~~~~~~~~~~~~~~~~~~
-h, --help::
show this help message and exit
--debug::
print debug messages
--offline::
do not attempt any remote communication (avoid using
this please)
-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`
--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
--list-tags::
List tags for which we build this package. If you set --debug together
with this option, you will see all tags and whether they are whitelisted
or blacklisted.
--only-tags='KOJI_TAG'::
Build in koji only for specified tags. Can be specified multiple times.
2010-09-06 06:10:21 +08:00
--upload-new-source='CVS_NEW_SOURCES'::
Upload a new source tarball to CVS lookaside. (i.e.
runs 'make new-sources') Must be used until 'sources'
file is committed to CVS.
--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
path or one of the pre-configured shortcuts. Only useful if you need to override the default builder for some purpose, such as testing a build via mock.
--builder-arg='BUILDER_ARGS'::
Custom arguments specific to a particular builder. (key=value)
`tito release [options] TARGETS`
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Runs the release targets defined in rel-eng/releasers.conf.
-h, --help::
show this help message and exit
--debug::
print debug messages
--offline::
do not attempt any remote communication (avoid using
this please)
-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.
--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
2010-09-06 06:10:21 +08:00
`tito report`
~~~~~~~~~~~~~
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.
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::
tito build --builder mock --builder-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[]