Skip to content

Commit

Permalink
toolchain: filter env vars when writing toolchain.env
Browse files Browse the repository at this point in the history
fixes #709, but only for new builds
  • Loading branch information
dev-zero committed Oct 22, 2020
1 parent fe04ab9 commit e64447f
Show file tree
Hide file tree
Showing 33 changed files with 53 additions and 66 deletions.
3 changes: 1 addition & 2 deletions tools/toolchain/install_cp2k_toolchain.sh
Original file line number Diff line number Diff line change
Expand Up @@ -895,8 +895,7 @@ case $GPUVER in
"--gpu-ver currently only supports K20X, K40, K80, P100, V100 as options"
esac

# write toolchain environment
export -p > "${INSTALLDIR}"/toolchain.env
write_toolchain_env "${INSTALLDIR}"

# write toolchain config
echo "tool_list=\"${tool_list}\"" > "${INSTALLDIR}"/toolchain.conf
Expand Down
3 changes: 1 addition & 2 deletions tools/toolchain/scripts/install_acml.sh
Original file line number Diff line number Diff line change
Expand Up @@ -59,9 +59,8 @@ export FAST_MATH_LIBS="\${FAST_MATH_LIBS} ${ACML_LIBS}"
EOF
fi

# update toolchain environment
load "${BUILDDIR}/setup_acml"
export -p > "${INSTALLDIR}/toolchain.env"
write_toolchain_env "${INSTALLDIR}"

cd "${ROOTDIR}"
report_timing "acml"
3 changes: 1 addition & 2 deletions tools/toolchain/scripts/install_cmake.sh
Original file line number Diff line number Diff line change
Expand Up @@ -69,9 +69,8 @@ EOF
fi
fi

# update toolchain environment
load "${BUILDDIR}/setup_cmake"
export -p > "${INSTALLDIR}/toolchain.env"
write_toolchain_env "${INSTALLDIR}"

cd "${ROOTDIR}"
report_timing "cmake"
3 changes: 1 addition & 2 deletions tools/toolchain/scripts/install_cosma.sh
Original file line number Diff line number Diff line change
Expand Up @@ -159,9 +159,8 @@ EOF
cat "${BUILDDIR}/setup_cosma" >> $SETUPFILE
fi

# update toolchain environment
load "${BUILDDIR}/setup_cosma"
export -p > "${INSTALLDIR}/toolchain.env"
write_toolchain_env "${INSTALLDIR}"

cd "${ROOTDIR}"
report_timing "cosma"
3 changes: 1 addition & 2 deletions tools/toolchain/scripts/install_elpa.sh
Original file line number Diff line number Diff line change
Expand Up @@ -176,9 +176,8 @@ export ELPAVERSION="${elpa_ver}"
EOF
fi

# update toolchain environment
load "${BUILDDIR}/setup_elpa"
export -p > "${INSTALLDIR}/toolchain.env"
write_toolchain_env "${INSTALLDIR}"

cd "${ROOTDIR}"
report_timing "elpa"
3 changes: 1 addition & 2 deletions tools/toolchain/scripts/install_fftw.sh
Original file line number Diff line number Diff line change
Expand Up @@ -117,8 +117,7 @@ cat <<EOF >> ${INSTALLDIR}/valgrind.supp
}
EOF

# update toolchain environment
load "${BUILDDIR}/setup_fftw"
export -p > "${INSTALLDIR}/toolchain.env"
write_toolchain_env "${INSTALLDIR}"

report_timing "fftw"
3 changes: 1 addition & 2 deletions tools/toolchain/scripts/install_gcc.sh
Original file line number Diff line number Diff line change
Expand Up @@ -193,8 +193,7 @@ export LSAN_OPTIONS=suppressions=${INSTALLDIR}/lsan.supp
export TSAN_OPTIONS=suppressions=${INSTALLDIR}/tsan.supp
EOF

# update toolchain environment
load "${BUILDDIR}/setup_gcc"
export -p > "${INSTALLDIR}/toolchain.env"
write_toolchain_env "${INSTALLDIR}"

