Skip to content
Snippets Groups Projects
Commit 98e2d150 authored by Frank Winklmeier's avatar Frank Winklmeier
Browse files

asetup_wrapper: fixes for latest asetup

Adapt asetup_wrapper to latest version of asetup. Add test and fix
handling of preloading and extra_sw_path.
parent 8be669d8
No related branches found
No related tags found
No related merge requests found
......@@ -12,3 +12,9 @@ atlas_install_scripts(
share/make_coralServer_rep.py
share/asetup_wrapper
)
# Tests:
atlas_add_test( test_make_hlt_rep
SCRIPT ${CMAKE_CURRENT_SOURCE_DIR}/share/make_hlt_rep.py
POST_EXEC_SCRIPT nopost.sh
)
......@@ -7,7 +7,7 @@ Utilities for HLT OKS file generation
import os
def defaultTags():
"""Return list of supported CMTCONFIG tags"""
"""Return list of supported binary tags"""
import pm.common
......@@ -20,10 +20,10 @@ def defaultTags():
return tags
def platform():
"""Return current CMTCONFIG tag"""
"""Return current BINARY_TAG"""
project = os.environ.get('AtlasProject','')
tag = os.environ.get('%s_PLATFORM' % project, os.environ.get('CMTCONFIG',None))
tag = os.environ.get('%s_PLATFORM' % project, os.environ.get('BINARY_TAG',None))
return tag
......
......@@ -33,34 +33,30 @@ export PATH=${PATH}:/bin:/usr/bin
reverse_paths()
{
result=""
for p in `echo ${1} | tr ':' ' '`
do
result="${p} ${result}"
for p in `echo ${1} | tr ':' ' '`; do
result="${p} ${result}"
done
echo $result
}
update_paths()
{
if [ ! -z "${ASETUP_EXTRA_SW_PATH}" ]
then
for dir in `reverse_paths ${ASETUP_EXTRA_SW_PATH}`
do
if [ -d ${dir} ]
then
export PATH=${dir}/${CMTCONFIG}/share/bin:${dir}/${CMTCONFIG}/bin:${PATH}
export LD_LIBRARY_PATH=${dir}/${CMTCONFIG}/lib:${LD_LIBRARY_PATH}
export PYTHONPATH=${dir}/${CMTCONFIG}/python:${PYTHONPATH}
export JOBOPTSEARCHPATH=${dir}/${CMTCONFIG}/jobOptions:${JOBOPTSEARCHPATH}
export DATAPATH=${dir}/${CMTCONFIG}/share:${DATAPATH}
export CALIBPATH=${dir}/${CMTCONFIG}/share:${CALIBPATH}
export XMLPATH=${dir}/${CMTCONFIG}/XML:${XMLPATH}
else
echo "$LOG WARNING: directory ${dir} does not exist !"
fi
echo "$LOG Using ASETUP_EXTRA_SW_PATH=$ASETUP_EXTRA_SW_PATH:"
printenv | egrep ^PATH\|^LD_LIBRARY_PATH\|^PYTHONPATH\|^JOBOPTSEARCHPATH\|^DATAPATH\|^CALIBPATH\|^XMLPATH
done
if [ ! -z "${_EXTRA_SW_PATH}" ]; then
for dir in `reverse_paths ${_EXTRA_SW_PATH}`; do
if [ -d ${dir} ]; then
export PATH=${dir}/${BINARY_TAG}/share/bin:${dir}/${BINARY_TAG}/bin:${PATH}
export LD_LIBRARY_PATH=${dir}/${BINARY_TAG}/lib:${LD_LIBRARY_PATH}
export PYTHONPATH=${dir}/${BINARY_TAG}/python:${PYTHONPATH}
export JOBOPTSEARCHPATH=${dir}/${BINARY_TAG}/jobOptions:${JOBOPTSEARCHPATH}
export DATAPATH=${dir}/${BINARY_TAG}/share:${DATAPATH}
export CALIBPATH=${dir}/${BINARY_TAG}/share:${CALIBPATH}
export XMLPATH=${dir}/${BINARY_TAG}/XML:${XMLPATH}
else
echo "$LOG WARNING: directory ${dir} does not exist !"
fi
echo "$LOG Using ASETUP_EXTRA_SW_PATH=$_EXTRA_SW_PATH:"
printenv | egrep ^PATH\|^LD_LIBRARY_PATH\|^PYTHONPATH\|^JOBOPTSEARCHPATH\|^DATAPATH\|^CALIBPATH\|^XMLPATH
done
fi
}
......@@ -80,15 +76,20 @@ if [ ! -z "${protect_env}" ]; then
fi
if [ ! -e ${AtlasSetup}/scripts/asetup.sh ]; then
echo '$LOG Cannot find asetup. Make sure $AtlasSetup is set correctly.'
echo "$LOG Cannot find asetup. Make sure \$AtlasSetup is set correctly."
exit 1
fi
if [ -z "${ASETUP_ARGS}" ]; then
echo '$LOG No asetup tags given. Please set $ASETUP_ARGS.'
echo "$LOG No asetup tags given. Please set \$ASETUP_ARGS."
exit 1
fi
# Need to protect those as asetup overwrites ASETUP_* env vars
_PRELOAD="${ASETUP_PRELOAD}"
_VERBOSE="${ASETUP_VERBOSE}"
_EXTRA_SW_PATH="${ASETUP_EXTRA_SW_PATH}"
echo "$LOG Executing asetup ${ASETUP_ARGS}"
#source ${AtlasSetup}/scripts/asetup.sh --input=None ${ASETUP_ARGS} # due to ATLINFR-2817
source ${AtlasSetup}/scripts/asetup.sh ${ASETUP_ARGS}
......@@ -96,10 +97,10 @@ source ${AtlasSetup}/scripts/asetup.sh ${ASETUP_ARGS}
if [ $? -ne 0 ]; then
exit $?
fi
if [ ! -z "${ASETUP_PRELOAD}" ]; then
export LD_PRELOAD=${ASETUP_PRELOAD}
echo "$LOG Setting LD_PRELOAD=${LD_PRELOAD}"
if [ ! -z "${_PRELOAD}" ]; then
export LD_PRELOAD=${_PRELOAD}
echo "$LOG Setting LD_PRELOAD=${_PRELOAD}"
fi
# Restore protected variables
......@@ -110,12 +111,14 @@ set +o allexport
# Now add any extra directory if specified
update_paths
if [ ! -z "${ASETUP_VERBOSE}" ]; then
if [ ! -z "${_VERBOSE}" ]; then
echo "================================================================================"
echo "$LOG Environment before calling 'exec $cmd $args'"
printenv | sort
echo "================================================================================"
fi
unset _PRELOAD _VERBOSE
echo "$LOG exec $cmd $args"
exec $cmd $args
#!/usr/bin/env bash
#
# Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
#
# Testing script for asetup_wrapper
#
export AtlasSetup="/cvmfs/atlas.cern.ch/repo/ATLASLocalRootBase/x86_64/AtlasSetup/current/AtlasSetup"
export ASETUP_ARGS="$AtlasProject --releasebase=$AtlasBaseDir"
export ASETUP_PRELOAD="${TCMALLOCDIR}/libtcmalloc.so"
export ASETUP_EXTRA_SW_PATH="$PWD"
# Run asetup_wrapper and save output
out=`asetup_wrapper printenv`
# Check for correct setting of LD_PRELOAD
echo "$out" | grep "^LD_PRELOAD" | grep "${ASETUP_PRELOAD}" &> /dev/null
if [ $? -ne 0 ]; then
echo "ERROR: LD_PRELOAD not correctly set by asetup_wrapper"
echo "ASETUP_PRELOAD=${ASETUP_PRELOAD}"
echo "$out"
exit 1
else
echo "LD_PRELOAD set OK"
fi
# Check prepending of extra path
echo "$out" | grep "^LD_LIBRARY_PATH" | tr ':' '\n' | head -1 | grep "${ASETUP_EXTRA_SW_PATH}" &> /dev/null
if [ $? -ne 0 ]; then
echo "ERROR: EXTRA_SW_PATH not correctly prepended by asetup_wrapper"
echo "ASETUP_EXTRA_SW_PATH=${ASETUP_EXTRA_SW_PATH}"
echo "$out"
exit 1
else
echo "EXTRA_SW_PATH set OK"
fi
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment