Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package spack for openSUSE:Factory checked in at 2023-05-04 17:11:12 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/spack (Old) and /work/SRC/openSUSE:Factory/.spack.new.1533 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "spack" Thu May 4 17:11:12 2023 rev:32 rq:1084588 version:0.19.2 Changes: -------- --- /work/SRC/openSUSE:Factory/spack/spack.changes 2023-03-30 22:52:41.321031271 +0200 +++ /work/SRC/openSUSE:Factory/.spack.new.1533/spack.changes 2023-05-04 17:11:31.912701271 +0200 @@ -1,0 +2,58 @@ +Mon Apr 17 06:59:15 UTC 2023 - Egbert Eich <e...@suse.com> + +- Update to version 0.19.2 with the following bug fixes: + * Ignore global variant requirement for packages that do not define it. + * Compiler wrapper: improved parsing of linker arguments. + * Views: fix support for optional Python extensions. + * Views: fix issue where Python executable gets symlinked instead of copied. + * Fix a bug where tests were not added when concretizing together. + * Increase db timeout from 3s to 60s to improve stability of parallel + installs. + * Buildcache: improve error handling in downloads. + * Module files for packages installed from buildcache have long placeholder + paths abbreviated in configure args section. + * Ensure file with build environment variables is truncated when writing + to it. + * spack config update now works on active environments; +- Add: + Add-zypper-to-the-valid-container.os_packages-commands.patch + This adds `zypper` to the valid OS package managers that can + be specified in a slack.yaml container description like: + spack: + ... + container: + .. + os_packages: + command: zypper + .. +- Add: spack_get_libs.sh + This scripts obtains library and include paths for spack-build + libraries and outputs shell commands which set these as + environment variables. + Additionally, it generates a command line to prepend these lib + directories to LD_LIBRARY_PATH. Thus, the variables can be set + in the current shell by running `source $(spack_get_libs.sh foo)`. + When using `bash` this script may also be sourced directly. + The names of the environment variables are the upper-cased library + names with the strings 'LIB_' and 'INC_' prepended. Thus, for a + library 'foo', they would be 'INC_FOO' and 'LIB_FOO'. + These variables may be used at build time to point the compiler + to the include and library files (bsc#1208751). +- Drop: + Make-sure-spack-environment-is-set-up-in-Dockerfile-template.patch + This patch should not be needed. When building using `podman` use: + `podman build --format docker ...` to enable the non-OCI compliant + instructions in a Dockerfile. +- Add info, makeinfo, libcurl-devel, patchelf to the recommended + packages to add. + Fix: openssl-devel -> libopenssl-devel + +------------------------------------------------------------------- +Thu Apr 6 09:30:50 UTC 2023 - Egbert Eich <e...@suse.com> + +- Add 'zypper' as valid command to container.os_packages. This + allows to build SUSE container using non-default registries. +- Add 'awk', 'git', 'gzip' and 'gunzip' to the requires. +- Add 'patchelf' to the recommended packages. + +------------------------------------------------------------------- Old: ---- Make-sure-spack-environment-is-set-up-in-Dockerfile-template.patch spack-0.19.1.tar.gz New: ---- Add-zypper-to-the-valid-container.os_packages-commands.patch spack-0.19.2.tar.gz spack_get_libs.sh ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ spack.spec ++++++ --- /var/tmp/diff_new_pack.JYFvOK/_old 2023-05-04 17:11:32.604705322 +0200 +++ /var/tmp/diff_new_pack.JYFvOK/_new 2023-05-04 17:11:32.608705346 +0200 @@ -31,7 +31,7 @@ # These packages are found and can be used by spack, %{_sysconfdir}/spack/packages-yaml # needs to be updated when one of these packages is updated or uninstalled. # Distinguish between packages we recommend and packages which -%define spack_trigger_recommended_packages autoconf bash bison bzip2 libzip-devel cmake-full ccache cpio diffutils findutils flex git-lfs make m4 ncurses-devel libtool openssl-devel perl-base pkgconf pkg-config python3-base tar info xz xz-devel +%define spack_trigger_recommended_packages autoconf bash bison bzip2 libzip-devel cmake-full ccache cpio diffutils findutils flex git-lfs info make makeinfo m4 ncurses-devel libtool libcurl-devel libopenssl-devel perl-base pkgconf pkg-config python3-base tar xz xz-devel patchelf %define spack_trigger_recommended_compilers gcc gcc-c++ gcc-fortran @@ -43,7 +43,7 @@ # non oss packages %define spack_trigger_external cuda-nvcc Name: spack -Version: 0.19.1 +Version: 0.19.2 Release: 0 Summary: Package manager for HPC systems License: Apache-2.0 AND MIT AND Python-2.0 AND BSD-3-Clause @@ -55,6 +55,7 @@ Source4: https://en.opensuse.org/index.php?title=Spack&action=raw&ref=157522#/README-oo-wiki # Source5 is from https://docs.python.org/3/objects.inv, but has permanent changes so using a static version Source5: objects.inv +Source6: spack_get_libs.sh Patch2: Adapt-shell-scripts-that-set-up-the-environment-for-different-shells.patch Patch4: added-target-and-os-calls-to-output-of-spack-spec-co.patch Patch5: Make-spack-paths-compliant-to-distro-installation.patch @@ -62,7 +63,7 @@ Patch7: Fix-Spinx-configuration-to-avoid-throwing-errors.patch Patch8: Set-modules-default-to-lmod.patch Patch9: Add-support-for-container-building-using-a-SLE-base-container.patch -Patch100: Make-sure-spack-environment-is-set-up-in-Dockerfile-template.patch +Patch10: Add-zypper-to-the-valid-container.os_packages-commands.patch %if %{without doc} BuildRequires: fdupes BuildRequires: lua-lmod @@ -71,12 +72,15 @@ BuildRequires: sudo BuildRequires: sysuser-tools Requires: %{name}-recipes = %{version} +Requires: awk Requires: bzip2 Requires: coreutils Requires: curl Requires: gcc-c++ Requires: gcc-fortran +Requires: git Requires: gpg2 +Requires: gzip Requires: libbz2-devel Requires: lua-lmod Requires: make @@ -85,6 +89,7 @@ Requires: python3-clingo Requires: sudo Requires: tar +Requires: unzip Requires: xz Recommends: %spack_trigger_recommended_packages %spack_trigger_recommended_compilers %else @@ -304,6 +309,8 @@ mv %{buildroot}%{_localstatedir}/lib/spack/repos %{buildroot}%{_datarootdir}/spack cp -r bin/sbang %{buildroot}/%{_bindir} cp -r bin/spack* %{buildroot}%{_bindir}/ +cp %{S:6} %{buildroot}%{_bindir}/ +chmod 0755 %{buildroot}%{_bindir}/%{basename:%{S:6}} cp etc/spack/defaults/config.yaml %{buildroot}%{_sysconfdir}/skel/.spack/ install -m 755 %{S:3} %{buildroot}/%{spack_dir}/run-find-external.sh sed -i -e 's#@@_sysconfdir@@#%{_sysconfdir}#' %{buildroot}/%{spack_dir}/run-find-external.sh ++++++ Add-zypper-to-the-valid-container.os_packages-commands.patch ++++++ From: Egbert Eich <e...@suse.com> Date: Thu Apr 6 11:29:30 2023 +0200 Subject: Add 'zypper' to the valid container.os_packages commands Patch-mainline: Not yet Git-commit: 0614150f86a3554118f60614e9b0cfaf8fb2aa12 References: Signed-off-by: Egbert Eich <e...@suse.com> Signed-off-by: Egbert Eich <e...@suse.de> --- lib/spack/docs/containers.rst | 2 +- lib/spack/spack/schema/container.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/spack/docs/containers.rst b/lib/spack/docs/containers.rst index 9c6f8a26..1452b6a0 100644 --- a/lib/spack/docs/containers.rst +++ b/lib/spack/docs/containers.rst @@ -498,7 +498,7 @@ to customize the generation of container recipes: - No * - ``os_packages:command`` - Tool used to manage system packages - - ``apt``, ``yum`` + - ``apt``, ``yum``, ``zypper`` - Only with custom base images * - ``os_packages:update`` - Whether or not to update the list of available packages diff --git a/lib/spack/spack/schema/container.py b/lib/spack/spack/schema/container.py index b05199f8..7c98a1db 100644 --- a/lib/spack/spack/schema/container.py +++ b/lib/spack/spack/schema/container.py @@ -54,7 +54,7 @@ "os_packages": { "type": "object", "properties": { - "command": {"type": "string", "enum": ["apt", "yum"]}, + "command": {"type": "string", "enum": ["apt", "yum", "zypper"]}, "update": {"type": "boolean"}, "build": _list_of_packages, "final": _list_of_packages, ++++++ spack-0.19.1.tar.gz -> spack-0.19.2.tar.gz ++++++ /work/SRC/openSUSE:Factory/spack/spack-0.19.1.tar.gz /work/SRC/openSUSE:Factory/.spack.new.1533/spack-0.19.2.tar.gz differ: char 20, line 1 ++++++ spack_get_libs.sh ++++++ #! /bin/bash #set -x spack_shtyp=bash help() { echo -e "$0 [--help][--csh] lib ... Print set commands to set or set LD_LIBRARY_PATH to libraries specified as arguments as well as variables holding each library directory individually. These are usful when linking applications against these libraries. The variable names of the latter begin with 'LIB_' followed by the upper cased library name." } error() { echo -e "$1" >&2 } contains() { local a=$1 shift local -a b=($@) local i for i in ${b[*]}; do [ "$i" == "$a" ] && return 0 done return 1 } path_contains() { local a=$1 local i [ -n "$2" ] || return 1 OFS=$IFS IFS=: for i in $2; do IFS=$OFS [ "$i" == "$a" ] && return 0 done return 1 } print_env() { case $spack_shtyp in csh) echo "setenv $1 $2" ;; bash) if $spack_srcd; then eval $1=$2 export $1 else echo -e "$1=$2\nexport $1" fi ;; esac } get_paths() { local -A libpaths includepaths local OFS=$IFS local ld_exist=$LD_LIBRARY_PATH IFS=" " local package_list="$1" local format="> {hash:7} {name}{@version}{%compiler}{arch=architecture}" local l i for l in $(spack find --format "{name}" --paths $package_list); do local lib=${l%% *} local path=${l##* } if contains $lib "${!libpaths[@]}"; then error "$lib matches multiple packages\n Matching packages:" spack find --format ${format} ${lib} >&2 error " Use a more specific spec (e.g., prepend '/' to the hash)." $spack_srcd || exit 1 fi for i in lib64 lib; do if [ -d $path/$i ]; then libpaths[$lib]="$path/$i" break fi done if [ -d $path/include ]; then includepaths[$lib]="$path/include" fi done IFS=$OFS local -A libs local ld_library_path for i in ${!libpaths[@]}; do libs[LIB_${i^^*}]="${libpaths[$i]}" path_contains ${libpaths[$i]} "${ld_exist}" || \ ld_library_path+="${libpaths[$i]}:" done for i in ${!includepaths[@]}; do eval [ "unset" = "\${INC_${i}:-unset}" ] && print_env "INC_${i^^*}" "${includepaths[$i]}" done for i in ${!libs[@]}; do eval [ "unset" = "\${${i}:-unset}" ] && print_env $i "${libs[$i]}" done [ -n "$ld_library_path" ] && \ print_env LD_LIBRARY_PATH "${ld_library_path}\$LD_LIBRARY_PATH" } spack_srcd=false ( [[ -n $ZSH_VERSION && $ZSH_EVAL_CONTEXT =~ :file$ ]] || [[ -n $BASH_VERSION ]] && (return 0 2>/dev/null) ) && spack_srcd=true while [ -n "$1" ]; do case $1 in *-help|*-h) help; $spack_srcd || exit 0 ;; *-csh|*-tcsh) spack_shtyp=csh ;; *) package_list+=" $1" ;; esac shift done get_paths "$package_list"