Feature update for spack

Announcement ID: SUSE-FU-2025:0324-1
Release Date: 2025-02-03T08:13:45Z
Rating: moderate
References:
Affected Products:
  • openSUSE Leap 15.3
  • SUSE Linux Enterprise High Performance Computing 15 SP3
  • SUSE Linux Enterprise High Performance Computing LTSS 15 SP3

An update that has one fix can now be installed.

Description:

This update for spack fixes the following issues:

spack was updated from version 0.21.3 to 0.23.0:

  • Improved documentation generation (bsc#1235144)
  • Version v0.23.0:
  • New features:
    • Spec splicing
    • Broader variant propagation
    • Ability to query specs by namespace
    • spack spec now respects environment settings and unify:true
    • Improved and polished spack spec and spack find -c output
    • The command spack -C <env> allows to use an environment's configuration without activation
  • New commands, options, and directives:
    • The new spack env track command takes a non-managed Spack environment and adds a symlink to Spack's $environments_root directory.
    • Added -t short option for spack --backtrace to output backtrace errors
    • gc now allows to garbage-collect specific packages through the command line
    • oci buildcaches now supports the option --only=package
  • Highlighted bugfixes:
    • Externals no longer override the preferred provider
    • Composable cflags
    • Fixed concretizer Unification for included environments
  • Deprecations, removals, and syntax changes:

    • The old concretizer has been removed from Spack, along with the config:concretizer config option
    • Best-effort expansion of spec matrices has been removed
    • The old Cray platform (based on Cray PE modules) has been removed, and platform=cray is no longer supported
    • The config:install_missing_compilers config option has beendeprecated
    • Config options that deprecated in v0.21 have been removed
    • Spack's old test interface has been removed
    • The spack versions --safe-only option, deprecated since v0.21.0, has been removed
    • The --dependencies and --optimize arguments to spack ci have been deprecated
  • Version 0.22.2:

  • Bugs fixed:

    • Bumped vendored archspec for better aarch64 support
    • Fixed regression in {variants.X} and {variants.X.value} format strings
    • Ensure shell escaping of environment variable values in load and activate commands
    • Fixed an issue where spec[pkg] considers specs outside the current DAG
    • Do not halt concretization on unknown variants in externals
    • Improved validation of develop config section/
    • Explicitly disable ccache if turned off in config, to avoid cache pollution
    • Improved backwards compatibility in include_concrete
    • Fixed issue where package tags were sometimes repeated
    • Make setup-env.sh "sourced only" by dropping execution bits
    • Make certain source/binary fetch errors recoverable instead of a hard error
    • Do not initialize previous store state in use_store
  • Update to 0.22.1.

  • Bugs fixed:
    • Fix reuse of externals on Linux
    • Ensure parent gcc-runtime version >= child
    • Ensure the latest gcc-runtime is rpath'ed when multiple exist among link deps
    • Improve version detection of glibc
    • Improve heuristics for solver
    • Make strong preferences override reuse
    • Reduce verbosity when C compiler is missing
    • Make missing ccache executable an error when required
    • Make every environment view containing python a venv
    • Fix external detection for compilers with os but no target.
    • Fix version optimization for roots.
    • Handle common implementations of pagination of tags in OCI build caches.
    • Apply fetched patches to develop specs
    • Avoid Windows wrappers for filesystem utilities on non-Windows
    • Fix formatting issue in spack audit
  • Other changes:

    • Give 'site' scope a lower precedence than 'system' scope
  • Version 0.22.0:

  • New features:
    • Compiler dependencies are moving from compilers.yaml to packages.yaml
    • Improved spack find UI for Environments
    • Improved command-line string quoting
    • Revert default spack install behavior to --reuse
    • The install command now offers three options
    • More control over reused specs
    • New conflict: and prefer: syntax for package preferences
    • include_concrete in environments
    • python-venv isolation
    • Packages can now specify whether they may be distributed in source or binary form
  • Removals, deprecations, and syntax changes:
    • Removed dpcpp compiler and package
    • spack load: removed --only argument
  • Bugs fixed:
    • repo.py: drop deleted packages from provider cache
    • Allow + in module file names
    • cmd/python: use runpy to allow multiprocessing in scripts
    • Show extension commands with spack -h
    • Support environment variable expansion inside module projections
    • Alert user to failed concretizations
    • shell: fix zsh color formatting for PS1 in environments
    • spack mirror create --all: include patches

Patch Instructions:

To install this SUSE update use the SUSE recommended installation methods like YaST online_update or "zypper patch".
Alternatively you can run the command listed for your product:

  • openSUSE Leap 15.3
    zypper in -t patch SUSE-2025-324=1
  • SUSE Linux Enterprise High Performance Computing LTSS 15 SP3
    zypper in -t patch SUSE-SLE-Product-HPC-15-SP3-LTSS-2025-324=1

Package List:

  • openSUSE Leap 15.3 (noarch)
    • spack-build-dependencies-0.23.0-150300.21.1
    • spack-info-0.23.0-150300.21.1
    • spack-man-0.23.0-150300.21.1
    • spack-recipes-0.23.0-150300.21.1
    • spack-0.23.0-150300.21.1
  • SUSE Linux Enterprise High Performance Computing LTSS 15 SP3 (noarch)
    • spack-recipes-0.23.0-150300.21.1
    • spack-info-0.23.0-150300.21.1
    • spack-0.23.0-150300.21.1
    • spack-man-0.23.0-150300.21.1

References: