Difference between revisions of "Migrating a VistA/GT.M installation from one platform to another"
From VistApedia
Line 12: | Line 12: | ||
== Steps == | == Steps == | ||
− | + | * Obtain and install GT.M for the new platform in a sub-directory of /usr/local, e.g., in /usr/local/gtm_V5.2-001. | |
− | + | ||
+ | * Copy the identified directories, including subdirectories from the originating machine to the target machine. Object files (.o) should not be copied, and if they are, they should be deleted e.g., for the top level directory of each working environment (as root for the top level : | ||
cd <directory> | cd <directory> | ||
find . -type d -name o -exec chmod -v {} \; | find . -type d -name o -exec chmod -v {} \; | ||
find . -name \*.o -exec rm -rv {} \; | find . -name \*.o -exec rm -rv {} \; | ||
− | + | * Change the endian-ness of the database (see [http://www.fidelityinfoservices.com/user_documentation/targets/GTM_Database_Endian_Conversion.html Technical Bulletin: GT.M Database Endian Conversion - UNIX] for more information) in the top level release environment, from which other environments are derived (in this example, /usr/local/WorldVistAEHRvTEST20070616). As root: | |
cd /usr/local/WorldVistAEHRvTEST20070616/gtm_V5.2-001 | cd /usr/local/WorldVistAEHRvTEST20070616/gtm_V5.2-001 | ||
chmod u+w g | chmod u+w g | ||
Line 27: | Line 28: | ||
cd .. | cd .. | ||
chmod a-w g | chmod a-w g | ||
− | + | * Change the endian-ness of the database in each working environment (/var/WorldVistAEHR and /home/vista/myWorldVistAEHR in this example). As the normal user for each working environment: | |
+ | source /usr/local/gtm/gtm_V5.2-001/gtmprofile | ||
cd /var/WorldVistAEHR/gtm_V5.2-001/g | cd /var/WorldVistAEHR/gtm_V5.2-001/g | ||
+ | mupip endiacvt mumps.dat | ||
+ | :and | ||
source /usr/local/gtm/gtm_V5.2-001/gtmprofile | source /usr/local/gtm/gtm_V5.2-001/gtmprofile | ||
− | |||
− | |||
cd /home/vista/myWorldVistAEHR/gtm_V5.2-001/g | cd /home/vista/myWorldVistAEHR/gtm_V5.2-001/g | ||
− | |||
mupip endiacvt mumps.dat | mupip endiacvt mumps.dat | ||
− | + | * Recompile the object files in the top level release environment (ignore compilation errors; remember that some directories may not be empty this script takes care of the general case where there may be files in the different source directories). As root: | |
source /usr/local/gtm_V5.2-001/gtmprofile | source /usr/local/gtm_V5.2-001/gtmprofile | ||
cd /usr/local/WorldVistAEHRvTEST20070616/gtm_V5.2-001 | cd /usr/local/WorldVistAEHRvTEST20070616/gtm_V5.2-001 | ||
chmod u+w o | chmod u+w o | ||
cd o | cd o | ||
− | find ../../r -name \*.m -print -exec mumps {} \; | + | find ../../r -type f -name \*.m -print -exec mumps {} \; |
− | find ../../p -name \*.m -print -exec mumps {} \; | + | find ../../p -type f -name \*.m -print -exec mumps {} \; |
− | find ../r -name \*.m -print -exec mumps {} \; | + | find ../r -type f -name \*.m -print -exec mumps {} \; |
− | find ../p -name \*.m -print -exec mumps {} \; | + | find ../p -type f -name \*.m -print -exec mumps {} \; |
cd .. | cd .. | ||
chmod a-w o | chmod a-w o | ||
cd add-ons | cd add-ons | ||
+ | chmod u+w o | ||
+ | mumps ../../../add-ons/*/{r,p}/*.m | ||
+ | mumps ../*/{r,p}/*.m | ||
+ | cd .. | ||
+ | chmod a-w o | ||
+ | * Object files in the working environments will be automatically recompiled as needed. In the event you wish to recompile them, e.g., to not see compilation errors when using VistA, do the following as the normal user in each environment (ignore compilation errors and complaints about files not found): | ||
+ | source /usr/local/gtm/gtm_V5.2-001/gtmprofile | ||
+ | cd /var/WorldVistAEHR/gtm_V5.2-001/o | ||
+ | mumps ../../{r,p}/*.m | ||
+ | mumps ../{r,p}/*.m | ||
+ | cd ../add-ons/o | ||
+ | mumps ../../../add-ons/{r,p}/*.m | ||
+ | mumps ../*/{r,p}/*.m | ||
+ | :and | ||
+ | source /usr/local/gtm/gtm_V5.2-001/gtmprofile | ||
+ | cd /home/vista/myWorldVistAEHR/gtm_V5.2-001/o | ||
+ | mumps ../../{r,p}/*.m | ||
+ | mumps ../{r,p}/*.m | ||
+ | cd ../add-ons/o | ||
+ | mumps ../../../add-ons/{r,p}/*.m | ||
+ | mumps ../*/{r,p}/*.m |
Revision as of 15:50, 26 July 2007
These are instructions for copying a GT.M SemiVivA installation from one platform to another. For this discussion, the platforms are assumed to be of different endian-ness, e.g., x86 GNU/Linux and Sun SPARC Solaris).
Notes
- Existing SemiVivA scripts use the bash shell, and assume that it is located at /bin/bash. Modify the location if bash is located elsewhere. Edit the scripts as needed to use other shells.
- xinetd is assumed to control th
- It is assumed that the GT.M versions use the same database format.
- The VistA environments to be copied must be identified, along with the hierarchical structure (see Software Development (WG1) Version Control (T3)), e.g.
- /usr/local/WorldVistAEHRvTEST20070616
- /var/WorldVistAEHR
- /home/vista/myWorldVistAEHR
- /usr/local/WorldVistAEHRvTEST20070616
Steps
- Obtain and install GT.M for the new platform in a sub-directory of /usr/local, e.g., in /usr/local/gtm_V5.2-001.
- Copy the identified directories, including subdirectories from the originating machine to the target machine. Object files (.o) should not be copied, and if they are, they should be deleted e.g., for the top level directory of each working environment (as root for the top level :
cd <directory> find . -type d -name o -exec chmod -v {} \; find . -name \*.o -exec rm -rv {} \;
- Change the endian-ness of the database (see Technical Bulletin: GT.M Database Endian Conversion - UNIX for more information) in the top level release environment, from which other environments are derived (in this example, /usr/local/WorldVistAEHRvTEST20070616). As root:
cd /usr/local/WorldVistAEHRvTEST20070616/gtm_V5.2-001 chmod u+w g cd g gzip -d mumps.dat.gz source /usr/local/gtm_V5.2-001/gtmprofile mupip endiancvt mumps.dat gzip mumps.dat cd .. chmod a-w g
- Change the endian-ness of the database in each working environment (/var/WorldVistAEHR and /home/vista/myWorldVistAEHR in this example). As the normal user for each working environment:
source /usr/local/gtm/gtm_V5.2-001/gtmprofile cd /var/WorldVistAEHR/gtm_V5.2-001/g mupip endiacvt mumps.dat
- and
source /usr/local/gtm/gtm_V5.2-001/gtmprofile cd /home/vista/myWorldVistAEHR/gtm_V5.2-001/g mupip endiacvt mumps.dat
- Recompile the object files in the top level release environment (ignore compilation errors; remember that some directories may not be empty this script takes care of the general case where there may be files in the different source directories). As root:
source /usr/local/gtm_V5.2-001/gtmprofile cd /usr/local/WorldVistAEHRvTEST20070616/gtm_V5.2-001 chmod u+w o cd o find ../../r -type f -name \*.m -print -exec mumps {} \; find ../../p -type f -name \*.m -print -exec mumps {} \; find ../r -type f -name \*.m -print -exec mumps {} \; find ../p -type f -name \*.m -print -exec mumps {} \; cd .. chmod a-w o cd add-ons chmod u+w o mumps ../../../add-ons/*/{r,p}/*.m mumps ../*/{r,p}/*.m cd .. chmod a-w o
- Object files in the working environments will be automatically recompiled as needed. In the event you wish to recompile them, e.g., to not see compilation errors when using VistA, do the following as the normal user in each environment (ignore compilation errors and complaints about files not found):
source /usr/local/gtm/gtm_V5.2-001/gtmprofile cd /var/WorldVistAEHR/gtm_V5.2-001/o mumps ../../{r,p}/*.m mumps ../{r,p}/*.m cd ../add-ons/o mumps ../../../add-ons/{r,p}/*.m mumps ../*/{r,p}/*.m
- and
source /usr/local/gtm/gtm_V5.2-001/gtmprofile cd /home/vista/myWorldVistAEHR/gtm_V5.2-001/o mumps ../../{r,p}/*.m mumps ../{r,p}/*.m cd ../add-ons/o mumps ../../../add-ons/{r,p}/*.m mumps ../*/{r,p}/*.m