Difference between revisions of "Online release"
m |
|||
Line 2: | Line 2: | ||
− | Official online releases must be made from the hdsys account. You can also make a release in your own area: | + | 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: |
Line 10: | Line 10: | ||
2. Get a copy of the release script: | 2. Get a copy of the release script: | ||
− | $ svn cat https://halldsvn.jlab.org/repos/trunk/online/packages/buildScripts/scripts/ | + | $ 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: | + | 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 environment variables needed for the build | + | 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 | ||
Line 30: | Line 29: | ||
− | 5. Create release in current working directory, check out all packages, build and install everything | + | 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] directoryName | ||
+ | |||
+ | 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: | ||
+ | -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...this script does not modify the SVN repository in any way, in particular it does NOT create | ||
+ | tagged versions or releases in SVN. |
Revision as of 17:04, 23 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] directoryName 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: -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...this script does not modify the SVN repository in any way, in particular it does NOT create tagged versions or releases in SVN.