Difference between revisions of "Online build and release system"

From GlueXWiki
Jump to: navigation, search
m
m
 
Line 11: Line 11:
 
At this point developers should be able to create new packages, modify old ones, and build and test them in their own directories.  System managers should be able to make new releases in the official release area or update existing ones.  The one missing piece is a setenv script that automates setting environment variables.  Dave L is working on one based on the offline version, so at the moment environment variables must be set manually.
 
At this point developers should be able to create new packages, modify old ones, and build and test them in their own directories.  System managers should be able to make new releases in the official release area or update existing ones.  The one missing piece is a setenv script that automates setting environment variables.  Dave L is working on one based on the offline version, so at the moment environment variables must be set manually.
  
Note that all online code must be stored in the SVN repository, built with the online build system and released via the release system.  Exempted from having to use the online build and release system are external packages that come with their own build/release system, such as EPICS.  But note that all code developed for Hall D should be stored in SVN. Also,
+
Note that all online code must be stored in the SVN repository, built with the online build system and released via the release system.  Exempted from having to use the online build and release system are external packages that come with their own build/release system, such as EPICS.  But note that all code developed for Hall D should be stored in SVN.
  
  

Latest revision as of 12:18, 21 May 2013

Recently implemented for the Hall D online computing system are:

  1. SVN repository area for online packages
  2. Build system based on SCONS
  3. System, operator and user accounts
  4. Release directory structure and release scripts
  5. Initial set of online packages
  6. Development release in official release area


At this point developers should be able to create new packages, modify old ones, and build and test them in their own directories. System managers should be able to make new releases in the official release area or update existing ones. The one missing piece is a setenv script that automates setting environment variables. Dave L is working on one based on the offline version, so at the moment environment variables must be set manually.

Note that all online code must be stored in the SVN repository, built with the online build system and released via the release system. Exempted from having to use the online build and release system are external packages that come with their own build/release system, such as EPICS. But note that all code developed for Hall D should be stored in SVN.


1. The svn repository is a branch of the Hall D offline repository:


2. The build system is described in a HOWTO on the main online wiki page:


3. Official releases are made the hdsys account. Operators log into the hdops account. Users work on software packages from their own account (CUE password):


4. The release system is described in a HOWTO on the main online wiki page:


5. Packages developed so far (no Java yet):

  • buildScripts - the build system
  • Scripts - general purpose scripts not associated with any other package
  • cMsg2et - inserts out-of-band events into the main ET system


6. An initial development release (devel) exists:

$ ls /gluex/builds/
devel/


$ tree -d devel
devel
|-- buildScripts
|-- Linux_RHEL6-x86_64-gcc4.8.0
|   `-- bin
|-- packages
|   |-- buildScripts
|   |   |-- doc
|   |   `-- scripts
|   |-- cMsg2et
|   |   |-- doc
|   |   `-- src
|   |       `-- binsrc
|   `-- Scripts
|       |-- doc
|       `-- scripts
`-- scripts