Difference between revisions of "Online release"
m |
m |
||
(8 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
− | =How To Make an Online Release | + | =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 | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | $ svn | + | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | (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 PATH /apps/gcc/4.8.0/bin:"$PATH" | ||
Line 45: | Line 21: | ||
− | + | 4. Set environment variables needed for the build (eventually this will be automated): | |
− | $ setenv | + | $ setenv CMSGROOT /gluex/coda_install_dir/Linux-x86_64 |
− | $ setenv | + | $ 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. |
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.