InstallationSystemWiki/InstallationSystemCVS: Difference between revisions
imported>BurkhardLinke No edit summary |
m (7 revisions) |
||
(4 intermediate revisions by one other user not shown) | |||
Line 25: | Line 25: | ||
* a recent version of CVS (1.11 or newer) | * a recent version of CVS (1.11 or newer) | ||
* XML::DOM | * XML::DOM | ||
* dialog (optional, used for a more appealing user interaction) | |||
The lists do not includes the requirements for the components itself ! Setting up CVS correctly may require you to set the environment variables CVSROOT and CVS_RSH. Consult the CVS documentation or send a mail to [mailto:support.cebitec.uni-bielefeld.de the support desk]. | The lists do not includes the requirements for the components itself! See the [[InstallationSystemWiki/Components]] page for information about the components and their requirements. | ||
Setting up CVS correctly may require you to set the environment variables CVSROOT and CVS_RSH. Consult the CVS documentation or send a mail to [mailto:support.cebitec.uni-bielefeld.de the support desk]. | |||
<span id="getting_is"></span> | <span id="getting_is"></span> | ||
Line 45: | Line 48: | ||
<span id="getting_components"></span> | <span id="getting_components"></span> | ||
=== Getting components === | === Getting components === | ||
''components'' are available as subdirectories within the CVS, located below the ''bioinfo'' root directory. They can be added to the installation system by using the ''add_cvs_repository'' that is available in the bin/ subdirectory of the installation system: | |||
''bin/add_cvs_repository -n <name> -v <version>'' | |||
After a component has been installed, it needs to be ''activated'' with the ''activate_module'' script. | |||
Notes: | |||
* Keep in mind that components have their own requirements like specific perl modules and other components. These requirements have to be met prior to installing a component. | |||
* The version argument is optional; it defaults to the CVS head branch of the component if not given. | |||
<span id="synching"></span> | <span id="synching"></span> | ||
=== Keeping components in sync === | === Keeping components in sync === | ||
Checking out a component from the CVS retain the complete CVS management information. The subdirectories within the installation system are ''live'' and the usual CVS command may be used (e.g. cvs update, cvs add, cvs commit). You may need to ensure that the CVS access is configured properly before updating a CVS controlled directory (see ''Requirements'' above). | |||
<span id="updating"></span> | <span id="updating"></span> | ||
=== Updating component configuration === | === Updating component configuration === | ||
Changes in the CVS may require to update updating the configuration of components, e.g. when new configuration settings are available. You can reconfigure a component by invoking the ''reconfigure_module'' script in the bin subdirectory of the installation system. | |||
Most changes in the CVS does not require updating the configuration. Nonetheless it may happen and we usually sent an email to our mailing lists to inform the developers. | |||
<span id="differences"></span> | <span id="differences"></span> | ||
=== Differences to production use === | === Differences to production use === | ||
Among the different scripts that has to be used a number of further differences exists between the production and CVS usage of the installation system: | |||
* Components may provide ''boot'' scripts, e.g. for creating databases and preprocessing data. This scripts '''are not''' invoked within CVS installations. | |||
* Certain components store data in a subdirectory of the installation system. These data files are not under CVS control and not shared with other developers. This may result in errors if information about files are stored in other places, too (e.g. names of Glimmer models files are stored in the SQL database). | |||
* Newly installed components are not automatically activated; this has to be done manually with the ''activate_module'' script. | |||
* Use the developer's mailing list in case of questions and problems with a component. | |||
* Finally: in case of using a HEAD branch, keep in mind that things may be broken, behave strangly or do things you do not expect at all. It's the HEAD branch, afterall ! | |||
<span id="example"></span> | <span id="example"></span> | ||
=== Example: Checking out GenDB === | === Example: Checking out GenDB === | ||
This example describes the necessary steps to install the GenDB core modules. | |||
# get and install the installation system | |||
# ensure that all requirements for the following components are met: | |||
#* common | |||
#* projectmanagement | |||
#* wrapper | |||
#* GOPArc | |||
#* gendb | |||
# install the components in the following order: | |||
#* common | |||
#* projectmanagement | |||
#* wrapper | |||
#* GOPArc | |||
#* gendb | |||
# start working with the GenDB scripts | |||
TODO: | |||
- add SEED and the GenDB web interface |
Latest revision as of 07:15, 26 October 2011
"Software" Documentation - Installationsystem - CVS usage
The installation system is designed to work CVS to delevelop and maintain components. It can be instructed to checkout components from a CVS repository and keep them in sync with it. This page describes how the installation system can be used together with the CVS repositories at the CeBiTec.
Table of Contents
- Requirements
- Getting the installation system
- Getting components
- Keeping components in sync
- Updating component configuration
- Differences to production use
- Example: Checking out GenDB
Author: Burkhard Linke
Requirements
- access to the CeBiTec network, e.g. unix account
- membership in the "gendb" unix group at CeBiTec
- CVS configured to access the repositories at the CeBiTec
- a recent version of Perl (e.g. latest 5.8. build)
- a recent version of CVS (1.11 or newer)
- XML::DOM
- dialog (optional, used for a more appealing user interaction)
The lists do not includes the requirements for the components itself! See the InstallationSystemWiki/Components page for information about the components and their requirements.
Setting up CVS correctly may require you to set the environment variables CVSROOT and CVS_RSH. Consult the CVS documentation or send a mail to the support desk.
Getting the installation system
The installation system itself is maintained in a CVS repository at the CeBiTec site. After verifying that your CVS access works check out the bioinfo/bridge_install repository from the CeBiTec CVS. This will only check out the CVS version of the installation system. Use the install.sh script to create a base installation system:
sh install.sh <some directory>
The directory will be created if not already existing and the script files that are part of the installation system will be adopted to its path.
Notes:
- It's recommended not to check out CVS stuff in your home directory. Use a subdirectory instead.
- The installation system is work in progress, so you may want to check for updates from time to time.
- You can use the install script to overwrite an existing installation system; components and their configuration will not be affected
- You CANNOT move the content of the installation directory to some other place. Some pathes are hardcoded in a number of perl scripts by the install.sh script.
Getting components
components are available as subdirectories within the CVS, located below the bioinfo root directory. They can be added to the installation system by using the add_cvs_repository that is available in the bin/ subdirectory of the installation system:
bin/add_cvs_repository -n <name> -v <version>
After a component has been installed, it needs to be activated with the activate_module script.
Notes:
- Keep in mind that components have their own requirements like specific perl modules and other components. These requirements have to be met prior to installing a component.
- The version argument is optional; it defaults to the CVS head branch of the component if not given.
Keeping components in sync
Checking out a component from the CVS retain the complete CVS management information. The subdirectories within the installation system are live and the usual CVS command may be used (e.g. cvs update, cvs add, cvs commit). You may need to ensure that the CVS access is configured properly before updating a CVS controlled directory (see Requirements above).
Updating component configuration
Changes in the CVS may require to update updating the configuration of components, e.g. when new configuration settings are available. You can reconfigure a component by invoking the reconfigure_module script in the bin subdirectory of the installation system.
Most changes in the CVS does not require updating the configuration. Nonetheless it may happen and we usually sent an email to our mailing lists to inform the developers.
Differences to production use
Among the different scripts that has to be used a number of further differences exists between the production and CVS usage of the installation system:
- Components may provide boot scripts, e.g. for creating databases and preprocessing data. This scripts are not invoked within CVS installations.
- Certain components store data in a subdirectory of the installation system. These data files are not under CVS control and not shared with other developers. This may result in errors if information about files are stored in other places, too (e.g. names of Glimmer models files are stored in the SQL database).
- Newly installed components are not automatically activated; this has to be done manually with the activate_module script.
- Use the developer's mailing list in case of questions and problems with a component.
- Finally: in case of using a HEAD branch, keep in mind that things may be broken, behave strangly or do things you do not expect at all. It's the HEAD branch, afterall !
Example: Checking out GenDB
This example describes the necessary steps to install the GenDB core modules.
- get and install the installation system
- ensure that all requirements for the following components are met:
- common
- projectmanagement
- wrapper
- GOPArc
- gendb
- install the components in the following order:
- common
- projectmanagement
- wrapper
- GOPArc
- gendb
- start working with the GenDB scripts
TODO: - add SEED and the GenDB web interface