tito/doc/builders.mkd
2014-02-27 12:34:04 -04:00

1.3 KiB

Tito Builders

tito.builder.FetchBuilder

An unorthodox builder which can build packages for a git repo which does not actually have any tito footprint. The location of sources, and the version/release to assume we're building, come from a configurable strategy.

One strategy is currently included which parses a CLI argument to the build command which points to the source to use.

Configuration for FetchBuilder in rel-eng/tito.props would look like:

[buildconfig]
builder = tito.builder.FetchBuilder

[builder]
fetch_strategy = tito.builder.fetch.ArgSourceStrategy

Once configured a build can be run with:

tito build --rpm --arg=source=/home/username/extsrc-0.0.1.tar.gz

Note that this does not require a tito tag to have been run, and technically the rel-eng/tito.props does not have to be committed to the git repo. This builder can be used on a repository you do not control or do not wish to push tito configuration into.

The ArgSourceStrategy has a simple mechanism where it will try to parse the version and release to build from the filename with a regular expression. If you need something more advanced, you can override any or all of this behaviour by implementing a custom strategy for the fetch builder. (see lib_dir in man 5 tito.props)