Releaser

Releaser is a set of rc scripts to help manage and automate software package releases.

Every software package should have a .pkg file containing necessary information about the project and modules to be used.

The prerel script runs the selected pre/ modules and uses the .pkg information and the input from the user to generate a release specific .rel file. Typical tasks in pre modules includ e building of tarballs from vcs repositories, generation of changelogs, etc.)

postrel uses the .rel and other output of the pre scripts to actually ‘execute’ the release by running the post modules, this usually includes uploading tarballs, sending announcements to m ailing lists, uploading news page in website, freshmeat submission, etc.

Setup requirments

You will need Plan 9 from User Space (mostly for the rc shell).

To use the post/fm action make sure you put your freshmeat auth code in ~/.fm_auth_code (see the the Snake Steak script page for details).

You need a ~/.relrc that sets the variable rel_install_path, for example:

$ cat ~/.relrc
rel_install_path=/home/uriel/dev/releaser/

Pkg format

The .pkg files are evaluated by the rc shell, and consist mostly of variable deffinitions. See the examples in etc/ for reference.

Developement

You can check out the latest code with mercurial:

$ hg clone http://hg.cat-v.org/releaser/

Or browse the online repository here.

TODO

License

Public domain.

See Also