attila

ATTILA(1)               Alliance - attila User's Manual              ATTILA(1)



NAME
       attila - A Tool Installer

SYNOPSIS
       attila [ -h ]  [ -S ]  [ -U ]  [ -F ]  [ -A ]
        [ --help ]  [ --ssh ]  [ --user ]  [ --asim ]
        [ --prefix=INSTALL_DIR ]  [ --builddir=BUILD_DIR ]
        --tool=name1 [ --tool=name2... ]
        [ -c- configure_arg1   [  configure_arg2 ... ]   ]
        [ -m- make_arg1  [ make_arg2... ]   ]

DESCRIPTION
       attila automates the process of compiling and installing one or more
       Alliance tools. The tool can be installed either in the user's account
       (during the devellopment stage) or in the Alliance system wide tree
       (for instance /asim/alliance) when a new version is made avalaible to
       all.

       attila proceed with the following steps :

       1.     Checks if the sources of tools are present in the user's
              account. If not, check them out from the Alliance CVS tree. Note
              that you must have access to it.

       2.     In case of --asim or --full installations, attila will fork
              itself on one Linux computer (currently bip) and on one Solaris
              computer (beny). As to connect on thoses computer it will uses
              rsh so you must setup your ~/.rhosts to access them whithout
              passwords. You also can uses ssh (but the procedure to allow
              automatic login is more complicated).

       3.     Run autostuff for the tool in the ~/alliance/src directory.

       4.     Run configure in the build directory (see below).

       5.     Install the tool in the local install directory (see below) or
              in the system-wide Alliance directory rooted under
              /asim/alliance.

              After an --asim install: the build directory tree of the tool
              will be removed to avoid messing with further local
              installations.

   DIRECTORY STRUCTURE
       attila relies on the following tree structure : (all paths below are
       given relative to the user's home directory)

       · ~/alliance/src where the tools sources are to be found.

       · ~/alliance/Linux/build/$TOOL : the top directory under which the tool
         will be compiled for Linux.  This is where the configure script will
         be run.

       · ~/alliance/Linux/install : the top of the install tree when the tool
         is compiled locally for Linux.  Under this directory you will found
         (at least) : ./bin, ./lib and ./include.

       · ~/alliance/Solaris/build/$TOOL : the tool's build directory for
         Solaris.

       · ~/alliance/Solaris/install : top of the local install tree for
         Solaris.

   CVS CHECKOUT
       If the sources of the requested tool(s) are not found under
       ~/alliance/src/ attila will try to check them out. So, as says above,
       you must have access rights to the Alliance CVS tree.

       In addition to the tool(s) sources, it will also checks for the minimal
       set of files needed for configure to run. As for now :

       · autostuff

       · alliance.m4

       · motif.m4

       · Makefile.am

   GUESSING CVSROOT
       The root of the CVS tree will be set according to the following rules :

       1.     Uses the user's environment variable CVSROOT if sets.

       2.     Uses the attila default value sets in attila.conf (variable
              ATTILA_CVSROOT).

GUESSING ALLIANCE_TOP
       The root of the Alliance installed distribution tree will be set
       according to the following rules :

       1.     Uses the user's environment variable ALLIANCE_TOP if sets.

       2.     Uses the attila default value sets in attila itself (variable
              ATTILA_ALLIANCE_TOP).

              ALLIANCE_TOP: is set in attila itself because its value is a
              prerequisite to load the configuration file attila.conf which is
              in the directory $ALLIANCE_TOP/etc/.


ARGUMENTS
       attila accepts the followings arguments :

       · -h, --help : print help.

       · -S, --ssh : uses ssh instead of rsh to connect to the remote
         computers (in case of --asim or --full).

       · -U, --user : perform a local installation.

       · -F, --full : install for all avalaibles architectures (currently
         Linux and Solaris).

       · -A, --asim : install in the system-wide directory (/asim/alliance).

       · --prefix=INSTALL_DIR : override the default installation directory.

       · --builddir=BUILD_DIR : override the default building directory.

       · --tool=name1 : name of the tool to be installed.

       · -c- configure_arg1 : all arguments following -c- (until a -m- is
         encountered) are passed as is to the subsequent call to configure.
         For example, if you want to first use your local libraries, give
         --enable-devel.  If you want to link or install dynamic libraries,
         give --enable-alc-shared for alliance libraries and give --enable-
         shared for other libraries.

       · -m- make_arg1 : all arguments following -m- are passed as is to the
         subsequent call to make. If no -m- argument is given, then install is
         assumed. If you want to completly uninstall a tool and clean it's
         build directory you can pass uninstall clean

CONFIGURATION FILE ATTILA.CONF
       The configuration file is located in $ALLIANCE_TOP/etc. This file is to
       be read by the sh shell. It sets up the following variables :

       · LINUX_TARGET : the computer where to compile for the Linux
         architecture (default bip).

       · LINUX_CC : the name or full path to to the C compiler for Linux
         system (default gcc3).

       · LINUX_CXX : the name or full path to to the C++ compiler for Linux
         system (default g++3).

       · SOLARIS_TARGET : the computer where to compile for the Solaris
         architecture (default beny).

       · SOLARIS_CC : the name or full path to to the C compiler for Solaris
         system (default /usr/local/gcc-3.0.4/bin/g++3).

       · SOLARIS_CXX : the name or full path to to the C++ compiler for
         Solaris system (default /usr/local/gcc-3.0.4/bin/g++3).

       · ATTILA_CVSROOT : the root of the Alliance CVS tree (default
         /users/outil/alliance/cvsroot).

       · CVS_STARTUP_FILES : the minimal set of files needed to run configure.

EXAMPLES
       Compile & install nero tool on the local computer (must be either a
       Linux or a Solaris one) :

       $ attila --tool=nero



       Compile & install nero tool for all architectures (currently only Linux
       and Solaris are supported) :

       $ attila --full --tool=nero



       Compile & install nero tool in the system-wide directory (a new version
       for everyone to use) :

       $ attila --asim --tool=nero



       Compile & install mbk then genlib (the order is significant) in a row
       for a local install on the current computer :

       $ attila --tool=mbk --tool=genlib



       Compile nero tool and link it against the locally installed libraries
       (if any).

       $ attila --tool=nero -c- --enable-devel



       Remove poire tool from the system-wide tree.  (poire is the old name of
       nero).

       $ attila --asim --tool=poire -m- uninstall





ASIM/LIP6                       13 October 2002                      ATTILA(1)