Lars Wirzenius recently released, and packaged for Debian, a simple script to make release tarballs. He calls it Unperish.
It makes me wonder how many other people use that kind of system?
Of the top of my head the only similar thing I can recall using is Brad Fitzpatrick's ShipIt - another moduler/plugin-based system (Perl rather than Python this time.)
For my needs I tend to just write a Makefile which has a "dist" target, and then I have a simple script called "release". This runs:
- make dist / make release.
- creates a gpg signature of the release.
- scp's the resulting files to a remote source.
All this is configurable via a per-project .release file.
The configuration files are very simple, the script itself is almost trivial but being able to sit in a random project directory and have a new tarball on my webserver just by typing "release" is enormously useful.
There are times when I think I should make it a mini-project of its own, with the ability to auto-build Debian packages, etc. Other times I just think .. well its a hell of a lot better than my previous ad-hoc solution.
At the very least I think I will make the cosmetic change of updating the script to run "make test" if there is a test/ or t/ directory inside the generated tarball.
In real news - tomorrow I leave for a two week holiday with my partner's parents. Yesterday I got back from a night spent with her in York. The Bytemark staff night out. Lots of fun. Over too soon, but lots of fun.
Tags: brad, bytemark, christmas, lars, randomness, release, software, travel 3 comments