Born deep in the depths of the Spacewalk project, Tito is a build tool for RPM based projects using git. It is written in Python and Perl and distributed under the GPLv2. Originally this code lived directly in the Spacewalk git repository, but the functionality seemed like it may be useful enough to stand on it's own so we've decided to clean it up and release as a separate project.
- Tag new releases with incremented RPM version or release.
- Auto-generate spec file changelog based on git history since last tag.
- Create reliable tar.gz's with consistent checksums from any tag.
- Build source and binary rpms off any tag.
- Build source and binary "test" rpms off most recently committed code.
- Build multiple source rpms with appropriate disttag's for submission to a Koji build system. (not yet documented)
- On a per-branch basis in git:
- Maintain concurrent version streams.
- Vary the way packages are built/tagged.
- Report on any diffs or commits messages missing since last tag.
- Build packages off an "upstream" git repository, where modifications in the "downstream" git repository will be applied as a patch in the source rpm. (not yet documented)
- Manage all of the above for a git repository with many disjoint packages within it.
- Submit builds directly to Fedora Git and Koji.
- tito 0.3.2 (2011-04-26)
- tito 0.2.0 (2010-06-05)
- tito 0.1.1 (2009-08-25)
Please see the included README, available on the web at github.
Also available on github.
For feedback, help, or those looking to contribute please stop by #tito on Freenode.
You can email me at dgoodwin at rm-rf.ca. No mailing list at the time but if it looks like one will be useful I'll set something up.