report_timing "gcc"
3 changes: 1 addition & 2 deletions tools/toolchain/scripts/install_gsl.sh
Original file line number Diff line number Diff line change
Expand Up @@ -102,9 +102,8 @@ EOF
cat "${BUILDDIR}/setup_gsl" >> $SETUPFILE
fi

# update toolchain environment
load "${BUILDDIR}/setup_gsl"
export -p > "${INSTALLDIR}/toolchain.env"
write_toolchain_env "${INSTALLDIR}"

cd "${ROOTDIR}"
report_timing "gsl"
3 changes: 1 addition & 2 deletions tools/toolchain/scripts/install_hdf5.sh
Original file line number Diff line number Diff line change
Expand Up @@ -92,9 +92,8 @@ EOF
cat "${BUILDDIR}/setup_hdf5" >> $SETUPFILE
fi

# update toolchain environment
load "${BUILDDIR}/setup_hdf5"
export -p > "${INSTALLDIR}/toolchain.env"
write_toolchain_env "${INSTALLDIR}"

cd "${ROOTDIR}"
report_timing "hdf5"
3 changes: 1 addition & 2 deletions tools/toolchain/scripts/install_intelmpi.sh
Original file line number Diff line number Diff line change
Expand Up @@ -75,9 +75,8 @@ export CP_LIBS="\${CP_LIBS} IF_MPI(${INTELMPI_LIBS}|)"
EOF
fi

# update toolchain environment
load "${BUILDDIR}/setup_intelmpi"
export -p > "${INSTALLDIR}/toolchain.env"
write_toolchain_env "${INSTALLDIR}"

cd "${ROOTDIR}"
report_timing "intelmpi"
3 changes: 1 addition & 2 deletions tools/toolchain/scripts/install_libint.sh
Original file line number Diff line number Diff line change
Expand Up @@ -128,9 +128,8 @@ export CP_LIBS="${LIBINT_LIBS} \${CP_LIBS}"
EOF
fi

# update toolchain environment
load "${BUILDDIR}/setup_libint"
export -p > "${INSTALLDIR}/toolchain.env"
write_toolchain_env "${INSTALLDIR}"

cd "${ROOTDIR}"
report_timing "libint"
3 changes: 1 addition & 2 deletions tools/toolchain/scripts/install_libsmm.sh
Original file line number Diff line number Diff line change
Expand Up @@ -120,9 +120,8 @@ export CP_LIBS="IF_VALGRIND(|${LIBSMM_LIBS}) \${CP_LIBS}"
EOF
fi

# update toolchain environment
load "${BUILDDIR}/setup_libsmm"
export -p > "${INSTALLDIR}/toolchain.env"
write_toolchain_env "${INSTALLDIR}"

cd "${ROOTDIR}"
report_timing "libsmm"
3 changes: 1 addition & 2 deletions tools/toolchain/scripts/install_libvdwxc.sh
Original file line number Diff line number Diff line change
Expand Up @@ -130,9 +130,8 @@ EOF
cat "${BUILDDIR}/setup_libvdwxc" >> $SETUPFILE
fi

# update toolchain environment
load "${BUILDDIR}/setup_libvdwxc"
export -p > "${INSTALLDIR}/toolchain.env"
write_toolchain_env "${INSTALLDIR}"

cd "${ROOTDIR}"
report_timing "libvdwxc"
3 changes: 1 addition & 2 deletions tools/toolchain/scripts/install_libxc.sh
Original file line number Diff line number Diff line change
Expand Up @@ -86,9 +86,8 @@ export LIBXCROOT="$pkg_install_dir"
EOF
fi

# update toolchain environment
load "${BUILDDIR}/setup_libxc"
export -p > "${INSTALLDIR}/toolchain.env"
write_toolchain_env "${INSTALLDIR}"

cd "${ROOTDIR}"
report_timing "libxc"
3 changes: 1 addition & 2 deletions tools/toolchain/scripts/install_libxsmm.sh
Original file line number Diff line number Diff line change
Expand Up @@ -122,8 +122,7 @@ EOF
fi
cd "${ROOTDIR}"

