From 925d42123a67e2bee930af6fb2ff92ceb7b5bc95 Mon Sep 17 00:00:00 2001 From: Martin Ritter <martin.ritter@lmu.de> Date: Wed, 8 Mar 2017 14:03:27 +0100 Subject: [PATCH] Fix for ROOT-8704: add begin/end of line matches in thisroot.sh when removing old paths make sure that $path:, :$path and $path are only matched at the beginning, at the end, or match the whole string. --- config/thisroot.csh | 54 ++++++++++++++++++++++----------------------- config/thisroot.sh | 6 ++--- 2 files changed, 30 insertions(+), 30 deletions(-) diff --git a/config/thisroot.csh b/config/thisroot.csh index 08193bce3ec..f61942b2e3e 100644 --- a/config/thisroot.csh +++ b/config/thisroot.csh @@ -59,64 +59,64 @@ setenv ROOTSYS "`(cd ${thisroot}/..;pwd)`" if ($?old_rootsys) then setenv PATH `echo $PATH | sed -e "s;:$old_rootsys/bin:;:;g" \ - -e "s;:$old_rootsys/bin;;g" \ - -e "s;$old_rootsys/bin:;;g" \ - -e "s;$old_rootsys/bin;;g"` + -e "s;:$old_rootsys/bin$$;;g" \ + -e "s;^$old_rootsys/bin:;;g" \ + -e "s;^$old_rootsys/bin$$;;g"` if ($?LD_LIBRARY_PATH) then setenv LD_LIBRARY_PATH `echo $LD_LIBRARY_PATH | \ sed -e "s;:$old_rootsys/lib:;:;g" \ - -e "s;:$old_rootsys/lib;;g" \ - -e "s;$old_rootsys/lib:;;g" \ - -e "s;$old_rootsys/lib;;g"` + -e "s;:$old_rootsys/lib$$;;g" \ + -e "s;^$old_rootsys/lib:;;g" \ + -e "s;^$old_rootsys/lib$$;;g"` endif if ($?DYLD_LIBRARY_PATH) then setenv DYLD_LIBRARY_PATH `echo $DYLD_LIBRARY_PATH | \ sed -e "s;:$old_rootsys/lib:;:;g" \ - -e "s;:$old_rootsys/lib;;g" \ - -e "s;$old_rootsys/lib:;;g" \ - -e "s;$old_rootsys/lib;;g"` + -e "s;:$old_rootsys/lib$$;;g" \ + -e "s;^$old_rootsys/lib:;;g" \ + -e "s;^$old_rootsys/lib$$;;g"` endif if ($?SHLIB_PATH) then setenv SHLIB_PATH `echo $SHLIB_PATH | \ sed -e "s;:$old_rootsys/lib:;:;g" \ - -e "s;:$old_rootsys/lib;;g" \ - -e "s;$old_rootsys/lib:;;g" \ - -e "s;$old_rootsys/lib;;g"` + -e "s;:$old_rootsys/lib$$;;g" \ + -e "s;^$old_rootsys/lib:;;g" \ + -e "s;^$old_rootsys/lib$$;;g"` endif if ($?LIBPATH) then setenv LIBPATH `echo $LIBPATH | \ sed -e "s;:$old_rootsys/lib:;:;g" \ - -e "s;:$old_rootsys/lib;;g" \ - -e "s;$old_rootsys/lib:;;g" \ - -e "s;$old_rootsys/lib;;g"` + -e "s;:$old_rootsys/lib$$;;g" \ + -e "s;^$old_rootsys/lib:;;g" \ + -e "s;^$old_rootsys/lib$$;;g"` endif if ($?PYTHONPATH) then setenv PYTHONPATH `echo $PYTHONPATH | \ sed -e "s;:$old_rootsys/lib:;:;g" \ - -e "s;:$old_rootsys/lib;;g" \ - -e "s;$old_rootsys/lib:;;g" \ - -e "s;$old_rootsys/lib;;g"` + -e "s;:$old_rootsys/lib$$;;g" \ + -e "s;^$old_rootsys/lib:;;g" \ + -e "s;^$old_rootsys/lib$$;;g"` endif if ($?MANPATH) then setenv MANPATH `echo $MANPATH | \ sed -e "s;:$old_rootsys/man:;:;g" \ - -e "s;:$old_rootsys/man;;g" \ - -e "s;$old_rootsys/man:;;g" \ - -e "s;$old_rootsys/man;;g"` + -e "s;:$old_rootsys/man$$;;g" \ + -e "s;^$old_rootsys/man:;;g" \ + -e "s;^$old_rootsys/man$$;;g"` endif if ($?CMAKE_PREFIX_PATH) then setenv CMAKE_PREFIX_PATH `echo $CMAKE_PREFIX_PATH | \ sed -e "s;:${old_rootsys}:;:;g" \ - -e "s;:${old_rootsys};;g" \ - -e "s;${old_rootsys}:;;g" \ - -e "s;${old_rootsys};;g"` + -e "s;:${old_rootsys}$$;;g" \ + -e "s;^${old_rootsys}:;;g" \ + -e "s;^${old_rootsys}$$;;g"` endif if ($?JUPYTER_PATH) then setenv JUPYTER_PATH `echo $JUPYTER_PATH | \ sed -e "s;:$old_rootsys/etc/notebook:;:;g" \ - -e "s;:$old_rootsys/etc/notebook;;g" \ - -e "s;$old_rootsys/etc/notebook:;;g" \ - -e "s;$old_rootsys/etc/notebook;;g"` + -e "s;:$old_rootsys/etc/notebook$$;;g" \ + -e "s;^$old_rootsys/etc/notebook:;;g" \ + -e "s;^$old_rootsys/etc/notebook$$;;g"` endif endif diff --git a/config/thisroot.sh b/config/thisroot.sh index cb3f54149ca..7cb3e53277d 100644 --- a/config/thisroot.sh +++ b/config/thisroot.sh @@ -19,9 +19,9 @@ drop_from_path() drop=$2 newpath=`echo $p | sed -e "s;:${drop}:;:;g" \ - -e "s;:${drop};;g" \ - -e "s;${drop}:;;g" \ - -e "s;${drop};;g"` + -e "s;:${drop}\$;;g" \ + -e "s;^${drop}:;;g" \ + -e "s;^${drop}\$;;g"` } if [ -n "${ROOTSYS}" ] ; then -- GitLab