CTSS 4 Kit Registration Details
From TeraGrid Wiki
Originally from Notes from Discussion between JP Navarro and Eric Blau on 2/16/07
1) pacman -get repo:kit.pacman this gets the software and kit.xml There will exist: .pacman for each component RP will choose to install one of: .pacman with deps on component .pacman files for each kit .pacman w/ no deps for each kit depending on whether the requisite components are already installed 2) edit kit.xml for local priorities 3) set up the software of any components requiring setup 4) finalize kit registration (see below)
Outline of content of some kits:
/globus-mds-4.0.3-r1/ -vanilla GT /core-kit-1/ bin/ contains kitreg.pl script reg/ core.xml kit registration file for the core kit etc/ kits.conf kit=/core-kit-1/reg/kit.xml plus a line for each additional kit reg file location kits.conf exists only in core kit components.conf listing location of all components that are part of the kit software= .xml service= .xml components.conf exists in each kit, linking the kit to its components. /remote-compute-kit-1/ reg/ etc/ components.conf
There will be three .pacman files for each component. One .pacman file will, like the ones we have for ctssv3, deliver the software. (In fact, for components that are identical in v4 as in v3, we can continue to use the v3 .pacman files for this purpose.) The second .pacman file will deliver the software/service xml registration data for the component. The third .pacman file will be a top level .pacman file that will install the first two .pacman files. Thus, for components that already exist on the system, the admin can install only the second .pacman file, but if the software is not already deployed, the third .pacman file is there for a one-button install.
Find out whether it is possible to install to two different pacman caches with one pacman command (cd to a different directory containing a different pacman cache before installing something). Our deployment strategy in ctssv3, which will likely not change in v4, involves multiple different pacman installation caches for different components. For v4 kits that are composed of several such components, it is desirable to have a one-button installation option that results in the same layout. =====Answer:===== Pacman processes all Package() dependencies before doing any commands such as cd(), so the most straightforward way of accomplishing this will not work. Undoubtedly, workarounds with scripts could be utilized, but we need to determine whether we really want that to be coded in at the pacman level. It may make more sense to write a wrapper script around several pacman -get commands rather than hack up a script so that only one pacman -get command need be issued.