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