# update toolchain environment
load "${BUILDDIR}/setup_libxsmm"
export -p > "${INSTALLDIR}/toolchain.env"
write_toolchain_env "${INSTALLDIR}"

report_timing "libxsmm"
6 changes: 2 additions & 4 deletions tools/toolchain/scripts/install_mathlibs.sh
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,7 @@ export FAST_MATH_CFLAGS=''
export FAST_MATH_LDFLAGS=''
export FAST_MATH_LIBS=''

# update toolchain environment
export -p > "${INSTALLDIR}/toolchain.env"
write_toolchain_env "${INSTALLDIR}"

"${SCRIPTDIR}"/install_reflapack.sh "${with_reflapack}"; load "${BUILDDIR}/setup_reflapack"

Expand Down Expand Up @@ -63,7 +62,6 @@ export CP_CFLAGS="${CP_CFLAGS} IF_DEBUG(${REF_MATH_CFLAGS}|IF_VALGRIND(${REF_MAT
export CP_LDFLAGS="${CP_LDFLAGS} IF_DEBUG(${REF_MATH_LDFLAGS}|IF_VALGRIND(${REF_MATH_LDFLAGS}|${FAST_MATH_LDFLAGS}))"
export CP_LIBS="${CP_LIBS} IF_DEBUG(${REF_MATH_LIBS}|IF_VALGRIND(${REF_MATH_LIBS}|${FAST_MATH_LIBS}))"

# update toolchain environment
export -p > "${INSTALLDIR}/toolchain.env"
write_toolchain_env "${INSTALLDIR}"

#EOF
3 changes: 1 addition & 2 deletions tools/toolchain/scripts/install_mkl.sh
Original file line number Diff line number Diff line change
Expand Up @@ -119,9 +119,8 @@ EOF
fi
fi

# update toolchain environment
load "${BUILDDIR}/setup_mkl"
export -p > "${INSTALLDIR}/toolchain.env"
write_toolchain_env "${INSTALLDIR}"

cd "${ROOTDIR}"
report_timing "mkl"
3 changes: 1 addition & 2 deletions tools/toolchain/scripts/install_mpich.sh
Original file line number Diff line number Diff line change
Expand Up @@ -117,9 +117,8 @@ export CP_LIBS="\${CP_LIBS} IF_MPI(${MPICH_LIBS}|)"
EOF
fi

# update toolchain environment
load "${BUILDDIR}/setup_mpich"
export -p > "${INSTALLDIR}/toolchain.env"
write_toolchain_env "${INSTALLDIR}"

cd "${ROOTDIR}"
report_timing "mpich"
3 changes: 1 addition & 2 deletions tools/toolchain/scripts/install_openblas.sh
Original file line number Diff line number Diff line change
Expand Up @@ -135,9 +135,8 @@ export FAST_MATH_LIBS="\${FAST_MATH_LIBS} ${OPENBLAS_LIBS}"
EOF
fi

# update toolchain environment
load "${BUILDDIR}/setup_openblas"
export -p > "${INSTALLDIR}/toolchain.env"
write_toolchain_env "${INSTALLDIR}"

cd "${ROOTDIR}"
report_timing "openblas"
3 changes: 1 addition & 2 deletions tools/toolchain/scripts/install_openmpi.sh
Original file line number Diff line number Diff line change
Expand Up @@ -193,8 +193,7 @@ leak:progress_engine
leak:__GI___strdup
EOF

# update toolchain environment
load "${BUILDDIR}/setup_openmpi"
export -p > "${INSTALLDIR}/toolchain.env"
write_toolchain_env "${INSTALLDIR}"

report_timing "openmpi"
3 changes: 1 addition & 2 deletions tools/toolchain/scripts/install_pexsi.sh
Original file line number Diff line number Diff line change
Expand Up @@ -124,9 +124,8 @@ export CP_LIBS="IF_MPI(${PEXSI_LIBS}|) \${CP_LIBS}"
EOF
fi

