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"

Reply via email to