Difference between revisions of "Online release"

From GlueXWiki
Jump to: navigation, search
m
 
Line 38: Line 38:
  
 
  $ build_online_release -h
 
  $ build_online_release -h
 +
 
  Usage:  
 
  Usage:  
   build_online_release [options] directoryName
+
   build_online_release [options] someReleaseDirectory
 +
 +
Builds/installs software in an existing online release directory someReleaseDirectory.  Optionally can check out
 +
all online software packages from SVN into a new directory structure, or can  update an existing directory structure
 +
to the latest SVN version.  SVN version can be the default or a tagged version.
 +
 
 +
 +
Examples:
 +
 +
To check out online software into a new directory structure newRelease:
 +
    build_online_release newRelease --checkout
 +
 +
To update and rebuild an existing release:
 +
    build_online_release oldRelease --update
 +
 +
To just rebuild an existing release:
 +
  build_online_release oldRelease
 +
 +
Note: the default SVN repository is:  https://halldsvn.jlab.org/repos/trunk/online/packages
 +
      the default tags repository is:  https://halldsvn.jlab.org/repos/tags/online/packages
 
   
 
   
Builds/installs software in an existing online release/installation found in directoryName.
 
Optionally can create a new installation by checking out the latest version from SVN, or can update
 
an existing installation to the latest SVN version.  SVN version can be the default or a tagged
 
version.
 
 
   
 
   
 
  Options:
 
  Options:
Line 64: Line 80:
 
     --tagName=TAGNAME  Tag name of tagged version
 
     --tagName=TAGNAME  Tag name of tagged version
 
   
 
   
  Note...this script does not modify the SVN repository in any way, in particular it does NOT create
+
  Note...does not modify the SVN repository in any way, in particular it does NOT create tagged
  tagged versions or releases in SVN.
+
  versions in SVN.

Latest revision as of 14:56, 24 May 2013

How To Make an Online Release

Official online releases must be made from the hdsys account. You can also make a release in your own area. Note that by the word "release" I do NOT refer to tagged releases in an SVN repository, rather to online code distributions to an installation or release directory:


1. For official releases log into the hdsys account on the Hall D online computing cluster and cd to the release area. If you don't know how to do this then you should not be making official releases! If you are just making a private release then log into your own account and cd to wherever you want to make the release.


2. Get a copy of the release script:

$ svn cat https://halldsvn.jlab.org/repos/trunk/online/packages/buildScripts/scripts/build_online_release > build_online_release

(See help text below)


3. Set PATH to point to gcc 4.8.0 (or whatever compiler you want) and set LD_LIBRARY_PATH accordingly (eventually this will be automated):

$ setenv PATH /apps/gcc/4.8.0/bin:"$PATH"
$ setenv LD_LIBRARY_PATH /apps/gcc/4.8.0/lib64:/apps/gcc/4.8.0/lib:"$LD_LIBRARY_PATH"


4. Set environment variables needed for the build (eventually this will be automated):

$ setenv CMSGROOT       /gluex/coda_install_dir/Linux-x86_64
$ setenv EVIOROOT       /gluex/coda_install_dir/Linux-x86_64
$ setenv ETROOT         /gluex/coda_install_dir/Linux-x86_64
$ setenv CODAOBJECTROOT /gluex/coda_install_dir/Linux-x86_64


5. Create new release in current working directory, check out all packages, build and install everything

$ build_online_release myRelease --checkout


Script usage and options:

$ build_online_release -h

Usage: 
 build_online_release [options] someReleaseDirectory

Builds/installs software in an existing online release directory someReleaseDirectory.  Optionally can check out 
all online software packages from SVN into a new directory structure, or can  update an existing directory structure
to the latest SVN version.  SVN version can be the default or a tagged version.
 

Examples:

To check out online software into a new directory structure newRelease:
   build_online_release newRelease --checkout

To update and rebuild an existing release:
   build_online_release oldRelease --update

To just rebuild an existing release:
  build_online_release oldRelease

Note: the default SVN repository is:   https://halldsvn.jlab.org/repos/trunk/online/packages
     the default tags repository is:  https://halldsvn.jlab.org/repos/tags/online/packages


Options:
 -h, --help            show this help message and exit

 Operation Options:
   --checkout          Check out code before build/install
   --update            Update existing code before build/install
   --noBuild           Do not build anything
   --noCPP             Do not build C/C++
   --noJava            Do not build Java
   --noInstall         Do not install
   --force             Ignore errors in options

 Repository Options:
   --repo=REPO         SVN repository URL
   --tagsRepo=TAGSREPO
                       SVN repository URL for tagged versions
   --tagName=TAGNAME   Tag name of tagged version

Note...does not modify the SVN repository in any way, in particular it does NOT create tagged
versions in SVN.