70 likes | 155 Views
Software Distribution in CMS. What is DAR. DAR stands for D istribution A fter R elease.
E N D
Software Distribution in CMS Natalia Ratnikova, FNAL
What is DAR • DAR stands for Distribution After Release. • This is a CMS software distribution tool which allows to create and install binary distributions of SCRAM managed projects. It may be also considered as a SCRAM extension for the CMS software distribution needs. • DAR is not intended to substitute any of existing functionalities of SCRAM. • DAR distribution is based on a completely built and validated installation of the SCRAM managed project release available through the scram database. • Currently DAR provides applications distribution. It replicates executables from the project bin directory, all required shared libraries and runtime environment. • DAR sources consist of bash written framework and Perl module library, including DAR distribution, installation function and interface to SCRAM. Natalia Ratnikova, FNAL
How It Works • Synopsis: • dar - c <what> <where> • For example: • dar – c $CMS_PATH/Releases/ORCA/ORCA_5_3_2 /scratch/dar_tmp • DAR analyses the output from scram runtime –sh command and creates export script for each environment variable that refers to file, directory or a set of directories (PATH-like variables). • It also creates a template, which is used to create runtime_env.csh and runtime_env.sh scripts during installation. • Unless in test mode, dar executes export scripts and creates a tar-file, including all auxiliary information. Natalia Ratnikova, FNAL
How It Works • Installation: • The installation of the dar created distribution does not imply any special privileges except for the write access in the installation directory. • DAR will create directory named version, containing bin/, lib/ and other directories corresponding to the runtime environment and scripts to set environment. • The configurable (external) directories have the name of the corresponding environment variable; the directories relative to the release top directory (from the Runtime file) keep their internal directory structure. dar - i version_dar.tar.gz <installation directory> Natalia Ratnikova, FNAL
DAR General Features • DAR does not require any compilation or installation. All that is needed is a read access to dar (framework) and dar.pm (perl module library) files. You can call dar from any location, just specifying the path to it; the only requirement is that both dar and dar.pm files reside at the same directory. • In addition to mandatory –c (create) or –i (install) options dar supports –h (help), -v(version), -t (test); prints out available space in the installation directory; checks libraries to be exported withldd (optional); saves output from executing export scripts in a log file. This provides additional verifications of the configuration. • DAR is platform independent, project independent . Natalia Ratnikova, FNAL
Summary • Automatic binary distribution of applications in SCRAM managed projects is provided and works. • It is extendable, flexible, easy to use and to maintain. • Platform and project independent • Applications can be used anywhere where the build is not required. It is especially crucial for the mass production, as it insures that the same set of programs is used. • It can provide additional checks of configuration and saves time on distribution and installation. • The code is designed to be extendible and flexible • Dar creates distribution of the basic release as well as private applications from the development space Natalia Ratnikova, FNAL
Nearest Plans • (dar 1) : • Create distributions and provide for public use (license issues need to be clarified). • Prepare distribution for the Big MinBias production • Implement self-upgrade of DAR versions. • Future plans: • (dar 2) : • Automate binary distribution of the external tools; • Export SCRAM managed projects including build system • Other suggestions? Natalia Ratnikova, FNAL