THIS PAGE IS OBSOLETE (32 bits version)

Consult the 64bits version IRTC64

Building and installing IRTC

General Instructions

Building, Installing

  1. Using a subversion client, checkout the version of the software you want to build. 1
  2. Using UNIX tools, change your current working directory to the directory you just checked out.
  3. Build by executing "./mkpackage.sh build_name ". 2
  4. Fix any build errors you encounter.
  5. Using UNIX tools, once compilation completes successfully check that the product is installed in "/lbt/irtc" in a directory named after the build.

Deploying the IRTC both on the Mountain and Downtown

  1. Using UNIX tools, copy the files from "/lbt/irtc/build_name" to nfs:/exports/lbt/irtc/build_name. 3
  2. Once people have tested, copy the product from "/lbt/irtc//build_name" to the mountain NFS server "nfs:/exports/lbt/irtc/build_name". 4
  3. Using UNIX tools, set the permissions and ownership of the files you just copied up to the mountain server appropriately.
  4. Activate the IRTC if you desire to do so.

Subversion management

  1. Once the compilation actually completes you will probably want to create a branch from the working copy that you built.5
  2. Once you move a build up to the mountain, copy any branches that will not be patched further into the releases directory in the IRTC repository.6

FootNotes

1 I usually perform the checkout on the build machine ("tcs-test") using the username "tcs" under the "irtc" directory giving it the name of the build I am about to perform. I do this so that other people know where to find the software I have built. The only requirement for the user is that you have write permission to the "/lbt/irtc" directory.

2 ./mkpackage.sh builds and installs the software

3 Not necessary if you built on a machine with an NFS mounted "/lbt" filesystem.

4 You can do this as you like, however a script has been provided for your convenience (run "/lbt/xxx/getirtc.sh" on one of the mountain TCS cluster). It will prompt you for parameters.

5 This is so that development can move along in the branch the working copy was based off of; i.e., so people can patch the installed build.

6 Make sure that we will not be falling back to a build from that branch before you finalize it.


Commands you will use

  • ssh
  • svn checkout
  • svn copy
  • svn switch
  • svn move
  • find, chown, chmod


Examples

Checkout trunk into a directory named my_really_spiffy_trunk_build

svn co https://svn.lbto.arizona.edu/repos/irtc/trunk my_really_spiffy_trunk_build

Build the IRTC using mkpackage.sh
cd my_really_spiffy_trunk_build 
./mkpackage.sh my_really_spiffy_trunk_build

Copying a working copy to the repository
cd my_really_spiffy_trunk_build 
svn copy  -m 'branch for really spiffy trunk build' . https://svn.lbto.arizona.edu/repos/irtc/branches/my_really_spiffy_trunk_build
svn switch https://svn.lbto.arizona.edu/repos/irtc/branches/my_really_spiffy_trunk_build

Finalizing a branch that was released to the mountain in the repository
svn move -m 'finalized my_really_spiffy_trunk_build' https://svn.lbto.arizona.edu/repos/irtc/branches/my_really_spiffy_trunk_build https://svn.lbto.arizona.edu/repos/irtc/releases/my_really_spiffy_trunk_build

Setting the permissions on the build you just moved to the mountain
chown -R root:tcs my_really_spiffy_trunk_build
find my_really_spiffy_trunk_build -type d -exec chmod 775 {} \;
find my_really_spiffy_trunk_build/bin my_really_spiffy_trunk_build/lib -type f chmod 775 {} \;
find my_really_spiffy_trunk_build/etc my_really_spiffy_trunk_build/share my_really_spiffy_trunk_build/include -type f chmod 664 {} \;

-- StephenHooper - 20 Oct 2010
Topic revision: r8 - 11 Feb 2020, MatthieuBec
This site is powered by FoswikiCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding Foswiki? Send feedback