I wrote two simple, but very useful scripts for Arch.
The first, mkrelease makes it simple to
create releases off an Arch archive, but re-get
-ing the source and
running a hook. It creates .tar.gz
archives for now.
To use it, you’ll need a file =mkrelease
in {arch}
or the current
dir, which will be read by the shell. At least, define version
here,
which returns the version used in the archive name. For example:
function version {
ruby -r rlml -e 'puts RLML::VERSION'
}
Optionally, you also may define a posthook
, to change files,
generate documentation, etc.
After configuring and running mkrelease
, you get a nice tarball in
your working directory, or the +releases
directory, if present.
The second script it likely to create some anger among fellow Arch users, because it’s a implementation of a controversial issue: expanding CVS-like keywords. tla-keywords is a Ruby script to do exactly this job.
It implements most of the useful CVS tags, such as $Author$
,
$Date$
, $Id$
, $Header$
, $Revision$
and $Source$
. There are some
Arch specifc keywords too, such as $Arch-Full-Id$
.
As a simple example, it converts: FULLVERSION = “$Id$” to : FULLVERSION = “$Id: rlml.rb 0.9 2004/07/23 11:44:12 chneukirchen devo $”
It’s not made to be used for ordinary source files, but when the
source leaves the Arch world, for example, after a release. (It works
nicely with above mkrelease
).
It modifies files in-place, and provides a special keyword to allow meaningful defaults, for example (this is one line):
FULLVERSION = `tla logs -f | tail -1` # $Arch-Replace: \
`tla logs -f | tail -1` -> $Arch-Revision$ $
will get replaced with $Arch-Revision$
(which has already been expanded).
Happy hacking!
Hefe ist ein kleines Lebewesen, das Zucker frisst, und dann Alkohol
pisst und Kohlenstoffdioxid furzt…
[Ja, die Bierbrauer… ;-)]
NP: Steppenwolf—Born To Be Wild