How to run SBE/SETI installer

For the impatient

If SBE/SETI comes from a CVS checkout, one must first create the generated directory, and build the python scripts (those stepts are not requiered if installled from a prebuild tarball):

$ cd xmlTools; ./configure
$ cd ../generated/sbe; make

Then, running seti is one command:

$ xmlTools/bin/seti.py --platform=< platform> --package --version --topDir <path/to/install/area>  --tarDir <path/to/tar/files>

Note about the --tarDir option:

At CERN, it will likely be /afs/cern.ch/sw/lcg/external/tarFiles, offsite, use: http://service-spi.web.cern.ch/service-spi/external/tarFiles/

More details below that a user may found useful to browse at least once.

Directory and file structure

Once the installer is deployed (from CVS or a tarball), it should contains at least the following directories:

doc
Documentation. See the README file first.
xmlTools
Contains the machinery, sbe and seti scripts.
configure
Pseudo-configure script to create the generated tree. Takes no arguments (none are supported). To be ran once when using a CVS checkout. Dont use it otherwise.
bin
Executables, adding this to your $PATH is useful.
seti.py
Main executable, end user should likely only call that one directly.
spi_build_external.py
Build script for externals. Called by SETI or Pacman for externals building.
sbepackager.py
Generate an archive of the current SBE/SETI installer.
viewExt.py
View package tree.
xml2pacman.py
Generation of pacman files from XML, called by the Makefiles.
xml2sbepkg.py
Generation of Python packages scripts from XML, called by Makefiles.
xml2sbeconfig.py
Generation of Python platforms scripts from XML, called by Makefiles.
xmldependencies.py
Return inheritances dependency of an XML file. Used by Makefiles to generated .d dependency packages for Makefiles dependency.
createCVSVersion.sh
Create a file with the currentn CVS Tag (internal use).
xml2bp-slc3_ia32_gcc323.py
Binary pacman generator.

platformlist.txt
List of supported platforms, used by the configure script.
python
SBE/SETI Python modules.
dtd
DTD of the XML format used by SBE.
xslt
Transformation sheets used by SBE to generate python and pacman scripts from XML sources.
gtree
Templates for the generated directory.
xml
XML files containing platforms and packages build informations are stored here.
generic
XML build description generic to all platforms. Can be superset by platform specific informations.
PlatformConfig.xml
Platform specific information (generic version).
minimal.xml
Base class for every package. Packages will inherit and modify this generic description. $ default.xml : Inherited by most packages, contains a suitable template for GNU style packages building ( configure; make; make install ). Inherits from minimal.xml, will be in turn derivated and customised in each package. minimal.xml
< package >.xml
Package description and build instructions.

< platform >
Contains informations specific to that particular platform.
PlatformConfig.xml
Platform specific information (to this specific platform).
< package >.xml
Package description and build instructions specific to that platform.

When downloading from CVS the following directory is not available (see next section), it should already have been created if installing from a tarball.

generated
Contains generated build script, created by SBE from the XML description files.
sbe
Main SBE subdir.
Makefile
Main Makefile to (re)build this directory. Running make in that directory will trigger a rebuild. Note: Makefiles in subdirectories will be called by that one and are not reported in the description below even if they can also be invoqued directly.
sbe
Subdirectory containing the generated python build scripts.
generic < platform >
Scripts are sorted by platforms.
xml
A mirror of what's in ../../xml, with a bit of tweaking for direct use by the python/xslt filters.
pacman
Pacman packages, can be used to create a pacman cache.
cvsVersion.py
CVS version generated by createCVSVersion.sh.

Preparing SBE

CVS download or tweaking in platforms settings

If SBE/SETI has been installed through CVS or if new platforms have been added, the xmlTools/configure script have to be run again:

$ cd xmlTools; ./configure

Then, the generated directory have been created. Run make in it to rebuild the python scripts:

$ cd ../generated/sbe; make

This operation may takes time.

IMPORTANT NOTE: Rebuilding the python scripts from XML requires the avaibility of libxml2-python and libxslt-python.

Tweaking in XML files

If information is altered in the XML description files after the generated/ directory have been creted, it's needed to rebuild the corresponding python scripts:

$ cd generated/sbe; make

This operation may takes time.

IMPORTANT NOTE: Rebuilding the python scripts from XML requires the avaibility of libxml2-python and libxslt-python.

SBE/SETI comes from a tarball

In that case, nothing is to be done unless messing with the XML files: the generated subdir is already filled with a correct version of the python scripts.

Running

Simple SETI run

Choose a scratch directory for the build, cd into it and run:

$ xmlTools/bin/seti.py --platform=< platform> --package --version --topDir <path/to/install/area>  --tarDir <path/to/tar/files>

Note about the --tarDir option:

At CERN, it will likely be /afs/cern.ch/sw/lcg/external/tarFiles, offsite, use: http://service-spi.web.cern.ch/service-spi/external/tarFiles/

-- YannickPatois - 07 Dec 2005

Edit | Attach | Watch | Print version | History: r3 < r2 < r1 | Backlinks | Raw View | WYSIWYG | More topic actions
Topic revision: r3 - 2005-12-15 - YannickPatois
 
    • Cern Search Icon Cern Search
    • TWiki Search Icon TWiki Search
    • Google Search Icon Google Search

    SPI All webs login

This site is powered by the TWiki collaboration platform Powered by PerlCopyright & 2008-2020 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback