Tito 0.4.6 Released

New version of tito released today, features and fixes are as follows:

  • Specify "builder.test = 1" in any releasers.conf target to release "test" builds. This is only really useful if you're doing a nightly build and would rather not have to constantly tag releases. i.e.
    [yum-f16-x86_64-nightly]
    releaser = tito.release.YumRepoReleaser
    builder = tito.builder.MockBuilder
    builder.mock = fedora-16-x86_64
    builder.test = 1
    rsync = fedorapeople.org:/srv/repos/dgoodwin/tito-devel/fedora-16/x86_64/
    
  • A new "speedup" builder argument is available for the mock builder. If you're doing repeated builds in mock, you can add this option to skip mock init and add some --no-clean options resulting in drastically faster builds. (for one of our GTK projects a build went from just under 8 minutes to about 15 seconds)

    Example: tito build --builder mock --builder-arg mock=epel-6-x86_64 --rpm --test --builder-arg=speedup

  • Added support for customizable changelog formats. See man 5 tito.props for details.
  • The error when /tmp/tito does not already exist has been fixed.
  • Fixed intermittent errors with rsync permissions during a yum repo release.

Thanks John Eckersberg, Jesus Rodriguez, and Michael Stead for their help with the above.

0.4.6 can be obtained from this yum repo. Fedora builds will be available shortly.

Comments

Hi, I've been using tito for

Hi, I've been using tito for some git-based projects. Very handy. I'll start looking at your koji interface soon to see if it'll work for me.

I still haven't dug into the source much; sigul and grinder (from pulp) have been giving me the most trouble. Can you tell me if tito has a workflow for modifying RPMs where the source comes in a non-git tarball, and the git tree contains everything else? Here's how I do it with my old system (I'm working on replacing its ugliness with some of the Fedora buildsys stuff). 'zrpmbuild' is a shell script that got way too big for its purpose:

# unpack SRPM; put sources in ./S and specfile in ./F
# (an artifact of an even older tool)
zrpmbuild --import pkg-1.2.3-1.src.rpm
# do an rpmbuild -bp with destination build/BUILD
zrpmbuild -bp
# go and edit files in build/BUILD; I use emacs, but for shell-scriptiness:
ed build/BUILD/pkg-1.2.3/src/foo.c
# create a patch with my changes; put in ./S/pkg-mychanges.patch
zrpmbuild --gen-patch pkg-mychanges.patch
# add the patch to the specfile
ed F/pkg.spec
# rebuild
zrpmbuild -ba

Yes, revision control is missing, but the specfile and all sources except the original tarball should be managed there.

What's the tito analog of this?

Hmm, if I'm following you, is

Hmm, if I'm following you, is this similar to what you are describing: https://github.com/dgoodwin/specs

Tarball and Sources checked directly into a git repo, and tito configured to do the builds and submit releases. Check out the configuration in rel-eng/, key part is the NoTgzBuilder.

Yup, like that. Sorry the OP

Yup, like that. Sorry the OP was so long and unclear.

Do you have a nifty way in your daily workflow to unpack tarballs, make edits, and generate a diff, all automatically (except the edits of course)? That's probably outside the scope of Tito, but it's what I'm really missing.

Also, storing the .tgz in git seems less than optimal, especially the really big ones. I may write a new builder that can be configured to find tarballs outside the git tree.

There is some stuff in tito

There is some stuff in tito for generating patches when you have an upstream git repo, and then a downstream git repo that you want to expand on, patch, and likely eventually push that work back to the upstream. There isn't really anything to do that if the source is not in an upstream git repo though.

Post new comment

The content of this field is kept private and will not be shown publicly.
Type the characters you see in this picture. (verify using audio)
Type the characters you see in the picture above; if you can't read them, submit the form and a new image will be generated. Not case sensitive.