Electricmonk

Ferry Boender

Programmer, DevOpper, Open Source enthusiast.

Blog

New building environment

Saturday, April 24th, 2004

Since thursday I’ve been working on creating a rather nice new building environment for my projects. The building environment will be used for automatic compilation of sourcecode and manuals and uploading to the proper webspaces.

My old environment was nice, but is now falling a bit behind. It can’t really handle building debian/rpm packages and manuals. Everything is tied together with rather hackish perl and bash scripts. This, in itself, isn’t such a bad thing, but they’re a bit too custom and don’t adapt well to new situations. The new building process should be somewhat better.

The new enviroment will consist of a bunch of generic and custom (per project) shell scripts. Everything will be pretty independant of the other scripts which will hopefully make things more adaptable. The scripts will help me automate some tasks like:

  • Leaching source from CVS and preparing it for packaging
  • Building source, binary, debian and rpm packages
  • Compile User and Developers manuals from DocBook SGML/XML
  • Create manual pages
  • Uploading/distributing the new packages and docs to the proper project-page
  • Perhaps even: Automatic announcements on maillinglists, project-pages, my homepage and freshmeat

I’m currently working on mapping out my current build environment and thinking about how I will make everything work seamlessly enough for it to remain flexible. Some stand-alone scripts are already finished, like a enhanced Search and Replace script for putting version numbers and contact information in place.

I almost forgot how much fun Bash scripting is. I’m still amazed at the fact that the concept of glueing together programs with nothing more than piping and redirection of output can become such a powerfull tool. There isn’t much that can’t be handled using shellscripting. Some things won’t be pretty though ;-)

Reminds of a project I had to perform during my eduction. We wrote a E-learning platform with a MySQL backend in Bash scripting. Ugly, but it worked. Pretty cool hacky stuff.

The text of all posts on this blog, unless specificly mentioned otherwise, are licensed under this license.