diff --git a/bin/build-spack-env.sh b/bin/build-spack-env.sh index 5c50c4b..4f9e21c 100755 --- a/bin/build-spack-env.sh +++ b/bin/build-spack-env.sh @@ -62,7 +62,7 @@ working_dir="${WORKSPACE:=$(pwd)}" usage() { cat < (--)? (|)+ +usage: $prog (--)? [(|)] ... $prog (-[h?]|--help) EOF @@ -71,7 +71,7 @@ BRIEF OPTIONS --cache-write-(sources|binaries[= ](all|none|deps|dependencies|(no|non)[_-]roots|roots)) --no-cache-write-(sources|binaries) - --extra-(sources|binaries)-write-cache[= ](\|)?||)(,...)+ + --extra-(sources|binaries)-write-cache[= ](|)(,...)+ --clear-mirrors --color[= ](auto|always|never) --(debug|verbose)-spack-(bootstrap|buildcache|concretize|install) @@ -95,8 +95,8 @@ BRIEF OPTIONS --verbosity[= ](-?[0-9]+|INFO|WARNING|(FATAL_|INTERNAL_)?ERROR|INFO|PROGRESS|DEBUG_[1-9][0-9]*) --no-ups --ups[= ](plain|traditional|unified|-[ptu]) - --with-cache[= ](\|)?||)(,...)+ - --with-concretiz(e|ing|ation)-cache[= ](\|)?||)(,...)+ + --with-cache[= ](\|)?(:)?(|)(,...)+ + --with-concretiz(e|ing|ation)-cache[= ](\|)?(:)?(|)(,...)+ --with-padding --working-dir[= ] @@ -169,7 +169,7 @@ SPACK CONFIGURATION OPTIONS Control whether sources or binary packages are written to local caches under /copyBack. - --extra-(sources|binaries)-write-cache[= ]|)(,...)+ + --extra-(sources|binaries)-write-cache[= ](|)(,...)+ Extra source/binary cache locations for built products. Incompatible with --no-cache-write-(sources|binaries). @@ -178,12 +178,13 @@ SPACK CONFIGURATION OPTIONS Remove bootstrapped mirrors/caches from configuration. - --with-cache[= ](\|)?||)(,...)+ - --with-concretiz(e|ing|ation)-cache[= ](\|)?||)(,...)+ + --with-cache[= ](\|)?(:)?(|)(,...)+ + --with-concretiz(e|ing|ation)-cache[= ](\|)?(:)?(|)(,...)+ Add a read-only mirror/cache. If --safe-concretize is set, added caches will be ignored during the concretizaton process unless the - second form is used. + second form is used. If specified, may be "source," or + "binary." Other Spack Configuration @@ -305,7 +306,7 @@ CACHING SOURCE AND BINARY PACKAGES `/copyBack/spack-packages/binaries` or `/copyBack/spack-packages/compilers` (as appropriate) after that environment has been built successfully. If - `--cache-write-binaries=no_root` is active, then root packages of + `--cache-write-binaries=no_roots` is active, then root packages of non-compiler environments will not be cached. @@ -357,11 +358,12 @@ EOF } _cache_info() { - if [[ "$cache_spec" =~ ^([^|]+)\|(.*)$ ]]; then - cache_name="${BASH_REMATCH[1]}" - cache_url="${BASH_REMATCH[2]}" + if [[ "$cache_spec" =~ ^(([^|]+)\|)?((source|binary):)?(.*)$ ]]; then + cache_name="${BASH_REMATCH[2]:-buildcache_$((++cache_count))}" + (( have_mirror_add_type )) && cache_type="${BASH_REMATCH[4]}" + cache_url="${BASH_REMATCH[5]}" else - cache_name="buildcache_$((++cache_count))" + _die $EXIT_SPACK_CONFIG_FAILURE "unable to parse cache_spec \"$cache_spec\"" fi } @@ -386,8 +388,12 @@ _classify_concretized_specs() { levels+=($level) done # Sort root hashes for efficient checking. - OIFS="$IFS"; IFS=$'\n'; root_hashes=($(echo "${root_hashes[*]}" | sort -u)); IFS="$OIFS" + local OIFS="$IFS"; IFS=$'\n'; root_hashes=($(echo "${root_hashes[*]}" | sort -u)); IFS="$OIFS" _report $DEBUG_2 "root_hashes=\n ${root_hashes[@]/%/$'\n' }" + # Make sure root hashes that are also dependencies of other roots are + # all removed from non_root_hashes. + _remove_hash non_root_hashes "${root_hashes[@]}" + # Record the number of hashes we need to deal with, and report info. idx=${#hashes[@]} local n_unique=$(IFS=$'\n'; echo "${hashes[*]}" | sort -u | wc -l) _report $DEBUG_1 "examined $specline_idx speclines and found ${#root_hashes[@]} roots and $n_unique unique packages" @@ -458,6 +464,20 @@ _configure_spack() { _cmd $PROGRESS cp "$default_mirrors" "$mirrors_cfg" fi + #################################### + # Check whether spack mirror add supports --type + mirror_add_help="$(spack mirror add --help | grep -Ee '^[[:space:]]*--type[[:space:]]+')" + [ -n "$mirror_add_help" ] && have_mirror_add_type=1 + #################################### + + #################################### + # Check whether spack buildcache create still needs -r + local buildcache_create_help="$(spack buildcache create --help | grep -Ee '^[[:space:]]-r\b')" + [ -z "$buildcache_create_help" ] || + [[ "$buildcache_create_help" == *"(deprecated)"* ]] || + buildcache_rel_arg="-r" + #################################### + #################################### # Configure Spack according to user specifications. # @@ -489,7 +509,7 @@ _configure_spack() { done # 3. Caches _report $PROGRESS "configuring user-specified cache locations" - local cache_spec cache_url cache_name + local cache_spec cache_url cache_name cache_type for cache_spec in \ ${cache_specs[*]:+"${cache_specs[@]}"} \ ${concretizing_cache_specs[*]:+"${concretizing_cache_specs[@]}"} @@ -497,8 +517,9 @@ _configure_spack() { _cache_info "$cache_spec" _cmd $DEBUG_1 spack \ ${common_spack_opts[*]:+"${common_spack_opts[@]}"} \ - mirror add --scope=site "$cache_name" "$cache_url" \ - || _die $EXIT_SPACK_CONFIG_FAILURE "executing spack mirror add --scope=site $cache_name \"$cache_url" + mirror add --scope=site ${cache_type:+--type "${cache_type}"} \ + "$cache_name" "$cache_url" || + _die $EXIT_SPACK_CONFIG_FAILURE "executing spack mirror add --scope=site ${cache_type:+--type \"${cache_type}\"} \"$cache_name\" \"$cache_url\"" done # 4. Spack recipe repos. _report $PROGRESS "configuring user-specified recipe repositories" @@ -506,10 +527,11 @@ _configure_spack() { _report $PROGRESS "configuring local caches" # Add mirror as buildcache for locally-built packages. - local cache_spec cache_name cache_url for cache_spec in ${local_caches[*]:+"${local_caches[@]}"}; do _cache_info "$cache_spec" - _cmd $DEBUG_1 spack mirror add --scope=site $cache_name "$cache_url" + _cmd $DEBUG_1 spack \ + mirror add --scope=site ${cache_type:+--type "${cache_type}"} \ + "$cache_name" "$cache_url" done # Make a cut-down mirror configuration for safe concretization. @@ -518,14 +540,6 @@ _configure_spack() { _make_concretize_mirrors_yaml "$concretize_mirrors" fi - #################################### - # Check whether spack buildcache create still needs -r - local buildcache_rel_help="$(spack buildcache create --help | grep -Ee '^[[:space:]]-r\b')" - [ -z "$buildcache_rel_help" ] || - [[ "$buildcache_rel_help" == *"(deprecated)"* ]] || - buildcache_rel_arg="-r" - #################################### - #################################### # Make sure we know about compilers. _report $PROGRESS "configuring compilers" @@ -558,6 +572,7 @@ _copy_back_logs() { local tar_tmp="$working_dir/copyBack/tmp" local spack_env= env_spec= install_prefix= _report $INFO "end-of-job copy-back..." + trap 'status=$?; _report $INFO "end-of-job copy-back PREEMPTED by signal $((status - 128))"; exit $status' INT mkdir -p "$tar_tmp/"{spack_env,spack-stage} cd "$spack_env_top_dir" _cmd $DEBUG_3 spack clean -dmp @@ -688,7 +703,7 @@ _make_concretize_mirrors_yaml() { _cache_info "$cache_spec" _cmd $DEBUG_1 spack \ ${common_spack_opts[*]:+"${common_spack_opts[@]}"} \ - mirror add --scope=site $cache_name "$cache_url" || + mirror add --scope=site ${cache_type:+--type "${cache_type}"} "$cache_name" "$cache_url" || _die $EXIT_SPACK_CONFIG_FAILURE \ "unable to add $cache_url to concretization-specific mirrors" done @@ -700,45 +715,59 @@ _make_concretize_mirrors_yaml() { _maybe_cache_binaries() { [ "${cache_write_binaries:-none}" == "none" ] && return - local binary_mirror= hashes_to_cache=() msg_extra= + local binary_mirror msg_extra= cache if (( is_compiler_env )); then binary_mirror=compiler else binary_mirror=binary fi + local hashes_to_cache_tmp=(${non_root_hashes[*]:+"${non_root_hashes[@]}"}) if [ "$cache_write_binaries" = "no_roots" ] && ! (( is_compiler_env )); then - hashes_to_cache=(${non_root_hashes[*]:+"${non_root_hashes[@]//*\///}"}) msg_extra=" $cache_write_binaries" else - hashes_to_cache=(${hashes[*]:+"${hashes[@]//*\///}"}) + hashes_to_cache_tmp+=("${root_hashes[@]}") fi + # We need to ask Spack for the location prefix of possibly many + # packages in order to avoid writing packages to build cache that were + # already installed from build cache. Do this in one Spack session to + # avoid unnecessary overhead. + echo 'env = spack.environment.active_environment()' > "$TMP/location_cmds.py" + for hash in ${hashes_to_cache_tmp[*]:+"${hashes_to_cache_tmp[@]}"}; do + echo 'print("'"$hash"'", spack.cmd.disambiguate_spec("'"${hash//*\///}"'", env, False).prefix)' >> "$TMP/location_cmds.py" + done + local hashes_to_cache=( + $( + _cmd $DEBUG_1 $PIPE spack python "$TMP/location_cmds.py" | + while read hash prefix; do + if [ -f "$prefix/.spack/binary_distribution" ]; then + _report_stderr=1 _report $DEBUG_1 "skip package installed from buildcache: $hash" + else + _report_stderr=1 _report $DEBUG_3 "save package in buildcache: $hash" + echo "${hash//*\///}" + fi + done + ) + ) if (( ${#hashes_to_cache[@]} )); then - local cache= for cache in "$working_dir/copyBack/spack-$binary_mirror-cache" \ - ${extra_sources_write_cache[*]:+"${extra_sources_write_cache[@]}"}; do - _report $PROGRESS "caching$msg_extra binary packages for environment $env_name to $cache" - for hash in "${hashes_to_cache[@]}";do - if [ -f "$(spack location -i $hash)/.spack/binary_distribution" ]; then - _report $DEBUG_1 "Skipping package installed from buildcache $hash" - else - _cmd $DEBUG_1 $PROGRESS \ + ${extra_sources_write_cache[*]:+"${extra_sources_write_cache[@]}"}; do + _report $PROGRESS "caching ${#hashes_to_cache[@]}$msg_extra binary packages for environment $env_name to $cache" + _cmd $DEBUG_1 $PROGRESS \ spack \ ${__debug_spack_buildcache:+-d} \ ${__verbose_spack_buildcache:+-v} \ ${common_spack_opts[*]:+"${common_spack_opts[@]}"} \ - buildcache create --deptype=all \ + buildcache create --only package \ ${buildcache_package_opts[*]:+"${buildcache_package_opts[@]}"} \ ${buildcache_key_opts[*]:+"${buildcache_key_opts[@]}"} \ ${buildcache_rel_arg} "$cache" \ - $hash - fi - done - _report $PROGRESS "updating build cache index" - _cmd $DEBUG_1 $PROGRESS \ + "${hashes_to_cache[@]}" + _report $PROGRESS "updating build cache index" + _cmd $DEBUG_1 $PROGRESS \ spack \ ${common_spack_opts[*]:+"${common_spack_opts[@]}"} \ buildcache update-index -k "$cache" - done + done fi } @@ -761,6 +790,8 @@ _maybe_register_compiler() { compiler_spec="${compiler_spec/@/@=}" compiler_spec="${compiler_spec/@==/@=}" compiler_build_spec=${compiler_spec/clang/llvm} + compiler_build_spec=${compiler_build_spec/oneapi/intel-oneapi-compilers} + compiler_build_spec=${compiler_build_spec/dpcpp/intel-oneapi-compilers} local compiler_path="$(_cmd $DEBUG_2 $PIPE spack \ -e $env_name \ ${common_spack_opts[*]:+"${common_spack_opts[@]}"} \ @@ -826,7 +857,7 @@ _piecemeal_build() { _report $DEBUG_2 "finished piecemeal build analysis with $idx entries remaining" # Uniquify hashes. local sorted_buildable_dep_hashes=() - OIFS="$IFS"; IFS=$'\n' + local OIFS="$IFS"; IFS=$'\n' while IFS='' read -r dep_hash; do sorted_buildable_dep_hashes+=("$dep_hash") done < <(echo "${buildable_dep_hashes[*]}" | sort -ut / -k 1nr -k 2,3) @@ -890,8 +921,9 @@ _process_environment() { env create $view_opt $env_name "$env_cfg" \ || _die $EXIT_SPACK_ENV_FAILURE "unable to create environment $env_name from $env_cfg" - # Save logs and attempt to cache successful builds before we're killed. - trap 'interrupt=$?; _report $INFO "user interrupt"; _copy_back_logs' HUP INT QUIT TERM + # Record an intentional stoppage. EXIT trap will take care of + # log/cache preservation. + trap 'interrupt=$?; trap - HUP INT QUIT TERM; _report $INFO "user interrupt"' HUP INT QUIT TERM local is_compiler_env= local is_nonterminal_compiler_env= @@ -972,12 +1004,14 @@ _quote() { } _remove_hash() { - local hashes_var="$1" handled_hash="$2" - eval local "hashes=(\${$hashes_var[*]:+\"\${$hashes_var\[@\]}\"})" + local hashes_var="$1" + shift + local OIFS="$IFS"; IFS=$'\n'; IFS="$OIFS"; handled_hashes=($(echo "$*" | sort -u)); IFS="$OIFS" + eval local "hashes=(\${$hashes_var[*]:+\"\${$hashes_var[@]}\"})" (( ${#hashes[@]} )) || return local filtered_hashes=() for hash in ${hashes[*]:+"${hashes[@]}"}; do - [ "$handled_hash" = "$hash" ] || filtered_hashes+=("$hash") + _in_sorted_hashlist "$hash" "${handled_hashes[@]}" || filtered_hashes+=("$hash") done eval $hashes_var="(\${filtered_hashes[*]:+\"\${filtered_hashes[@]}\"})" } @@ -988,7 +1022,7 @@ _report() { local severity=$DEFAULT_VERBOSITY redirect=">&$STDOUT" if [[ "$1" =~ ^-?[0-9]*$ ]]; then (( severity = $1 )); shift; fi (( VERBOSITY < severity )) && return # Diagnostics suppression. - (( severity < INFO )) && redirect=">&$STDERR" # Important to stderr. + (( _report_stderr || severity < INFO )) && redirect=">&$STDERR" # Important to stderr. local severity_tag="$(_severity_tag $severity)" eval printf '"${severity_tag:+$severity_tag }${is_cmd:+executing }$*\n"' \ $redirect \ @@ -1212,9 +1246,9 @@ fi # Local cache locations are derived from $working_dir. local_caches=( - "__local_binaries|$working_dir/copyBack/spack-packages/binaries" - "__local_compilers|$working_dir/copyBack/spack-packages/compilers" - "__local_sources|$working_dir/copyBack/spack-packages/sources" + "__local_binaries|binary:$working_dir/copyBack/spack-binary-cache" + "__local_compilers|binary:$working_dir/copyBack/spack-compiler-cache" + "__local_sources|source:$working_dir/copyBack/spack-packages/sources" ) spack_env_top_dir="$working_dir/spack_env" @@ -1347,7 +1381,8 @@ if (( failed )) && (( want_emergency_buildcache )); then \ else \ _cmd $ERROR $PIPE spack \ \${common_spack_opts[*]:+\"\${common_spack_opts[@]}\"} \ - buildcache create --deptype=all \ + buildcache create \ + \${buildcache_package_opts[*]:+\"\${buildcache_package_opts[@]}\"} \ \${buildcache_key_opts[*]:+\"\${buildcache_key_opts[@]}\"} \ \$buildcache_rel_arg --rebuild-index \ \"$working_dir/copyBack/spack-emergency-cache\" \ @@ -1392,13 +1427,17 @@ environment_specs=("$@") num_environments=${#environment_specs[@]} env_idx=0 -#################################### -# Build each specified environment. -for env_cfg in ${environment_specs[*]:+"${environment_specs[@]}"}; do - _report $PROGRESS "processing user-specified environment configuration $env_cfg" - _process_environment "$env_cfg" -done -#################################### +if (( ! num_environments )); then # NOP + _report $INFO "no environment configurations specified: exiting after setup" +else + #################################### + # Build each specified environment. + for env_cfg in ${environment_specs[*]:+"${environment_specs[@]}"}; do + _report $PROGRESS "processing user-specified environment configuration $env_cfg" + _process_environment "$env_cfg" + done + #################################### +fi ### Local Variables: ### mode: sh diff --git a/bin/make_env_buildcache b/bin/make_env_buildcache index db21765..6bd8642 100755 --- a/bin/make_env_buildcache +++ b/bin/make_env_buildcache @@ -54,6 +54,13 @@ make_reconstitute_script() { upstream=$(spack config get upstreams | grep install_tree | sed -e 's/.*: *//' -e 's/ *$//') + + # plain layout we have the setup-env script at $SPACK_ROOT + case "$upstream" in + *.opt/spack) + upstream=$SPACK_ROOT + ;; + esac # get the environment name from $SPACK_ENV active=$(echo $SPACK_ENV | sed -e 's;.*/;;') diff --git a/bin/make_spack b/bin/make_spack index 9e11785..2a4d8c2 100755 --- a/bin/make_spack +++ b/bin/make_spack @@ -20,7 +20,7 @@ install_latest() { hash_pkg_ver=`spack -k buildcache list --long --allarch "$pkg $plat" | tail -1` echo "make_spack: info: latest $pkg is $hash_pkg_ver" hash=`echo $hash_pkg_ver | sed -e 's/ .*//'` - spack -k buildcache install -o -a -m "/$hash" + spack -k buildcache install -o -m "/$hash" else spack -k install "$pkg $plat" fi @@ -146,12 +146,17 @@ create_spack() { ;; esac export plat="target=`uname -i` os=`spack arch --operating-system`" - spack mirror add --scope site fnal $binary_cache - spack buildcache update-index -k fnal - spack mirror add --scope site scisoft $binary_cache_bak - spack buildcache update-index -k scisoft - spack -k buildcache keys --install --trust --force - add_recipe_repos + if $minimal + then + : + else + spack mirror add --scope site fnal $binary_cache + spack buildcache update-index -k fnal + spack mirror add --scope site scisoft $binary_cache_bak + spack buildcache update-index -k scisoft + spack -k buildcache keys --install --trust --force + fi + add_recipe_repos if $upgrading then spack reindex diff --git a/bin/make_subspack b/bin/make_subspack index 3f77bb7..12a621e 100755 --- a/bin/make_subspack +++ b/bin/make_subspack @@ -20,6 +20,7 @@ usage() { echo "-v verbose" echo "-t traditional layout" echo "-u unified layout (default)" + echo "-p plain layout" } parse_args() { @@ -29,8 +30,9 @@ parse_args() { spack_release=default padding=false verbose=false + plain=false - eval set : $(getopt --longoptions with_padding,spack_release:,spack_repo,local_env:,dev_pkgs: --options vtu -- "$@") + eval set : $(getopt --longoptions with_padding,spack_release:,spack_repo,local_env:,dev_pkgs: --options vtup -- "$@") shift while echo x$1 | grep x- > /dev/null @@ -43,7 +45,8 @@ parse_args() { x--dev_pkgs) dev_pkgs=$2; shift; shift;; x-t) unified=false; shift ;; x-u) unified=true; shift ;; - x-u) verbose=true; shift ;; + x-p) plain=true; unified=false; shift ;; + x-v) verbose=true; shift ;; x--) shift; break;; esac done @@ -136,19 +139,35 @@ else fi # assume unified layout... +if $plain +then + SPACK_ROOT=$dst +else + if $unified then - install_tree_path=$src SPACK_ROOT="$dst/spack/$spack_release/NULL/" - src=`ls -d $src/spack/*/NULL/ | tail -1` - echo "src=$src" else - install_tree_path=$src/prd SPACK_ROOT="$dst/prd/spack/$spack_release/NULL/" - src="$src/prd/spack/$spack_release/NULL/" fi +fi + +install_tree_path=$src +src=`ls $src/spack/*/NULL/bin/spack $src/bin/spack $src/prd/spack/*/NULL/bin/spack 2>/dev/null | tail -1 | sed -e 's;/bin/spack;;'` +echo "src=$src" + install_tcl_path=$src/share/spack/modules +if [ -d $install_tree_path/prd/ ] +then + install_tree_path=$install_tree_path/prd/ +fi + +if [ -d $install_tree_path/opt/spack/.spack-db ] +then + install_tree_path=$install_tree_path/opt/spack +fi + if [ -d "$install_tree_path/__spack_path_placeholder__" ] then message "Checking for padded .spack-db" @@ -189,12 +208,17 @@ git clone $args $branchbits $spack_repo $SPACK_ROOTb cd $SPACK_ROOT echo "installing config.yaml..." +if $plain +then + printf "config:\n deprecated: false\n" >> $SPACK_ROOT/etc/spack/config.yaml +else if $unified then cp $spackbindir/../templates/config.yaml.unified${extra} $SPACK_ROOT/etc/spack/config.yaml else cp $spackbindir/../templates/config.yaml.traditional${extra} $SPACK_ROOT/etc/spack/config.yaml fi +fi os=`$SPACK_ROOT/bin/spack arch --operating-system` @@ -245,6 +269,7 @@ esac # copy compilers and packages test -d $SPACK_ROOT/etc/spack/$os || mkdir -p $SPACK_ROOT/etc/spack/$os +[ -r $src/etc/spack/compilers.yaml ] && cp $src/etc/spack/compilers.yaml $SPACK_ROOT/etc/spack/compilers.yaml [ -r $src/etc/spack/$os/compilers.yaml ] && cp $src/etc/spack/$os/compilers.yaml $SPACK_ROOT/etc/spack/$os/compilers.yaml [ -r $src/etc/spack/$os/packages.yaml ] && cp $src/etc/spack/$os/packages.yaml $SPACK_ROOT/etc/spack/$os/packages.yaml @@ -287,7 +312,7 @@ do done # use the upstream's bootstrap area... -$SPACK_ROOT/bin/spack bootstrap root --scope=site $install_tree_path/.bootstrap +$SPACK_ROOT/bin/spack bootstrap root --scope=site $(SPACK_ROOT=$src spack bootstrap root) if [ "$local_env" != "" ] then diff --git a/bin/sync_from_jenkins_local b/bin/sync_from_jenkins_local new file mode 100644 index 0000000..f1cb90d --- /dev/null +++ b/bin/sync_from_jenkins_local @@ -0,0 +1,40 @@ +#!/bin/bash +curl -OL https://buildmaster.fnal.gov/buildmaster/view/spack/job/build-spack-env/label1=$1/$2/artifact/copyBack/jenkins-build-spack-env-label1=$1-$2.tar.bz2 +mkdir $1-$2; tar -x -C $1-$2 -f jenkins-build-spack-env-label1=$1-$2.tar.bz2 +#if (curl https://buildmaster.fnal.gov/buildmaster/view/spack/job/build-spack-env/$2/label1=$2/artifact/copyBack/spack-emergency-cache/ 2>/dev/null | grep -q 404 ); then + spack mirror add $1-$2e --type binary https://buildmaster.fnal.gov/buildmaster/view/spack/job/build-spack-env/$2/label1=$1/artifact/copyBack/spack-emergency-cache/ +#fi +#if (curl https://buildmaster.fnal.gov/buildmaster/view/spack/job/build-spack-env/$2/label1=$2/artifact/copyBack/spack-binary-cache/ 2>/dev/null | grep -q 404 ); then + spack mirror add $1-$2b --type binary https://buildmaster.fnal.gov/buildmaster/view/spack/job/build-spack-env/$2/label1=$1/artifact/copyBack/spack-binary-cache/ +#fi +#if (curl https://buildmaster.fnal.gov/buildmaster/view/spack/job/build-spack-env/$2/label1=$2/artifact/copyBack/spack-compiler-cache/ 2>/dev/null | grep -q 404 );then + spack mirror add $1-$2c --type binary https://buildmaster.fnal.gov/buildmaster/view/spack/job/build-spack-env/$2/label1=$1/artifact/copyBack/spack-compiler-cache +#fi +spack mirror list +if [ -d $1-$2/spack_env/var/spack/environments ]; then + mkdir local-binary-plain + spack mirror add local-binary-plain $PWD/local-binary-plain + for env in $(ls -d $1-$2/spack_env/var/spack/environments/*);do + spack -e $env buildcache sync $1-$2b local-binary-plain + spack -e $env buildcache sync $1-$2e local-binary-plain + spack buildcache update-index local-binary-plain + done + mkdir local-compiler-plain + spack mirror add local-compiler-plain $PWD/local-compiler-plain + for env in $(ls -d $1-$2/spack_env/var/spack/environments/{gcc,clang}*);do + spack -e $env buildcache sync $1-$2c local-compiler-plain + done + spack buildcache update-index local-compiler-plain +fi +if [ -d $1-$2/spack_env/spack/v0.21.0-fermi/NULL/var/spack/environments ]; then + for env in $(ls -d $1-$2/spack_env/spack/v0.21.0-fermi/NULL/var/spack/environments/*);do + spack -e $env buildcache sync $1-$2b local-binary-unified + spack -e $env buildcache sync $1-$2e local-binary-unified + done + spack buildcache update-index local-binary-unified + for env in $(ls -d $1-$2/spack_env/spack/v0.21.0-fermi/NULL/var/spack/environments/{gcc,clang}*);do + spack -e $env buildcache sync $1-$2b local-compiler-unified + done + spack buildcache update-index local-compiler-unified +fi + diff --git a/bin/sync_from_jenkins_scisoft b/bin/sync_from_jenkins_scisoft new file mode 100755 index 0000000..7cc4f48 --- /dev/null +++ b/bin/sync_from_jenkins_scisoft @@ -0,0 +1,36 @@ +#!/bin/bash +curl -OL https://buildmaster.fnal.gov/buildmaster/view/spack/job/build-spack-env/label1=$1/$2/artifact/copyBack/jenkins-build-spack-env-label1=$1-$2.tar.bz2 +mkdir $1-$2; tar -x -C $1-$2 -f jenkins-build-spack-env-label1=$1-$2.tar.bz2 +#if (curl https://buildmaster.fnal.gov/buildmaster/view/spack/job/build-spack-env/$2/label1=$2/artifact/copyBack/spack-emergency-cache/ 2>/dev/null | grep -q 404 ); then + spack mirror add $1-$2e --type binary https://buildmaster.fnal.gov/buildmaster/view/spack/job/build-spack-env/$2/label1=$1/artifact/copyBack/spack-emergency-cache/ +#fi +#if (curl https://buildmaster.fnal.gov/buildmaster/view/spack/job/build-spack-env/$2/label1=$2/artifact/copyBack/spack-binary-cache/ 2>/dev/null | grep -q 404 ); then + spack mirror add $1-$2b --type binary https://buildmaster.fnal.gov/buildmaster/view/spack/job/build-spack-env/$2/label1=$1/artifact/copyBack/spack-binary-cache/ +#fi +#if (curl https://buildmaster.fnal.gov/buildmaster/view/spack/job/build-spack-env/$2/label1=$2/artifact/copyBack/spack-compiler-cache/ 2>/dev/null | grep -q 404 );then + spack mirror add $1-$2c --type binary https://buildmaster.fnal.gov/buildmaster/view/spack/job/build-spack-env/$2/label1=$1/artifact/copyBack/spack-compiler-cache +#fi +spack mirror list +if [ -d $1-$2/spack_env/var/spack/environments ]; then + for env in $(ls -d $1-$2/spack_env/var/spack/environments/*);do + spack -e $env buildcache sync $1-$2b local-binary-plain + spack -e $env buildcache sync $1-$2e local-binary-plain + done + spack buildcache update index local-binary-plain + for env in $(ls -d $1-$2/spack_env/var/spack/environments/{gcc,clang}*);do + spack -e $env buildcache sync $1-$2c local-compiler-plain + done + spack buildcache update index local-compiler-plain +fi +if [ -d $1-$2/spack_env/spack/v0.21.0-fermi/NULL/var/spack/environments ]; then + for env in $(ls -d $1-$2/spack_env/spack/v0.21.0-fermi/NULL/var/spack/environments/*);do + spack -e $env buildcache sync $1-$2b local-binary-unified + spack -e $env buildcache sync $1-$2e local-binary-unified + done + spack buildcache update index local-binary-unified + for env in $(ls -d $1-$2/spack_env/spack/v0.21.0-fermi/NULL/var/spack/environments/{gcc,clang}*);do + spack -e $env buildcache sync $1-$2b local-compiler-unified + done + spack buildcache update index local-compiler-unified +fi + diff --git a/bin/ups_to_spack b/bin/ups_to_spack index dbc4c74..695807b 100755 --- a/bin/ups_to_spack +++ b/bin/ups_to_spack @@ -457,11 +457,7 @@ class package: tf_2 = re.sub(".*-2.6", "scientificfermi5", tf_2) tf_2 = re.sub("^[0-9].*", "scientificfermi5", tf_2) - # excessive intel-centrism... - if f_os.find("64bit") > 0: - tf_3 = "x86_64_v2" - else: - tf_3 = "x86" + tf_3 = "x86_64_v2" logging.debug("spack_arch(%s) -> %s-%s-%s" % (self.flav, tf_1, tf_2, tf_3)) return "%s-%s-%s" % (tf_1, tf_2, tf_3) @@ -1941,7 +1937,7 @@ uts = ups_to_spack(pdr=pdr) if not os.path.exists("/tmp/empty.tar"): d = os.path.dirname(os.path.dirname(__file__)) - os.system("cp {0}/templates/emtpy.tar /tmp/empty.tar .".format(d)) + os.system("cp {0}/templates/emtpy.tar /tmp/empty.tar".format(d)) # handle --use_spack args: prepopulate conversion cache for us in use_spack: diff --git a/templates/compiler-projections.yaml.plain b/templates/compiler-projections.yaml.plain new file mode 100644 index 0000000..d7cd273 --- /dev/null +++ b/templates/compiler-projections.yaml.plain @@ -0,0 +1,6 @@ +spack: + config: + install_tree: + projections: + gcc: "{architecture}/{compiler.name}-{compiler.version}/{name}-{version}" + llvm: "{architecture}/{compiler.name}-{compiler.version}/{name}-{version}" diff --git a/templates/compiler-projections.yaml.unified b/templates/compiler-projections.yaml.unified new file mode 100644 index 0000000..b917431 --- /dev/null +++ b/templates/compiler-projections.yaml.unified @@ -0,0 +1,6 @@ +spack: + config: + install_tree: + projections: + gcc: "{package.name}/{version}/{architecture}-{compiler.name}-{compiler.version}" + llvm: "{package.name}/{version}{architecture}-{compiler.name}-{compiler.version}" diff --git a/templates/packagelist b/templates/packagelist index b5b8bdf..31b5328 100644 --- a/templates/packagelist +++ b/templates/packagelist @@ -54,6 +54,7 @@ libfontenc:libfontenc:$0-devel libICE:libice:$0-devel :libpciaccess: libSM:libsm:$0-devel +libtirpc:libtirpc:$0-devel libtool:libtool:$0 libuuid:libuuid:$0-devel libX11:libx11:$0-devel diff --git a/templates/packages.yaml.almalinux9 b/templates/packages.yaml.almalinux9 index c74f361..0c3d7c5 100644 --- a/templates/packages.yaml.almalinux9 +++ b/templates/packages.yaml.almalinux9 @@ -1,7 +1,7 @@ packages: all: compiler: - - gcc@11.3.1 + - gcc@11 - clang@15.0.7 - gcc - clang @@ -53,155 +53,150 @@ packages: require: bison asciidoc: externals: - - spec: "asciidoc @9.1.0 %gcc@11.3.1 os=almalinux9" + - spec: "asciidoc @9.1.0 %gcc@11 os=almalinux9" prefix: /usr autoconf: externals: - - spec: "autoconf @2.69 %gcc@11.3.1 os=almalinux9" + - spec: "autoconf @2.69 %gcc@11 os=almalinux9" prefix: /usr automake: externals: - - spec: "automake @1.16.2 %gcc@11.3.1 os=almalinux9" + - spec: "automake @1.16.2 %gcc@11 os=almalinux9" prefix: /usr berkeley-db: externals: - - spec: "berkeley-db @5.3.28 %gcc@11.3.1 os=almalinux9" + - spec: "berkeley-db @5.3.28 %gcc@11 os=almalinux9" prefix: /usr binutils: externals: - - spec: "binutils +gas+gold+ld @2.35.2 %gcc@11.3.1 os=almalinux9" + - spec: "binutils +gas+gold+ld @2.35.2 %gcc@11 os=almalinux9" prefix: /usr bison: externals: - - spec: "bison @3.7.4 %gcc@11.3.1 os=almalinux9" + - spec: "bison @3.7.4 %gcc@11 os=almalinux9" prefix: /usr cigetcert: externals: - - spec: "cigetcert @1.21 %gcc@11.3.1 os=almalinux9" + - spec: "cigetcert @1.21 %gcc@11 os=almalinux9" prefix: /usr cmake: externals: - - spec: "cmake ~ownlibs @3.20.2 %gcc@11.3.1 os=almalinux9" + - spec: "cmake ~ownlibs @3.20.2 %gcc@11 os=almalinux9" prefix: /usr coreutils: externals: - - spec: "coreutils @8.32 %gcc@11.3.1 os=almalinux9" + - spec: "coreutils @8.32 %gcc@11 os=almalinux9" prefix: /usr curl: externals: - - spec: "curl tls=openssl @7.76.1 %gcc@11.3.1 os=almalinux9" + - spec: "curl tls=openssl @7.76.1 %gcc@11 os=almalinux9" prefix: /usr damageproto: externals: - - spec: "damageproto @1.1 %gcc@11.3.1 os=almalinux9" + - spec: "damageproto @1.1 %gcc@11 os=almalinux9" prefix: /usr buildable: False diffutils: externals: - - spec: "diffutils @3.7 %gcc@11.3.1 os=almalinux9" + - spec: "diffutils @3.7 %gcc@11 os=almalinux9" prefix: /usr buildable: False expat: externals: - - spec: "expat @2.5.0 %gcc@11.3.1 os=almalinux9" + - spec: "expat @2.5.0 %gcc@11 os=almalinux9" prefix: /usr buildable: False findutils: externals: - - spec: "findutils @4.8.0 %gcc@11.3.1 os=almalinux9" + - spec: "findutils @4.8.0 %gcc@11 os=almalinux9" prefix: /usr buildable: False flex: externals: - - spec: "flex @2.6.4 %gcc@11.3.1 os=almalinux9" + - spec: "flex @2.6.4 %gcc@11 os=almalinux9" prefix: /usr fontconfig: externals: - - spec: "fontconfig @2.14.0 %gcc@11.3.1 os=almalinux9" + - spec: "fontconfig @2.14.0 %gcc@11 os=almalinux9" prefix: /usr freetype: externals: - - spec: "freetype @2.10.4 %gcc@11.3.1 os=almalinux9" + - spec: "freetype @2.10.4 %gcc@11 os=almalinux9" prefix: /usr gawk: externals: - - spec: "gawk @5.1.0 %gcc@11.3.1 os=almalinux9" + - spec: "gawk @5.1.0 %gcc@11 os=almalinux9" prefix: /usr gdb: externals: - - spec: "gdb @10.2 %gcc@11.3.1 os=almalinux9" + - spec: "gdb @10.2 %gcc@11 os=almalinux9" prefix: /usr gdbm: externals: - - spec: "gdbm @1.19 %gcc@11.3.1 os=almalinux9" - prefix: /usr - buildable: False - glib: - externals: - - spec: "glib @2.68.4 %gcc@11.3.1 os=almalinux9" + - spec: "gdbm @1.19 %gcc@11 os=almalinux9" prefix: /usr buildable: False gettext: externals: - - spec: "gettext ~bzip2+curses~git+libunistring+libxml2~tar+xz @0.21 %gcc@11.3.1 os=almalinux9" + - spec: "gettext ~bzip2+curses~git+libunistring+libxml2~tar+xz @0.21 %gcc@11 os=almalinux9" prefix: /usr buildable: False git: externals: - - spec: "git @2.39.3 %gcc@11.3.1 os=almalinux9" + - spec: "git @2.39.3 %gcc@11 os=almalinux9" prefix: /usr gtkplus: externals: - - spec: "gtkplus @3.24.31 %gcc@11.3.1 os=almalinux9" + - spec: "gtkplus @3.24.31 %gcc@11 os=almalinux9" prefix: /usr gmake: externals: - - spec: "gmake @4.3 %gcc@11.3.1 os=almalinux9" + - spec: "gmake @4.3 %gcc@11 os=almalinux9" prefix: /usr gperf: externals: - - spec: "gperf @3.1 %gcc@11.3.1 os=almalinux9" + - spec: "gperf @3.1 %gcc@11 os=almalinux9" prefix: /usr groff: externals: - - spec: "groff @1.22.4 %gcc@11.3.1 os=almalinux9" + - spec: "groff @1.22.4 %gcc@11 os=almalinux9" prefix: /usr help2man: externals: - - spec: "help2man @1.48.2 %gcc@11.3.1 os=almalinux9" + - spec: "help2man @1.48.2 %gcc@11 os=almalinux9" prefix: /usr htcondor: externals: - - spec: "htcondor @A %gcc@11.3.1 os=almalinux9" + - spec: "htcondor @A %gcc@11 os=almalinux9" prefix: /usr htgettoken: externals: - - spec: "htgettoken @1.20 %gcc@11.3.1 os=almalinux9" + - spec: "htgettoken @1.20 %gcc@11 os=almalinux9" prefix: /usr hwloc: require: - one_of: - "target=x86_64_v2" - one_of: - - "%gcc@11.3.1" + - "%gcc@11" - "%clang@15.0.7" krb5: externals: - - spec: "krb5 @1.20.1 %gcc@11.3.1 os=almalinux9" + - spec: "krb5 @1.20.1 %gcc@11 os=almalinux9" prefix: /usr libc: externals: - - spec: "libc +iconv+rpc @2.34 %gcc@11.3.1 os=almalinux9" + - spec: "libc +iconv+rpc @2.34 %gcc@11 os=almalinux9" prefix: /usr buildable: False libfontenc: externals: - - spec: "libfontenc @1.1.3 %gcc@11.3.1 os=almalinux9" + - spec: "libfontenc @1.1.3 %gcc@11 os=almalinux9" prefix: /usr buildable: False libice: externals: - - spec: "libice @1.0.10 %gcc@11.3.1 os=almalinux9" + - spec: "libice @1.0.10 %gcc@11 os=almalinux9" prefix: /usr buildable: False libpciaccess: @@ -209,233 +204,233 @@ packages: - one_of: - "target=x86_64_v2" - one_of: - - "%gcc@11.3.1" + - "%gcc@11" - "%clang@15.0.7" libsm: externals: - - spec: "libsm @1.2.3 %gcc@11.3.1 os=almalinux9" + - spec: "libsm @1.2.3 %gcc@11 os=almalinux9" prefix: /usr libtool: externals: - - spec: "libtool @2.4.6 %gcc@11.3.1 os=almalinux9" + - spec: "libtool @2.4.6 %gcc@11 os=almalinux9" prefix: /usr libuuid: externals: - - spec: "libuuid @2.37.4 %gcc@11.3.1 os=almalinux9" + - spec: "libuuid @2.37.4 %gcc@11 os=almalinux9" prefix: /usr libx11: externals: - - spec: "libx11 @1.7.0 %gcc@11.3.1 os=almalinux9" + - spec: "libx11 @1.7.0 %gcc@11 os=almalinux9" prefix: /usr buildable: False libxau: externals: - - spec: "libxau @1.0.9 %gcc@11.3.1 os=almalinux9" + - spec: "libxau @1.0.9 %gcc@11 os=almalinux9" prefix: /usr buildable: False libxcb: externals: - - spec: "libxcb @1.13.1 %gcc@11.3.1 os=almalinux9" + - spec: "libxcb @1.13.1 %gcc@11 os=almalinux9" prefix: /usr buildable: False libxdmcp: externals: - - spec: "libxdmcp @1.1.3 %gcc@11.3.1 os=almalinux9" + - spec: "libxdmcp @1.1.3 %gcc@11 os=almalinux9" prefix: /usr buildable: False libxext: externals: - - spec: "libxext @1.3.4 %gcc@11.3.1 os=almalinux9" + - spec: "libxext @1.3.4 %gcc@11 os=almalinux9" prefix: /usr buildable: False libxft: externals: - - spec: "libxft @2.3.3 %gcc@11.3.1 os=almalinux9" + - spec: "libxft @2.3.3 %gcc@11 os=almalinux9" prefix: /usr libxi: externals: - - spec: "libxi @1.7.10 %gcc@11.3.1 os=almalinux9" + - spec: "libxi @1.7.10 %gcc@11 os=almalinux9" prefix: /usr libxkbcommon: externals: - - spec: "libxkbcommon @1.0.3 %gcc@11.3.1 os=almalinux9" + - spec: "libxkbcommon @1.0.3 %gcc@11 os=almalinux9" prefix: /usr buildable: False libxml2: externals: - - spec: "libxml2 @2.9.13 %gcc@11.3.1 os=almalinux9" + - spec: "libxml2 @2.9.13 %gcc@11 os=almalinux9" prefix: /usr libxmu: externals: - - spec: "libxmu @1.1.3 %gcc@11.3.1 os=almalinux9" + - spec: "libxmu @1.1.3 %gcc@11 os=almalinux9" prefix: /usr buildable: False libxpm: externals: - - spec: "libxpm @3.5.13 %gcc@11.3.1 os=almalinux9" + - spec: "libxpm @3.5.13 %gcc@11 os=almalinux9" prefix: /usr buildable: False libxrender: externals: - - spec: "libxrender @0.9.10 %gcc@11.3.1 os=almalinux9" + - spec: "libxrender @0.9.10 %gcc@11 os=almalinux9" prefix: /usr buildable: False libxshmfence: externals: - - spec: "libxshmfence @1.3 %gcc@11.3.1 os=almalinux9" + - spec: "libxshmfence @1.3 %gcc@11 os=almalinux9" prefix: /usr buildable: False libxt: externals: - - spec: "libxt @1.2.0 %gcc@11.3.1 os=almalinux9" + - spec: "libxt @1.2.0 %gcc@11 os=almalinux9" prefix: /usr buildable: False libxv: externals: - - spec: "libxv @1.0.11 %gcc@11.3.1 os=almalinux9" + - spec: "libxv @1.0.11 %gcc@11 os=almalinux9" prefix: /usr buildable: False libxxf86vm: externals: - - spec: "libxxf86vm @1.1.4 %gcc@11.3.1 os=almalinux9" + - spec: "libxxf86vm @1.1.4 %gcc@11 os=almalinux9" prefix: /usr buildable: False lmod: externals: - - spec: "lmod @8.7.30 %gcc@11.3.1 os=almalinux9" + - spec: "lmod @8.7.30 %gcc@11 os=almalinux9" prefix: /usr m4: externals: - - spec: "m4 @1.4.19 %gcc@11.3.1 os=almalinux9" + - spec: "m4 @1.4.19 %gcc@11 os=almalinux9" prefix: /usr mesa-glu: externals: - - spec: "mesa-glu gl=glx @9.0.1 %gcc@11.3.1 os=almalinux9" + - spec: "mesa-glu gl=glx @9.0.1 %gcc@11 os=almalinux9" prefix: /usr buildable: False mesa: externals: - - spec: "mesa +glx~osmesa swr=none @22.3.0 %gcc@11.3.1 os=almalinux9" + - spec: "mesa +glx~osmesa swr=none @22.3.0 %gcc@11 os=almalinux9" prefix: /usr mkfontdir: externals: - - spec: "mkfontdir @1.2.1 %gcc@11.3.1 os=almalinux9" + - spec: "mkfontdir @1.2.1 %gcc@11 os=almalinux9" prefix: /usr buildable: False mkfontscale: externals: - - spec: "mkfontscale @1.2.1 %gcc@11.3.1 os=almalinux9" + - spec: "mkfontscale @1.2.1 %gcc@11 os=almalinux9" prefix: /usr buildable: False nasm: externals: - - spec: "nasm @2.15.03 %gcc@11.3.1 os=almalinux9" + - spec: "nasm @2.15.03 %gcc@11 os=almalinux9" prefix: /usr ninja: externals: - - spec: "ninja @1.10.2 %gcc@11.3.1 os=almalinux9" + - spec: "ninja @1.10.2 %gcc@11 os=almalinux9" prefix: /usr ncurses: externals: - - spec: "ncurses ~symlinks+termlib @6.2 %gcc@11.3.1 os=almalinux9" + - spec: "ncurses ~symlinks+termlib @6.2 %gcc@11 os=almalinux9" prefix: /usr openssh: externals: - - spec: "openssh @8.7p1 %gcc@11.3.1 os=almalinux9" + - spec: "openssh @8.7p1 %gcc@11 os=almalinux9" prefix: /usr openssl: externals: - - spec: "openssl @3.0.7 %gcc@11.3.1 os=almalinux9" + - spec: "openssl @3.0.7 %gcc@11 os=almalinux9" prefix: /usr patchelf: externals: - - spec: "patchelf @0.15.0 %gcc@11.3.1 os=almalinux9" + - spec: "patchelf @0.15.0 %gcc@11 os=almalinux9" prefix: /usr perl: externals: - - spec: "perl ~open~opcode @5.32.1 %gcc@11.3.1 os=almalinux9" + - spec: "perl ~open~opcode @5.32.1 %gcc@11 os=almalinux9" prefix: /usr pkg-config: externals: - - spec: "pkg-config +internal_glib @1.7.3 %gcc@11.3.1 os=almalinux9" + - spec: "pkg-config +internal_glib @1.7.3 %gcc@11 os=almalinux9" prefix: /usr pkgconf: externals: - - spec: "pkgconf @1.7.3 %gcc@11.3.1 os=almalinux9" + - spec: "pkgconf @1.7.3 %gcc@11 os=almalinux9" prefix: /usr python: externals: - - spec: "python @3.9.16 %gcc@11.3.1 os=almalinux9" + - spec: "python @3.9.16 %gcc@11 os=almalinux9" prefix: /usr readline: externals: - - spec: "readline @8.1 %gcc@11.3.1 os=almalinux9" + - spec: "readline @8.1 %gcc@11 os=almalinux9" prefix: /usr tar: externals: - - spec: "tar @1.34 %gcc@11.3.1 os=almalinux9" + - spec: "tar @1.34 %gcc@11 os=almalinux9" prefix: /usr buildable: False tcl: externals: - - spec: "tcl @8.6.10 %gcc@11.3.1 os=almalinux9" + - spec: "tcl @8.6.10 %gcc@11 os=almalinux9" prefix: /usr buildable: False texinfo: externals: - - spec: "texinfo @6.7 %gcc@11.3.1 os=almalinux9" + - spec: "texinfo @6.7 %gcc@11 os=almalinux9" prefix: /usr texlive: externals: - - spec: "texlive @20200406 %gcc@11.3.1 os=almalinux9" + - spec: "texlive @20200406 %gcc@11 os=almalinux9" prefix: /usr tk: externals: - - spec: "tk @8.6.10 %gcc@11.3.1 os=almalinux9" + - spec: "tk @8.6.10 %gcc@11 os=almalinux9" prefix: /usr buildable: False xcb-util-image: externals: - - spec: "xcb-util-image @0.4.0 %gcc@11.3.1 os=almalinux9" + - spec: "xcb-util-image @0.4.0 %gcc@11 os=almalinux9" prefix: /usr buildable: False xcb-util-keysyms: externals: - - spec: "xcb-util-keysyms @0.4.0 %gcc@11.3.1 os=almalinux9" + - spec: "xcb-util-keysyms @0.4.0 %gcc@11 os=almalinux9" prefix: /usr buildable: False xcb-util-renderutil: externals: - - spec: "xcb-util-renderutil @0.3.9 %gcc@11.3.1 os=almalinux9" + - spec: "xcb-util-renderutil @0.3.9 %gcc@11 os=almalinux9" prefix: /usr buildable: False xcb-util-wm: externals: - - spec: "xcb-util-wm @0.4.1 %gcc@11.3.1 os=almalinux9" + - spec: "xcb-util-wm @0.4.1 %gcc@11 os=almalinux9" prefix: /usr buildable: False xextproto: externals: - - spec: "xextproto @7.3.0 %gcc@11.3.1 os=almalinux9" + - spec: "xextproto @7.3.0 %gcc@11 os=almalinux9" prefix: /usr buildable: False xproto: externals: - - spec: "xproto @7.0.33 %gcc@11.3.1 os=almalinux9" + - spec: "xproto @7.0.33 %gcc@11 os=almalinux9" prefix: /usr buildable: False xrandr: externals: - - spec: "xrandr @1.5.0 %gcc@11.3.1 os=almalinux9" + - spec: "xrandr @1.5.0 %gcc@11 os=almalinux9" prefix: /usr buildable: False xtrans: externals: - - spec: "xtrans @1.4.0 %gcc@11.3.1 os=almalinux9" + - spec: "xtrans @1.4.0 %gcc@11 os=almalinux9" prefix: /usr buildable: False zlib: externals: - - spec: "zlib +optimize+pic+shared @1.2.11 %gcc@11.3.1 os=almalinux9" + - spec: "zlib +optimize+pic+shared @1.2.11 %gcc@11 os=almalinux9" prefix: /usr buildable: False diff --git a/templates/packages.yaml.scientific7 b/templates/packages.yaml.scientific7 index 40377c6..d348fed 100644 --- a/templates/packages.yaml.scientific7 +++ b/templates/packages.yaml.scientific7 @@ -156,11 +156,6 @@ packages: externals: - spec: "git @1.8.3.1 %gcc@4.8.5 os=scientific7" prefix: /usr - glib: - externals: - - spec: "glib @2.56.1 %gcc@4.8.5 os=scientific7" - prefix: /usr - buildable: False gmake: externals: - spec: "gmake @3.82 %gcc@4.8.5 os=scientific7"