Difference between revisions of "Online release"

From GlueXWiki
Jump to: navigation, search
m
m
 
(3 intermediate revisions by the same user not shown)
Line 2: Line 2:
  
  
Official online releases must be made from the hdsys account.  You can make a release in your own area by following the instructions below, with some obvious modifications.
+
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. Log into the hdsys account on the Hall D online computing cluster.  If you don't know how to do this then you should not be making official releases!
+
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. Check out the script that makes the release:
+
2. Get a copy of the release script:
  
  $ svn co https://halldsvn.jlab.org/repos/trunk/online/packages/buildScripts/scripts/create_online_release
+
  $ svn cat https://halldsvn.jlab.org/repos/trunk/online/packages/buildScripts/scripts/build_online_release > build_online_release
 
   
 
   
usage:
+
(See help text below)
    create_online_release [-noBuild] [-noCheckout] [-noCPP] [-noJava] [-noInstall]
+
  
  
3.  Set PATH to point to gcc 4.8.0 (or whatever compiler you want) and set LD_LIBRARY_PATH accordingly:
+
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 PATH /apps/gcc/4.8.0/bin:"$PATH"
Line 22: Line 21:
  
  
4.  Set package environment variables needed for the build.  We are working on a script to do this, until then:
+
4.  Set environment variables needed for the build (eventually this will be automated):
  
  $ setenv CMSGROOT /gluex/coda_install_dir/Linux-x86_64
+
  $ setenv CMSGROOT       /gluex/coda_install_dir/Linux-x86_64
  (set others as needed, esp. for EVIO, ET, CODAOBJECT)
+
  $ 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 release dirs, check out, build and install everything
+
5.  Create new release in current working directory, check out all packages, build and install everything
  
  $ create_online_release myRelease
+
  $ 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.

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.