ATTILA(1)
π attila(1) β the Alliance - attila Userβs Manual, but make it group chat π
β¨ NAME β¨
attila β A Tool Installer. Thatβs the name, thatβs the vibe, periodt. π«Ά
π 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 πΈ
Bestie, attila automates the whole compile-and-install pipeline for 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 proceeds with these steps:
- Checks if the sources of tools are present in the userβs account. If not, it checks them out from the Alliance CVS tree. Note that you must have access to it. π
- In case of
--asimor--fullinstallations,attilawill fork itself on one Linux computer (currentlybip) and on one Solaris computer (beny). To connect to those computers it usesrsh, so you must set up your~/.rhoststo access them without passwords. You can also usessh, but the procedure to allow automatic login is more complicated. π« - Run autostuff for the tool in the
~/alliance/srcdirectory. - Run
configurein the build directory (see below). - 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/srcwhere 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 theconfigurescript 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,./liband./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:
autostuffalliance.m4motif.m4Makefile.am
π GUESSING CVSROOT π
The root of the CVS tree will be set according to these rules:
- Uses the userβs environment variable
CVSROOTif sets. - Uses the
attiladefault value sets inattila.conf(variableATTILA_CVSROOT).
π GUESSING ALLIANCE_TOP π
The root of the Alliance installed distribution tree will be set according to these rules:
- Uses the userβs environment variable
ALLIANCE_TOPif sets. - Uses the
attiladefault value sets inattilaitself (variableATTILA_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β usessshinstead ofrshto connect to the remote computers (in case of--asimor--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 toconfigure. 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-sharedfor alliance libraries and give--enable-sharedfor other libraries. π-m- make_arg1β all arguments following-m-are passed as is to the subsequent call tomake. If no-m-argument is given, theninstallis assumed. If you want to completely uninstall a tool and clean itβs build directory you can passuninstall 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 (defaultbip).LINUX_CC: the name or full path to to the C compiler for Linux system (defaultgcc3).LINUX_CXX: the name or full path to to the C++ compiler for Linux system (defaultg++3).SOLARIS_TARGET: the computer where to compile for the Solaris architecture (defaultbeny).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 runconfigure.
π 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
Signed, sealed, and slayed by ASIM/LIP6 β date on the vibe check: 13 October 2002. Mwah! π
π¦ where this page comes from
- nixos 26.05: alliance 5.1.1-unstable-2025-02-24
- nixpkgs unstable: alliance 5.1.1-unstable-2025-02-24
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms