GENESIS: Documentation

Related Documentation:

Software Packaging for GENESIS 3

In some cases, it is not always ideal to use a Developer Installation. A user or system administrator may simply wish to install binaries. Thanks to the Developer Package there are utilities for creating RPM and Debian packages, as well as source tarballs. The scripts to perform these actions are:

With these scripts, a developer can create packages from their own developer installation with a single command. This way it is possible to create your own changes on your machine, and distribute those changes for a user via a specially made package.

Release Variables

By default aspects of the package produced such as: version number, release label, packager email, and the package name, are defined in the Release expand configuration. A typical release-expand.config file will look like this:

#!/usr/bin/perl -w  
my $config  
    = {  
       files => [  
       labels => {  
  email => ’’,  
  label => ’alpha’,  
  major => ’0’,  
  minor => ’0’,  
  micro => ’0’,  
  monotone_id => ‘mtn automate get_current_revision_id‘,  
  package => ’developer’,  
return $config;

To change release information, simply update values in the labels hash.


To build a package for all GENESIS 3 components, simply invoke one of the neurospaces_pkg* family of scripts on the command line. There are flags available to allow for control over which packages you want built, where to store the built packages, and the release information to tag your distributions with. The flags are:

For an example, I wish to create an RPM package for only the model container, with a special release tag ”Newest”. I want my package in a special drop directory that a user can access. I invoke neurospaces_pkgrpm with the following arguments:

neurospaces_pkgrpm --regex model-container --dir /my/drop/directory --release-tag Newest

On my 64-bit intel based machine, the resulting file is named model-container-0.0.0-Newest.x86_64.rpm, and it is stored in my given drop directory. The architecture section of the file ”x86_64” was added automatically my the RPM build.

For another example, I wish to create tarballs of all packages, tag it with the current date ”6.3.2010” and place them all in a directory called ”/var/www/tarballs”. I use the neurospaces_pkgtar command with the following arguments:

neurospaces_pkgtar --dir /var/www/tarballs --release-tag 6.3.2010

This quickly gives us all of our tarballs in our directory:

developer-0.0.0-6.3.2010.tar.gz ns-sli-0.0.0-6.3.2010.tar.gz  
exchange-0.0.0-6.3.2010.tar.gz ssp-0.0.0-6.3.2010.tar.gz  
gshell-0.0.0-6.3.2010.tar.gz studio-0.0.0-6.3.2010.tar.gz  
heccer-0.0.0-6.3.2010.tar.gz userdocs-0.0.0-6.3.2010.tar.gz