Skip to content
Jose Juan Tapia edited this page Mar 16, 2015 · 1 revision

Introduction

The perl script bng2/make_dist.pl automates the process of building a BNG distribution. Pre-compiled binaries may be included using the bindir switch, or alternately a binary may be compiled for the local architecture with the build switch.

Syntax

Here's the basic syntax (all arguments are optional):

  make_dist.pl OPTS

  --bngpath BNGDIR     path to BNGDIR repository
  --outdir  OUTDIR     path where distribution is built
  --bindir  BINDIR     path to directory of pre-compiled binaries
  --build              compile binary for local architecture
  --archive            create tar-zip distribution archive
  --validate           run validation tests (local machine only)
  --overwrite          overwrite existing distribution
  --version  VERSION   distribution version number
  --codename CODENAME  distribution codename

The distribution tree is built in the directory OUTDIR/BioNetGen-VERSION-CODENAME. By default, OUT is the current directory. BNGDIR should point to the bng2 subdirectory in the repository. The default value for BNGDIR is the same directory as the make_dist.pl script. If the archive switch is set, the script will create a tar-zip archive. By default, version and codename information is extracted from the VERSION file in bng2. Optional version and codename switches are provided to override the default behavior. Pre-compiled binaries may be included in the distribution by pointing BINDIR to a directory containing those binaries. Alternatively, a binary can be built for the local architecture by using the 'build' switch. Finally, the validation tests are run automatically if the 'validate' switch is set (local architecture only).

Notes

Some things to keep in mind:

  • Don't build a distribution in the repository.(Or if you do, don't check it in!)
  • build script should work on Unix-type systems (Linux and Mac)
  • build script won't work on Windows
  • versions have the regex format \d+\.\d+\.\d+

Public Distribution

Test distributions may be posted on googlecode under the following conditions:

  • The distribution passes all Validation and Unit tests (if any)
  • The distribution must be clearly labeled 'testing'

Developers should make an effort to try test distributions prior to release. When a distribution is deemed ready for release, it should be posted for download on googlecode.

Discussion

Some issues to consider:

  • Conventions for numbering and naming distributions
  • Automated compilation for all platforms.
Clone this wiki locally