diff --git a/.ci/asic_create_recipe.sh b/.ci/asic_create_recipe.sh index e658b337e828fe1b10a682908b5175e78e8122ae..665907f515972a503fa7ab660f76259b5bec6a66 100755 --- a/.ci/asic_create_recipe.sh +++ b/.ci/asic_create_recipe.sh @@ -35,7 +35,6 @@ From: ${DOCKER_BASE_IMAGE} mkdir "\${SINGULARITY_ROOTFS}/${SPACK_INSTALL_SCRIPTS}" rsync -av "${SOURCE_DIR}"/*.sh "\${SINGULARITY_ROOTFS}/${SPACK_INSTALL_SCRIPTS}" rsync -av "${SOURCE_DIR}"/*.awk "\${SINGULARITY_ROOTFS}/${SPACK_INSTALL_SCRIPTS}" - rsync -av "${SOURCE_DIR}"/pinned "\${SINGULARITY_ROOTFS}/${SPACK_INSTALL_SCRIPTS}" rsync -av "${SOURCE_DIR}"/patches "\${SINGULARITY_ROOTFS}/${SPACK_INSTALL_SCRIPTS}" mkdir -p "\${SINGULARITY_ROOTFS}/${META_DIR_INSIDE}" rsync -av "${META_DIR_OUTSIDE}"/* "\${SINGULARITY_ROOTFS}/${META_DIR_INSIDE}" diff --git a/.ci/commons.sh b/.ci/commons.sh index 7c1a66e7d480a7eecbcc398373527399b2049611..da230357931451cbd5aaf02bf6443e2adc060874 100755 --- a/.ci/commons.sh +++ b/.ci/commons.sh @@ -169,39 +169,8 @@ fi # PACKAGES # ############ -# Usage: get_pinned_deps <name> -# -# Note: This pinning is used only to help the concretizer make suitable picks. -# The actual incompatabilities should still be expressed in the spack packages. -# -# The real reason for this machinery is the fact that the concretizer, despite -# specifying which version of the package is compatible with python 2 and 3, is -# unable to determine the last version still compatible with python 2 -# -# Arguments: -# <name> has to correspond to a list of pinned dependencies residing under -# <yashchiki-root>/container-build-files/pinned/<name>.list -# The file should contain a list of spec constraints (one spec per line). -# Lines starting with and everything followed by # will be considered -# comments and removed. -get_pinned_deps() { - local depsname="${1}" - local filename="${COMMONS_DIR}/pinned/${depsname}.list" - - if [ ! -f "${filename}" ]; then - echo "ERROR: No dependencies for ${depsname} found at ${filename}!" >&2 - exit 1 - fi - # The grep call removes lines starting with # as well as blank lines. sed - # then removes trailing comments. Afterwards we insert a tilde (^) in front - # of every line (i.e., dependency) and join all lines by replacing the - # newline character with spaces. - grep -v "\(^#\|^\s*$\)" "${filename}" | sed -e "s:#.*$::" \ - | sed -e "s:^:\^:" | tr '\n' ' ' -} - # the version of dev tools we want in our view -SPEC_VIEW_VISIONARY_DEV_TOOLS="visionary-dev-tools ^${DEPENDENCY_PYTHON3} $(get_pinned_deps dev) %${YASHCHIKI_SPACK_GCC}" +SPEC_VIEW_VISIONARY_DEV_TOOLS="visionary-dev-tools ^${DEPENDENCY_PYTHON3} %${YASHCHIKI_SPACK_GCC}" # used in VIEWS section below but needs to be defined before sourcing # associative array: spec to add -> view names seperated by spaces diff --git a/.ci/install_spack.sh b/.ci/install_spack.sh index 42b4ec9bc453d86d5ce59007d652c555cffe84bf..974943f56f8e833aea93e0dcf4922add1469e60b 100755 --- a/.ci/install_spack.sh +++ b/.ci/install_spack.sh @@ -13,6 +13,14 @@ cd "$HOME" install_from_buildcache "${spack_packages[@]+"${spack_packages[@]}"}" +echo "DUMMY-INSTALLING PACKAGES" +for package in "${spack_packages[@]+"${spack_packages[@]}"}"; do + specfile="$(get_specfiles "${package}")" + if (( $(wc -l <"${specfile}") == 0 )); then + echo "ERROR: Failed to concretize ${package} for install." >&2 + fi +done + echo "INSTALLING PACKAGES" for package in "${spack_packages[@]+"${spack_packages[@]}"}"; do # Disable cache because we already installed from build cache. diff --git a/.ci/visionary_create_recipe.sh b/.ci/visionary_create_recipe.sh index d01033f76fda0a41afdbd5d00ec5ca6d736eacea..7f6422f64dc1068e39171219b5bb147de50d13fd 100755 --- a/.ci/visionary_create_recipe.sh +++ b/.ci/visionary_create_recipe.sh @@ -40,7 +40,6 @@ From: ${DOCKER_BASE_IMAGE} mkdir "\${SINGULARITY_ROOTFS}/${SPACK_INSTALL_SCRIPTS}" rsync -av "${SOURCE_DIR}"/*.sh "\${SINGULARITY_ROOTFS}/${SPACK_INSTALL_SCRIPTS}" rsync -av "${SOURCE_DIR}"/*.awk "\${SINGULARITY_ROOTFS}/${SPACK_INSTALL_SCRIPTS}" - rsync -av "${SOURCE_DIR}"/pinned "\${SINGULARITY_ROOTFS}/${SPACK_INSTALL_SCRIPTS}" rsync -av "${SOURCE_DIR}"/patches "\${SINGULARITY_ROOTFS}/${SPACK_INSTALL_SCRIPTS}" mkdir -p "\${SINGULARITY_ROOTFS}/${META_DIR_INSIDE}" rsync -av "${META_DIR_OUTSIDE}"/* "\${SINGULARITY_ROOTFS}/${META_DIR_INSIDE}" @@ -138,10 +137,4 @@ for view in "${spack_views[@]}"; do generate_appenv "${view}" "${view}" [[ "${view}" =~ ^visionary- ]] && generate_appenv "${view#visionary-}" "${view}" ) >> "${RECIPE_FILENAME}" - - if [ "${view}" = "visionary-simulation" ];then -cat <<EOF >>"${RECIPE_FILENAME}" - export NEST_MODULES=visionarymodule -EOF - fi done diff --git a/.ci/visionary_spack_collection.sh b/.ci/visionary_spack_collection.sh index 9275c2d246c4674d880fccc5050fac69c5642ea9..c86dd4b7e547e4bae2b6d0519843d66bd6887ed9 100644 --- a/.ci/visionary_spack_collection.sh +++ b/.ci/visionary_spack_collection.sh @@ -1,17 +1,15 @@ # All spack packages that should be fetched/installed in the container spack_packages=( "${SPEC_VIEW_VISIONARY_DEV_TOOLS}" - "visionary-simulation~dev ^${DEPENDENCY_PYTHON} $(get_pinned_deps simulation) %${YASHCHIKI_SPACK_GCC}" - "visionary-simulation ^${DEPENDENCY_PYTHON} $(get_pinned_deps simulation) %${YASHCHIKI_SPACK_GCC}" # START python 3 packages - "visionary-wafer~dev ^${DEPENDENCY_PYTHON3} $(get_pinned_deps wafer) %${YASHCHIKI_SPACK_GCC}" - "visionary-wafer ^${DEPENDENCY_PYTHON3} $(get_pinned_deps wafer) %${YASHCHIKI_SPACK_GCC}" - "visionary-wafer~dev+gccxml ^${DEPENDENCY_PYTHON3} $(get_pinned_deps wafer) %${YASHCHIKI_SPACK_GCC}" - "visionary-wafer+gccxml ^${DEPENDENCY_PYTHON3} $(get_pinned_deps wafer) %${YASHCHIKI_SPACK_GCC}" - "visionary-wafer-visu ^${DEPENDENCY_PYTHON3} $(get_pinned_deps wafer-visu) %${YASHCHIKI_SPACK_GCC}" + "visionary-wafer~dev ^${DEPENDENCY_PYTHON3} %${YASHCHIKI_SPACK_GCC}" + "visionary-wafer ^${DEPENDENCY_PYTHON3} %${YASHCHIKI_SPACK_GCC}" + "visionary-wafer~dev+gccxml ^${DEPENDENCY_PYTHON3} %${YASHCHIKI_SPACK_GCC}" + "visionary-wafer+gccxml ^${DEPENDENCY_PYTHON3} %${YASHCHIKI_SPACK_GCC}" + "visionary-wafer-visu ^${DEPENDENCY_PYTHON3} %${YASHCHIKI_SPACK_GCC}" "visionary-clusterservices ^${DEPENDENCY_PYTHON3} %${YASHCHIKI_SPACK_GCC}" - "visionary-dls~dev ^${DEPENDENCY_PYTHON3} $(get_pinned_deps dls) %${YASHCHIKI_SPACK_GCC}" - "visionary-dls ^${DEPENDENCY_PYTHON3} $(get_pinned_deps dls) %${YASHCHIKI_SPACK_GCC}" + "visionary-dls~dev ^${DEPENDENCY_PYTHON3} %${YASHCHIKI_SPACK_GCC}" + "visionary-dls ^${DEPENDENCY_PYTHON3} %${YASHCHIKI_SPACK_GCC}" "py-jupyterhub ^${DEPENDENCY_PYTHON3} %${YASHCHIKI_SPACK_GCC}" "py-jupyterhub-dummyauthenticator ^${DEPENDENCY_PYTHON3} %${YASHCHIKI_SPACK_GCC}" "py-jupyterhub-simplespawner ^${DEPENDENCY_PYTHON3} %${YASHCHIKI_SPACK_GCC}" @@ -23,8 +21,6 @@ spack_views=(\ visionary-dls-core visionary-dls visionary-dls-nodev - visionary-simulation - visionary-simulation-nodev visionary-slurmviz visionary-wafer visionary-wafer-nodev diff --git a/.ci/visionary_spack_custom_view.sh b/.ci/visionary_spack_custom_view.sh index 22be6163073e112f64ec46972fe354060bd56802..947f8e07cb3778c12299e1d0a1dae718c1b63a43 100644 --- a/.ci/visionary_spack_custom_view.sh +++ b/.ci/visionary_spack_custom_view.sh @@ -10,9 +10,6 @@ ${MY_SPACK_BIN} ${SPACK_ARGS_VIEW[@]+"${SPACK_ARGS_VIEW[@]}"} view -d yes symlin # Strong independent packages who need no gccxml # ################################################## -${MY_SPACK_BIN} ${SPACK_ARGS_VIEW[@]+"${SPACK_ARGS_VIEW[@]}"} view -d yes symlink -i ${MY_SPACK_VIEW_PREFIX}/visionary-simulation $(get_latest_hash "visionary-simulation+dev") -${MY_SPACK_BIN} ${SPACK_ARGS_VIEW[@]+"${SPACK_ARGS_VIEW[@]}"} view -d yes symlink -i ${MY_SPACK_VIEW_PREFIX}/visionary-simulation-nodev $(get_latest_hash "visionary-simulation~dev") - ${MY_SPACK_BIN} ${SPACK_ARGS_VIEW[@]+"${SPACK_ARGS_VIEW[@]}"} view -d yes symlink -i ${MY_SPACK_VIEW_PREFIX}/visionary-dls-core $(get_latest_hash visionary-dls-core "^${DEPENDENCY_PYTHON3}") ${MY_SPACK_BIN} ${SPACK_ARGS_VIEW[@]+"${SPACK_ARGS_VIEW[@]}"} view -d yes symlink -i ${MY_SPACK_VIEW_PREFIX}/visionary-dls $(get_latest_hash visionary-dls+dev "^${DEPENDENCY_PYTHON3}")