diff --git a/EESSI-extend-easybuild.eb b/EESSI-extend-easybuild.eb index eaf59540..419800e9 100644 --- a/EESSI-extend-easybuild.eb +++ b/EESSI-extend-easybuild.eb @@ -45,10 +45,16 @@ description = """ toolchain = SYSTEM # All the dependencies we filter in EESSI -local_deps_to_filter = "Autoconf,Automake,Autotools,binutils,bzip2,DBus,flex,gettext,gperf,help2man,intltool,libreadline,libtool,M4,makeinfo,ncurses,ParMETIS,util-linux,XZ,zlib" +local_deps_to_filter = "binutils,bzip2,DBus,flex,gettext,gperf,help2man,intltool,libreadline,makeinfo,ncurses,ParMETIS,util-linux,XZ,zlib" + +# filter extra dependencies based on CPU family local_arch_specific_deps_to_filter = {'aarch64': ',Yasm', 'riscv64': ',Yasm', 'x86_64': ''} local_deps_to_filter += local_arch_specific_deps_to_filter[ARCH] +# only filter Autotools & co for EESSI 2023.06 +if version == '2023.06': + local_deps_to_filter += ",Autoconf,Automake,Autotools,libtool,M4" + # Set the universal EasyBuild variables modextravars = { 'EASYBUILD_FILTER_DEPS': local_deps_to_filter, diff --git a/EESSI-install-software.sh b/EESSI-install-software.sh index 57ed3d00..7e4fa3a9 100755 --- a/EESSI-install-software.sh +++ b/EESSI-install-software.sh @@ -382,44 +382,44 @@ else # make sure that easystack file being picked up is for EESSI version that we're building for... echo "${easystack_file}" | grep -q "^easystacks/$(basename ${EESSI_CVMFS_REPO})/${EESSI_VERSION}/" if [ $? -ne 0 ]; then - fatal_error "Easystack file ${easystack_file} is not intended for EESSI version ${EESSI_VERSION}, giving up!" - fi + echo_yellow "Easystack file ${easystack_file} is not intended for EESSI version ${EESSI_VERSION}, skipping it..." + else + echo -e "Processing easystack file ${easystack_file}...\n\n" + + # determine version of EasyBuild module to load based on EasyBuild version included in name of easystack file + eb_version=$(echo ${easystack_file} | sed 's/.*eb-\([0-9.]*\).*.yml/\1/g') - echo -e "Processing easystack file ${easystack_file}...\n\n" + # load EasyBuild module (will be installed if it's not available yet) + source ${TOPDIR}/load_easybuild_module.sh ${eb_version} - # determine version of EasyBuild module to load based on EasyBuild version included in name of easystack file - eb_version=$(echo ${easystack_file} | sed 's/.*eb-\([0-9.]*\).*.yml/\1/g') + ${EB} --show-config - # load EasyBuild module (will be installed if it's not available yet) - source ${TOPDIR}/load_easybuild_module.sh ${eb_version} + echo_green "All set, let's start installing some software with EasyBuild v${eb_version} in ${EASYBUILD_INSTALLPATH}..." - ${EB} --show-config + if [ -f ${easystack_file} ]; then + echo_green "Feeding easystack file ${easystack_file} to EasyBuild..." - echo_green "All set, let's start installing some software with EasyBuild v${eb_version} in ${EASYBUILD_INSTALLPATH}..." + if [[ ${easystack_file} == *"/rebuilds/"* ]]; then + ${EB} --easystack ${easystack_file} --rebuild + else + ${EB} --easystack ${easystack_file} --robot + fi + ec=$? - if [ -f ${easystack_file} ]; then - echo_green "Feeding easystack file ${easystack_file} to EasyBuild..." + # copy EasyBuild log file if EasyBuild exited with an error + if [ ${ec} -ne 0 ]; then + eb_last_log=$(unset EB_VERBOSE; eb --last-log) + # copy to current working directory + cp -a ${eb_last_log} . + echo "Last EasyBuild log file copied from ${eb_last_log} to ${PWD}" + # copy to build logs dir (with context added) + copy_build_log "${eb_last_log}" "${build_logs_dir}" + fi - if [[ ${easystack_file} == *"/rebuilds/"* ]]; then - ${EB} --easystack ${easystack_file} --rebuild + $TOPDIR/check_missing_installations.sh ${easystack_file} ${pr_diff} else - ${EB} --easystack ${easystack_file} --robot + fatal_error "Easystack file ${easystack_file} not found!" fi - ec=$? - - # copy EasyBuild log file if EasyBuild exited with an error - if [ ${ec} -ne 0 ]; then - eb_last_log=$(unset EB_VERBOSE; eb --last-log) - # copy to current working directory - cp -a ${eb_last_log} . - echo "Last EasyBuild log file copied from ${eb_last_log} to ${PWD}" - # copy to build logs dir (with context added) - copy_build_log "${eb_last_log}" "${build_logs_dir}" - fi - - $TOPDIR/check_missing_installations.sh ${easystack_file} ${pr_diff} - else - fatal_error "Easystack file ${easystack_file} not found!" fi done