Below are draft instructions I just wrote up for creating a new SemiVivA 
package resulting from development done of a prior SemiVivA package. 
They are hot off the presses (or hot off my keyboard) and almost 
certainly contain errors.  So please send me any errata.

-- Bhaskar

---------------------------------------------------------
OVERVIEW

These instructions are for creating a SemiVivA distribution of a new 
version of an application (e.g., a VistA release) that was installed 
from a SemiVivA release of the same application (the general theory of 
development environments for VistA on GT.M is described at 
http://tinyurl.com/738jk).

ASSUMPTIONS

The base SemiVivA version of VistA (FOIA VistA SemiVivA 20060615 is used 
here as an example) is installed as a sub-directory of /usr/local/, 
e.g., /usr/local/FOIAVistA20060615/.

GT.M is also installed in a subdirectory of /usr/local/, e.g., 
/usr/local/gtm_V5.1-000.

A working development/integration environment was created in a normal 
user directory using the install script in 
/usr/local/FOIAVistA20060615/install.  For the purposes of this write 
up, ~vistauser/myVistA/ is assumed to be the development/integration 
environment with the changes.

CREATE A NEW RELEASE

The following steps should be performed as a normal user (e.g., vistauser).

Create a working directory in which to build the release, e.g., 
~vistauser/newVistA/ by making a copy of /usr/local/FOIAVistA20060615:
   cp -av /usr/local/FOIAVistA20060615 ~vistauser/newVistA

Move any routines in the patch subdirectory to the routine subdirectory:
   mv ~/newVistA/p/*.m ~/newVistA/r/

Overwrite the those routines in newVistA with the routines in myVistA:
   cp -p ~vistauser/myVistA/{p,r}/*.m ~vistauser/newVistA/r/

Delete the object files in newVistA and compile new ones:
   find ~vistauser/newVistA -iname \*.o -exec rm {} \;
   cd ~vistauser/o
   source /usr/local/gtm_V5.1-000/gtmprofile
   find ../r -iname \*.m -print -exec mumps {} \;
The last step will generate a number of compilation error messages. 
This is normal because VistA contains code for several MUMPS 
implementations, and some of these are syntactically incorrect for GT.M. 
  However, they are "protected" and will not be executed on GT.M.

Delete the compressed database in newVistA:
   rm ~vistauser/newVistA/g/mumps.dat.gz

Make a backup copy of the database in myVistA to newVistA (this backup 
also turns off journaling in the backup copy):
   export vista_home=~vistauser/myVistA
   mupip backup -nojournal DEFAULT ~/vistauser/newVistA/

[Optional but recommended] Defragment up the backuped up copy of 
database and test for structural integrity:
   mupip reorg ~vistauser/g/mumps.dat
   mupip integ ~vistauser/g/mumps.dat

Gzip the database in newVistA:
   gzip ~vistauser/g/mumps.dat

[Optional] Create a readme file, e.g., ~vistauser/ReadMe.txt

Make the files in newVistA read-only and ensure everyone has read access:
   chmod -R -w ~vistauser/newVistA
   chmod -R a+r ~vistauser/newVistA

The following steps should be performed as root.

Move the newVistA directory to be a subdirectory of /usr/local, such as 
/usr/local/newVistA20060731/:
   mv ~vistauser/newVistA /usr/local/newVistA20060731
(If cp is used rather than mv, make sure to use the -rp or -a flag to 
ensure that the files in the o subdirectory have newer time stamps than 
the corresponding files in the r subdirectory.)

Change the ownership of the files in /usr/local/newVistA to root.root:
   chown -R root.root /usr/local/newVistA20060731

[Optional] If there is a previous version of newVistA in /usr/local/, 
with a symbolic link pointing to it, it can be replaced with a new 
symbolic link, e.g.:
   cd /usr/local
   rm newVistA
   ln -s newVistA20060731 newVistA

Create the distribution file (in this example, assumed to be 
/Distrib/VistA/newVistASemiVivA20060731.tgz):
   tar zcvf /Distrib/VistA/newVistA20060731SemiVivA.tgz gtm newVistA 
gtm_V5.1-000 newVistA20060731

TESTING

Copy the file /Distrib/VistA/newVistA20060731.tgz to a different Linux PC.

As root, install it:
   cd /usr/local
   tar zxvf /Distrib/VistA/newVistA20060731.tgz

As a normal user, create an environment:
   /usr/local/newVistA20060731/install ~vistauser/testVistA

Run and verify the environment:
   ~vistauser/testVistA/run
---------------------------------------------------------


-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys -- and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Hardhats-members mailing list
Hardhats-members@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/hardhats-members

Reply via email to