# update toolchain environment
load "${BUILDDIR}/setup_pexsi"
export -p > "${INSTALLDIR}/toolchain.env"
write_toolchain_env "${INSTALLDIR}"

cd "${ROOTDIR}"
report_timing "pexsi"
3 changes: 1 addition & 2 deletions tools/toolchain/scripts/install_plumed.sh
Original file line number Diff line number Diff line change
Expand Up @@ -85,9 +85,8 @@ export CP_LIBS="${PLUMED_LIBS} \${CP_LIBS}"
EOF
fi

# update toolchain environment
load "${BUILDDIR}/setup_plumed"
export -p > "${INSTALLDIR}/toolchain.env"
write_toolchain_env "${INSTALLDIR}"

cd "${ROOTDIR}"
report_timing "plumed"
3 changes: 1 addition & 2 deletions tools/toolchain/scripts/install_ptscotch.sh
Original file line number Diff line number Diff line change
Expand Up @@ -104,9 +104,8 @@ export CP_LIBS="IF_MPI(${SCOTCH_LIBS}|) \${CP_LIBS}"
EOF
fi

# update toolchain environment
load "${BUILDDIR}/setup_ptscotch"
export -p > "${INSTALLDIR}/toolchain.env"
write_toolchain_env "${INSTALLDIR}"

cd "${ROOTDIR}"
report_timing "ptscotch"
3 changes: 1 addition & 2 deletions tools/toolchain/scripts/install_quip.sh
Original file line number Diff line number Diff line change
Expand Up @@ -153,9 +153,8 @@ export CP_LIBS="${QUIP_LIBS} \${CP_LIBS}"
EOF
fi

# update toolchain environment
load "${BUILDDIR}/setup_quip"
export -p > "${INSTALLDIR}/toolchain.env"
write_toolchain_env "${INSTALLDIR}"

cd "${ROOTDIR}"
report_timing "quip"
3 changes: 1 addition & 2 deletions tools/toolchain/scripts/install_reflapack.sh
Original file line number Diff line number Diff line change
Expand Up @@ -108,9 +108,8 @@ EOF
fi
fi

# update toolchain environment
load "${BUILDDIR}/setup_reflapack"
export -p > "${INSTALLDIR}/toolchain.env"
write_toolchain_env "${INSTALLDIR}"

cd "${ROOTDIR}"
report_timing "reflapack"
3 changes: 1 addition & 2 deletions tools/toolchain/scripts/install_scalapack.sh
Original file line number Diff line number Diff line change
Expand Up @@ -106,8 +106,7 @@ cat <<EOF >> ${INSTALLDIR}/lsan.supp
leak:pdpotrf_
EOF

# update toolchain environment
load "${BUILDDIR}/setup_scalapack"
export -p > "${INSTALLDIR}/toolchain.env"
write_toolchain_env "${INSTALLDIR}"

report_timing "scalapack"
3 changes: 1 addition & 2 deletions tools/toolchain/scripts/install_sirius.sh
Original file line number Diff line number Diff line change
Expand Up @@ -250,9 +250,8 @@ export CP_LIBS="IF_MPI("\${SIRIUS_LIBS}"|) \${CP_LIBS}"
EOF
fi

# update toolchain environment
load "${BUILDDIR}/setup_sirius"
export -p > "${INSTALLDIR}/toolchain.env"
write_toolchain_env "${INSTALLDIR}"

cd "${ROOTDIR}"
report_timing "sirius"
3 changes: 1 addition & 2 deletions tools/toolchain/scripts/install_spfft.sh
Original file line number Diff line number Diff line change
Expand Up @@ -111,9 +111,8 @@ EOF
cat "${BUILDDIR}/setup_spfft" >> $SETUPFILE
fi

# update toolchain environment
load "${BUILDDIR}/setup_spfft"
export -p > "${INSTALLDIR}/toolchain.env"
write_toolchain_env "${INSTALLDIR}"

