Skip to content

added RSNT_LOCAL_RESTRICTED_PATH to give local control to install res… #6

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 6 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
120 changes: 63 additions & 57 deletions cc_hooks_gentoo.py
Original file line number Diff line number Diff line change
Expand Up @@ -433,29 +433,31 @@ def modify_dependencies(ec, param, version_mapping):
patchelf --set-rpath '$ORIGIN/../lib:$ORIGIN/../compiler/lib/intel64' %(installdir)s/compilers_and_libraries_%(version)s/linux/lib/LLVMgold.so
installdir=%(installdir)s
publicdir=${installdir/restricted.computecanada.ca/soft.computecanada.ca}
rm -rf $publicdir
for i in $(grep -h "compiler.*\.so" $installdir/compilers_and_libraries_%(version)s/licensing/compiler/en/[cf]redist.txt | cut -c 13-); do
if [ -f $installdir/$i ]; then
mkdir -p $(dirname $publicdir/$i)
cp -p $installdir/$i $publicdir/$i
fi
done
for i in $(cd $installdir && find compilers_and_libraries_%(version)s/linux/tbb); do
if [ -f $installdir/$i ]; then
mkdir -p $(dirname $publicdir/$i)
cp -p $installdir/$i $publicdir/$i
elif [ -L $installdir/$i ]; then
mkdir -p $(dirname $publicdir/$i)
cp -a $installdir/$i $publicdir/$i
fi
done
cd $installdir
for i in $(find . -type l); do
if [ -f $publicdir/$i ]; then
cp -a $i $publicdir/$i
fi
done
ln -s compilers_and_libraries_%(version)s/linux/compiler/lib $publicdir/lib
if [[ $publicdir == /cvmfs/soft.computecanada.ca* && -w /cvmfs/soft.computecanada.ca ]]; then
rm -rf $publicdir
for i in $(grep -h "compiler.*\.so" $installdir/compilers_and_libraries_%(version)s/licensing/compiler/en/[cf]redist.txt | cut -c 13-); do
if [ -f $installdir/$i ]; then
mkdir -p $(dirname $publicdir/$i)
cp -p $installdir/$i $publicdir/$i
fi
done
for i in $(cd $installdir && find compilers_and_libraries_%(version)s/linux/tbb); do
if [ -f $installdir/$i ]; then
mkdir -p $(dirname $publicdir/$i)
cp -p $installdir/$i $publicdir/$i
elif [ -L $installdir/$i ]; then
mkdir -p $(dirname $publicdir/$i)
cp -a $installdir/$i $publicdir/$i
fi
done
cd $installdir
for i in $(find . -type l); do
if [ -f $publicdir/$i ]; then
cp -a $i $publicdir/$i
fi
done
ln -s compilers_and_libraries_%(version)s/linux/compiler/lib $publicdir/lib
fi
'''], REPLACE),
"modluafooter": ("""
prepend_path("INTEL_LICENSE_FILE", pathJoin("/cvmfs/restricted.computecanada.ca/config/licenses/intel/2020", os.getenv("CC_CLUSTER") .. ".lic"))
Expand Down Expand Up @@ -501,31 +503,33 @@ def modify_dependencies(ec, param, version_mapping):
patchelf --set-rpath '$ORIGIN:$ORIGIN/../../../../../tbb/%(version)s/lib/intel64/gcc4.8' %(installdir)s/compiler/%(version)s/linux/lib/x64/libintelocl.so
installdir=%(installdir)s
publicdir=${installdir/restricted.computecanada.ca/soft.computecanada.ca}
rm -rf $publicdir
for i in $(grep -h "compiler.*" $installdir/compiler/%(version)s/licensing/[cf]redist.txt | cut -c 13-); do
if [ -f $installdir/$i ]; then
mkdir -p $(dirname $publicdir/$i)
cp -p $installdir/$i $publicdir/$i
fi
done
for i in $(cd $installdir && find tbb); do
if [ -f $installdir/$i ]; then
mkdir -p $(dirname $publicdir/$i)
cp -p $installdir/$i $publicdir/$i
fi
done
cd $installdir
for i in $(find . -type l); do
if [ -f $publicdir/$i ]; then
cp -a $i $publicdir/$i
fi
done
for i in tbb/%(version)s/lib/intel64/gcc4.8/*; do
if [ -L $i ]; then
cp -a $i $publicdir/$i
fi
done
ln -s %(version)s $publicdir/compiler/latest
if [[ $publicdir == /cvmfs/soft.computecanada.ca* && -w /cvmfs/soft.computecanada.ca ]]; then
rm -rf $publicdir
for i in $(grep -h "compiler.*" $installdir/compiler/%(version)s/licensing/[cf]redist.txt | cut -c 13-); do
if [ -f $installdir/$i ]; then
mkdir -p $(dirname $publicdir/$i)
cp -p $installdir/$i $publicdir/$i
fi
done
for i in $(cd $installdir && find tbb); do
if [ -f $installdir/$i ]; then
mkdir -p $(dirname $publicdir/$i)
cp -p $installdir/$i $publicdir/$i
fi
done
cd $installdir
for i in $(find . -type l); do
if [ -f $publicdir/$i ]; then
cp -a $i $publicdir/$i
fi
done
for i in tbb/%(version)s/lib/intel64/gcc4.8/*; do
if [ -L $i ]; then
cp -a $i $publicdir/$i
fi
done
ln -s %(version)s $publicdir/compiler/latest
fi
'''], REPLACE),
"modluafooter": ("""
if isloaded("imkl") then
Expand Down Expand Up @@ -611,15 +615,17 @@ def modify_dependencies(ec, param, version_mapping):
echo "set DEFSTDOBJDIR=$EBROOTGENTOO/lib;" >> $installdir/compilers/bin/localrc
echo "set NORPATH=YES;" >> $installdir/compilers/bin/localrc
publicdir=${installdir/restricted.computecanada.ca/soft.computecanada.ca}
rm -rf $publicdir
mkdir -p $publicdir
cp -a $installdir/REDIST/* $publicdir
for i in $(find $publicdir); do
if [[ $(readlink $i) == ../../../* ]]; then
rm $i
cp -p ${i/soft.computecanada.ca/restricted.computecanada.ca} $i
fi
done
if [[ $publicdir == /cvmfs/soft.computecanada.ca* && -w /cvmfs/soft.computecanada.ca ]]; then
rm -rf $publicdir
mkdir -p $publicdir
cp -a $installdir/REDIST/* $publicdir
for i in $(find $publicdir); do
if [[ $(readlink $i) == ../../../* ]]; then
rm $i
cp -p ${i/soft.computecanada.ca/restricted.computecanada.ca} $i
fi
done
fi
'''], REPLACE),
},
'OpenBLAS': {
Expand Down
7 changes: 5 additions & 2 deletions eb
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,9 @@ unset LIBRARY_PATH
unset LD_LIBRARY_PATH
export PATH=/usr/bin
EASYBUILD_ROOT=/cvmfs/soft.computecanada.ca/easybuild
if [[ -z "$RSNT_LOCAL_RESTRICTED_PATH" ]]; then
export RSNT_LOCAL_RESTRICTED_PATH=/cvmfs/restricted.computecanada.ca
fi
if [ -z "$USE_NIX" ]; then
module load gentoo/$USE_GENTOO_VERSION
YEAR=$USE_GENTOO_VERSION
Expand Down Expand Up @@ -83,8 +86,8 @@ if [ "$CURRENT_USER" != "ebuser" ] ; then
fi
elif [ "$(id -ng)" != "ebuser" ] ; then
# using ebuser with different group ID
export EASYBUILD_INSTALLPATH_SOFTWARE=/cvmfs/restricted.computecanada.ca/easybuild/$EASYBUILD_SUBDIR_SOFTWARE
export EASYBUILD_SOURCEPATH=/cvmfs/restricted.computecanada.ca/easybuild/sources
export EASYBUILD_INSTALLPATH_SOFTWARE=$RSNT_LOCAL_RESTRICTED_PATH/easybuild/$EASYBUILD_SUBDIR_SOFTWARE
export EASYBUILD_SOURCEPATH=$RSNT_LOCAL_RESTRICTED_PATH/easybuild/sources
fi
export EASYBUILD_ROBOT_PATHS=$EASYBUILD_ROBOT_PATHS:$EASYBUILD_ROOT/easyconfigs
if [[ -n "$USE_GENTOO" ]]; then
Expand Down