One geek's ramblings on Linux, open source, gaming, and whatever else catches his attention.

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

Building a Private Cloud: Experimenting with GlusterFS

I've had this nagging desire for how I *want* cloud computing to manifest in my day to day life. I currently spend my workday on a desktop computer with a pile of storage, and then make use of an Android tablet for couch surfing and an Android phone when out of the house. I rent a small virtual private server for my web hosting needs, and make use of Amazon S3 for encrypted backups of about 10 gigs of my most critical personal data.

What's New in Tito 0.4.0: (mock builds, yum repo publishing)

I've just submitted Fedora updates for a new tito release 0.4.0, packages are also available for EL6, F15, and F16 in the devel repo. (tito is a build tool for RPM based projects using git, more information available here)

0.4.0 contains some significant changes and new functionality that could use some explanation.

Mock Builds

Firstly tito can now use Fedora's mock tool to build packages locally for other OS/versions/architectures, theoretically anything mock can handle on your system. This is contrary to the normal behaviour of "tito build" where we just want to quickly spin up an RPM for the system in question, thus it doesn't really make sense to configure as the default builder for your project.

Tito 0.3.2 Released

Just bundled up a long overdue release of Tito. (a build tool for RPM based projects using git.)

Changes include:

  • Initial support for submitting builds through Fedora Git to all configured branches.
  • Added support for bugzilla ID extraction from commit messages when generating a build system commit message.
  • Added --dry-run option for building releases.
  • Optional emails in changelog.
  • Prompt to optionally modify CVS/git build system commit messages.
  • Added --list-tags option to build command.
  • Improved error reporting when spec file has errors.
  • Added manpages for both CLI and config file. (except on EL5)
  • Fixed several missing dependencies.
  • Many other bugfixes.

Tito 0.2.0

Tito is a build tool for rpm based projects using git to help with tagging releases, building sources and rpms reliably, deploying test code as rpms, patching and building a downstream git project against some upstream, and building releases via Fedora CVS and Koji. For more information please see the main project page.

Changes in 0.2.0:

  • Added tito tag --undo.
  • Build test rpms with shorter filenames that can be easily upgraded.
  • Added option to auto-install rpms after build.
  • Added option to pass custom options to rpmbuild.
  • Added tito-dev script to run directly from source.
  • Better output after tagging.
  • Display rpms built on successful completion.
  • Bump versions in setup.py during tagging if possible.
  • Added lib_dir setting for custom taggers/builders.
  • Allow restricting build to a minimum version of tito.

Fedora 12 and the Dell Inspiron 15

Just a quick note on installing Fedora 12 on the wife's new Inspiron 15. She's been a Ubuntu user on her previous laptop for a year or so now as suspend/wireless problems just continually popped up after Fedora updates or upgrades, but with new hardware I figured it was time for another go.

Once installed it was awesome, full resolution (Intel graphics), working sound, working wireless (I sprung for the upgrade to Intel wireless which IMO pays off for anyone planning to run Linux), working webcam, and most impressive of all beautifully working suspend, all without doing anything. Really working nicely for her.

Fedora 12 Pre-upgrade: Relative Success

Perhaps for the first time ever, I've managed to upgrade Fedora with preupgrade. This was relatively without incident, just one irritating bug with /boot running out of disk space as preupgrade tries to store the 120M install image here on a partition that by default, is only 200M. Relatively painless workaround documented here. Preupgrade itself was quite neat in that the upgrade appears to be completely automated, aside from selecting the grub boot entry and confirming network details as part of the above workaround, I think the whole thing would have run to completion and rebooted without me being there at all. (which is nice as the machine is in my basement)

Upon reboot Eclipse would crash with a permission denied error, appears the upgrade re-enabled selinux. Fixable with "setsebool -P allow_execstack 1", and I'm going to try to keep selinux enabled this time for as long as possible.

Introducing Cobbler4j

I've been doing some work recently on cobbler4j, a small Java library for interacting with Cobbler over XMLRPC based on the work done to integrate Cobbler into Spacewalk.

Right now the library basically allows you to open up a connection, and interact with the core object types (repos, distros, profiles, systems) as if they were actual Java objects. In the future this will likely grow to include other operations and background tasks. And as a required disclaimer, this is still very much a work in progress and should not be considered stable.

The cobbler4j wiki page covers most of the high level details on what it does and how to use it.

Here's a sample program:

import org.fedorahosted.cobbler.CobblerConnection;
import org.fedorahosted.cobbler.Finder;

Tito Announces Solo Career

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.

Features

  • 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.

New Granola Screenshots

granola-20090719-integratedmap.png

granola-20090719-metrics.png

It's doing most everything I want now, just need to clean up some rough edges (quite a few actually) and roll it up for a release.

Syndicate content