...
In order to actually create a build using a new OS or a new package, you have to first create a build package configuration in the settings database table. A build package configuration corresponds to a unique combination of packageId, osId, variantId, and versionTypeId. For each variation in any one of those ID values, you need a separate set of settings table entries. If you are just adding an OS to an existing package, you have to create about 19 entries per build package in the table. If you are adding a new package, there are a few additional entries, which apply across OSes and variants (but are unique the the different versionTypes) , that you also need to add.
Note: Sample scripts that have been used to add these settings to the database for various packages and OSes can be found in the sql-scripts directory under the home directory of the glastrm account on the central Unix machines at SLAC.
New Package Only Settings
...
Name | Required | Sample Value | Comments | ||||
---|---|---|---|---|---|---|---|
automaticTrigger | true | if not included it is assumed to be false | |||||
buildLocation | /data/RM/ReleaseManagerBuild/mountainlion-x86_64-64bit-gcc44/Debug/ScienceTools/LATEST-1-${VERSION} | ||||||
compileTime | 10800000 | ||||||
cvsCommand | cvs | ||||||
cvsRoot | :ext:centaurusa.slac.stanford.edu:/nfs/slac/g/glast/ground/cvs | ||||||
cvsRsjcvsRsh | ssh | ||||||
develReleaseLocation | ${BUILDLOCATION}/ScienceTools-LATEST- 1-${VERSION}-devel.tar.gz | ||||||
distributionLocation | /nfs/farm/g/glast/u35/ReleaseManagerBuild/mountainlion-x86_64-64bit-gcc44/Debug/ScienceTools | ||||||
distributionPath | |||||||
/data/RM/ReleaseManagerBuild/mountainlion-x86_64-64bit-gcc44/Debug/ScienceTools | only needed on Mac and Windows | ||||||
externalsLocation | /data/RM/externals/mountainlion-x86_64-64bit-gcc44 | ||||||
extInstallerLocation | /nfs/farm/g/glast/u35/externals/mountainlion-x86_64-64bit-gcc44/${EXTNAME}-${EXTVERSION}.tar.gz | ||||||
extInstallerPath | /data/RM/externals/mountainlion-x86_64-64bit-gcc44/${EXTNAME}-${EXTVERSION}.tar.gz | only needed on Mac | |||||
initialVersion | 4035 | Should be included on all new OS additions or the RM will try to build all old versions | |||||
NotifyOwners | true | only included for builds you want e-mails to go out on. If not included it is assumed to be false. | |||||
sconsLocation | /data/RM/tools/SCons/2.1.0/bin/scons | ||||||
sconsOptions | --rm,-k,--with-GLAST-EXT=${GLAST_EXT},--compile-debug,--variant=mountainlion-x86_64-64bit-gcc44-Debug,--with-cc=/opt/local/bin/gcc,--with-cxx=/opt/local/bin/g++,all | ||||||
sourceReleaseLocation | ${BUILDLOCATION}/ScienceTools-LATEST- 1-${VERSION}-source.tar.gz | ||||||
testTime | 1800000 | ||||||
userReleaseLocation | ${BUILDLOCATION}/ScienceTools-LATEST- 1-${VERSION}-user.tar.gz | ||||||
workflowStart | Launch | This has a value of 'Checkout' for the NFS based builds |
= required setting
= optional setting but usually present (see the Release Manager Settings page for setting details and use)
...
Note: Many of these settings are the same across all the build packages and could probably have been made generic and only had to have been set once per package+versionType combination but this is the way Navid set it up.
Example Scripts
There are example scripts that have been used to add these settings to the database for various packages and OSes that you can look at to see samples for other OSs or you can look up the values in the database. The sample scripts can be found in the sql-scripts directory under the home directory of the glastrm account on the central Unix machines at SLAC.