How do I initiate a new M&C release for the GBT?
The following example assumes that the new release is M&C v3.13 and you are using the bash shell as user monctrl.
Note: The CLEO user interface, AIPS++ (including IARDS), and the metrology systems are not part of this build.
Instructions:
1. Log on to any Linux machine as monctrl.
2. Confirm there are no locally modified files in the integration directory by running cvs status
$ cd /home/gbt1
$ for d in ygor gb gbt
> do
> cd $d
> cvs status >status
> cd ..
> done
$
Search the resulting three status files for "Locally Modified" or "Needs Merge" files. Files with these statuses need to have whatever action is appropriate taken to make them become "Up to Date". File with status "Needs Patch" are ok.
You should also commit any locally modified files in /home/gbt/etc and do a cvs update in /home/gbt1/gbt/etc so the latest files can be associated with the new version.
3. Tag the files in the integration directory using the cvs tag command.
$ cd /home/gbt1
$ for d in ygor gb gbt
> do
> cd $d
> cvs tag release_3_13 .
> cvs tag -b release_3_13_patches .
> cd ..
> done
$
4. Create the new source directory.
$ cd /home/gbt2/monctrl
$ mkdir 3.13
$ cd 3.13
$ for d in ygor gb gbt
> do
> cvs checkout -r release_3_13_patches $d
> done
$
(Note on cvs checkout -r <rev>: the -r implies -P, so this is not needed.)
Note: You might want to remove some of the source and installation directories for older versions if they are getting pretty old.
5. Set-up your build environment.
$ export YGOR_ROOT=/home/gbt2/monctrl/3.13/ygor
$ export GB_ROOT=/home/gbt2/monctrl/3.13/gb
$ export YGOR_INSTALL=/home/gbtversions/3.13
$ source $YGOR_ROOT/ygor.bash
6. Build the new source tree. For releases prior to 6.1 you must be on a non-Enterprise machine for this to work
$ cd /home/gbt2/monctrl/3.13
$ for d in ygor gb gbt
> do
> cd $d
> touch .depend
> make
> make depend
> cd ..
> done
$ cd /home/gbt2/monctrl/3.13/ygor/utilities/host/installScripts
$ ./mkTelescopeDirs
7. Inspect the output of the builds to guarantee the release is clean and complete. Errors must be resolved before continuing. Warnings should be forwarded to the responsible programmer.
TIP: In order to guarantee that there are no errors or warnings during any of the steps in the build and install process you would have to either stare at the output during the entire procedure, or pipe stdout & stderr to a file and look for errors there. When piping, however, the output disappears from your shell and you can't see what is going on. You can have it both ways by combining stdout and stderr and using the 'tee' utility:
> make 2>&1 | tee make.out
8. Install the executables generated by the build.
$ cd /home/gbt2/monctrl/3.13
$ for d in ygor gb gbt
> do
> cd $d
> make install
> cd ..
> done
$
9. There are a few executables which must be setuid and owned by root. The setFileModes script run on gbtdata as root will set the proper modes and ownership and display a list of the files so changed. A successful run produces output similar to the following (files shown here may differ from the output of the current version of the script).
$ ssh gbtdata
$ cd /home/gbt
$ sudo /home/gbt/setFileModes /home/gbtversions/<your version>
-rwsr-xr-x 1 root monctrl 8690247 Sep 19 10:28 /home/gbtversions/<your version>/exec/sparc-solaris/antennaMgr.muacu
-rwsr-xr-x 1 root monctrl 8690247 Sep 19 10:28 /home/gbtversions/<your version>/exec/sparc-solaris/antennaMgr.virgo
-rwsr-xr-x 1 root monctrl 9564815 Sep 19 10:28 /home/gbtversions/<your version>/exec/i386-linux/antennaMgr.prima
-rwsr-xr-x 1 root monctrl 9564815 Sep 19 10:28 /home/gbtversions/<your version>/exec/i386-linux/antennaMgr.virgo
-rwsrwxr-x 1 root monctrl 1274684 Sep 19 10:15 /home/gbtversions/<your version>/exec/sparc-solaris/dataCollect
-rwsrwxr-x 1 root monctrl 167056 Sep 19 10:17 /home/gbtversions/<your version>/bin/i386-linux/get_spigot_data
-rwsrwxr-x 1 root monctrl 196059 Sep 19 10:17 /home/gbtversions/<your version>/bin/i386-linux/spigot_takedata
Done.
$
10. If the Linux Sampler kernel module has changed, follow the procedure for installing the samplerdrv driver.
11. If the DCR kernel driver has changed, follow the procedure for installing the DCR kernel driver.
12. Notify the Software Development Division that the new release is built and ready for patches.
13. When the release is thoroughly tested released for production use, go to /home/gbt/etc and
commit.
|
Revision r1.28 - 24 Jan 2007 - 15:27 GMT - RamonCreager
|
Content copyright © 1999-2007 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
|
| |