cd "${ROOTDIR}"
report_timing "spfft"
3 changes: 1 addition & 2 deletions tools/toolchain/scripts/install_spglib.sh
Original file line number Diff line number Diff line change
Expand Up @@ -94,9 +94,8 @@ EOF
cat "${BUILDDIR}/setup_spglib" >> $SETUPFILE
fi

# update toolchain environment
load "${BUILDDIR}/setup_spglib"
export -p > "${INSTALLDIR}"/toolchain.env
write_toolchain_env "${INSTALLDIR}"

cd "${ROOTDIR}"
report_timing "spglib"
3 changes: 1 addition & 2 deletions tools/toolchain/scripts/install_superlu.sh
Original file line number Diff line number Diff line change
Expand Up @@ -94,9 +94,8 @@ export CP_LIBS="IF_MPI(${SUPERLU_LIBS}|) \${CP_LIBS}"
EOF
fi

# update toolchain environment
load "${BUILDDIR}/setup_superlu"
export -p > "${INSTALLDIR}"/toolchain.env
write_toolchain_env "${INSTALLDIR}"

cd "${ROOTDIR}"
report_timing "superlu"
3 changes: 1 addition & 2 deletions tools/toolchain/scripts/install_valgrind.sh
Original file line number Diff line number Diff line change
Expand Up @@ -94,8 +94,7 @@ cat <<EOF >> ${SETUPFILE}
export VALGRIND_OPTIONS="--suppressions=${INSTALLDIR}/valgrind.supp --max-stackframe=2168152 --error-exitcode=42"
EOF

# update toolchain environment
load "${BUILDDIR}/setup_valgrind"
export -p > "${INSTALLDIR}/toolchain.env"
write_toolchain_env "${INSTALLDIR}"

report_timing "valgrind"
3 changes: 1 addition & 2 deletions tools/toolchain/scripts/setup_buildtools.sh
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,6 @@ export LDFLAGS="${TSANFLAGS}"
# get system arch information using OpenBLAS prebuild
"${SCRIPTDIR}"/get_openblas_arch.sh; load "${BUILDDIR}/openblas_arch"

# update toolchain environment
export -p > "${INSTALLDIR}/toolchain.env"
write_toolchain_env "${INSTALLDIR}"

#EOF
20 changes: 20 additions & 0 deletions tools/toolchain/scripts/tool_kit.sh
Original file line number Diff line number Diff line change
Expand Up @@ -674,3 +674,23 @@ write_checksums() {

${__shasum_command} "${VERSION_FILE}" "$@" >"${__checksum_file}"
}

# generate a filtered toolchain.env
write_toolchain_env() {
local __installdir=$1

# we do not need to achieve complete filtering, it is sufficient to
# remove problematic variables (TERM/TERMCAP/COLORTERM) which may trigger
# 'too many arguments' (since the environment vars are stored in the same memory block as command line arguments)
# or which may not be valid anymore the next time the user runs the toolchain scripts,
# like the proxy vars which may affect fetching tarballs
export -p | sed \
-e '/^\(declare -[rx]\+ \)\?\(COLORTERM\|DISPLAY\|EDITOR\|LESS\|LESSOPEN\|LOGNAME\|LS_COLORS\|PAGER\)=/d' \
-e '/^\(declare -[rx]\+ \)\?\(TERM\|TERMCAP\|USER\)=/d' \
-e '/^\(declare -[rx]\+ \)\?\(ftp\|http\|no\)_proxy=/d' \
-e '/^\(declare -[rx]\+ \)\?\(GPG_AGENT_INFO\|SSH_AGENT_PID\|SSH_AUTH_SOCK\)=/d' \
-e '/^\(declare -[rx]\+ \)\?LS_\(COLORS\|OPTIONS\)=/d' \
-e '/^\(declare -[rx]\+ \)\?\(STY\|WINDOW\|XAUTHORITY\)=/d' \
-e '/^\(declare -[rx]\+ \)\?XDG_/d' \
> "${__installdir}/toolchain.env"
}

0 comments on commit e64447f

Please sign in to comment.