#!/usr/bin/env python from __future__ import print_function """ setenv.py shell aadir print-out shell commands to setup environment. You can use this from e.g. bash like eval(`setup.py bash aadir`) - shell: bash or (t)csh [default = bash] - aadir: the aanet base directory to use, [default = current directory] """ import os, sys from util import environment_tool as T def eprint(*args, **kwargs): "print to stderr" print(*args, file=sys.stderr, **kwargs) def check_root_setup() : if 'ROOTSYS' not in T.env : eprint ("ERROR: ROOT is not set up!") eprint (" place make sure the environment variable ROOTSYS") eprint (" is set to your ROOT installation base directory.") eprint (" (This can be done e.g. by source-ing ROOTSYS/bin/thisroot.sh") return False return True if not check_root_setup() : sys.exit(1); if 'AADIR' in T.env : old_aadir = T.env['AADIR'] T.remove_from_path( 'LD_LIBRAY_PATH', old_aadir+'/lib' ) T.remove_from_path( 'LD_LIBRAY_PATH', old_aadir+'/externals/km3net-dataformat/lib' ) T.remove_from_path( 'PATH', old_aadir ) T.remove_from_path( 'PATH', old_aadir+'/apps') T.remove_from_path( 'PYTHONPATH', old_aadir ) shell = sys.argv[1] if len(sys.argv) > 1 else 'bash' aadir = sys.argv[2] if len(sys.argv) > 2 else os.getcwd() T.env['AADIR'] = aadir T.insert_in_path( 'LD_LIBRARY_PATH' , aadir+'/lib:' ) T.insert_in_path( 'LD_LIBRARY_PATH' , aadir+'/externals/km3net-dataformat/lib' ) T.insert_in_path( 'PATH' , aadir ) T.insert_in_path( 'PATH' , aadir+'/apps' ) T.insert_in_path( 'PYTHONPATH' , aadir ) T.insert_in_path( 'ROOT_INCLUDE_PATH', aadir+'/externals') T.insert_in_path( 'ROOT_INCLUDE_PATH', aadir+'/externals/km3net-dataformat/online') T.insert_in_path( 'ROOT_INCLUDE_PATH', aadir+'/externals/km3net-dataformat/offline') T.insert_in_path( 'ROOT_INCLUDE_PATH', aadir+'/evt') T.insert_in_path( 'ROOT_INCLUDE_PATH', aadir+'/astro') T.insert_in_path( 'ROOT_INCLUDE_PATH', aadir+'/rec') T.insert_in_path( 'ROOT_INCLUDE_PATH', aadir+'/antares') T.insert_in_path( 'ROOT_INCLUDE_PATH', aadir+'/antares/antdstv1r5/src') # todo: clean this mess up. T.env['KM3NET_DATAFORMAT'] = aadir+"/externals/km3net-dataformat" # leave some grafitti to mark our existence. from datetime import datetime now = str(datetime.now()) T.env['AADBG'] = '" sxx setenv.py ran on '+now+'"' print (T.diff( shell ))