Accepting request 879453 from network:cluster
OBS-URL: https://build.opensuse.org/request/show/879453 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/spack?expand=0&rev=4
This commit is contained in:
commit
b7033b694e
65
basic-exclude-pattern-for-external-find.patch
Normal file
65
basic-exclude-pattern-for-external-find.patch
Normal file
@ -0,0 +1,65 @@
|
||||
From 03bf4e89802b626278a4b14b4349ee94aa722965 Mon Sep 17 00:00:00 2001
|
||||
From: Christian Goll <cgoll@suse.de>
|
||||
Date: Fri, 26 Feb 2021 14:21:04 +0100
|
||||
Subject: [PATCH] basic exclude pattern for external find
|
||||
|
||||
---
|
||||
lib/spack/spack/cmd/external.py | 18 +++++++++++++-----
|
||||
1 file changed, 13 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/lib/spack/spack/cmd/external.py b/lib/spack/spack/cmd/external.py
|
||||
index 52af72ed8f..ff583d9e87 100644
|
||||
--- a/lib/spack/spack/cmd/external.py
|
||||
+++ b/lib/spack/spack/cmd/external.py
|
||||
@@ -42,6 +42,9 @@ def setup_parser(subparser):
|
||||
'--scope', choices=scopes, metavar=scopes_metavar,
|
||||
default=spack.config.default_modify_scope('packages'),
|
||||
help="configuration scope to modify")
|
||||
+ find_parser.add_argument(
|
||||
+ '--exclude',
|
||||
+ help="do not call binaries with this regular pattern for the search")
|
||||
find_parser.add_argument('packages', nargs=argparse.REMAINDER)
|
||||
|
||||
sp.add_parser(
|
||||
@@ -153,7 +156,7 @@ def external_find(args):
|
||||
else:
|
||||
packages_to_check = spack.repo.path.all_packages()
|
||||
|
||||
- pkg_to_entries = _get_external_packages(packages_to_check)
|
||||
+ pkg_to_entries = _get_external_packages(packages_to_check,args.exclude)
|
||||
new_entries = _update_pkg_config(
|
||||
args.scope, pkg_to_entries, args.not_buildable
|
||||
)
|
||||
@@ -236,7 +239,7 @@ def _update_pkg_config(scope, pkg_to_entries, not_buildable):
|
||||
return all_new_specs
|
||||
|
||||
|
||||
-def _get_external_packages(packages_to_check, system_path_to_exe=None):
|
||||
+def _get_external_packages(packages_to_check,exclude_binaries=None, system_path_to_exe=None):
|
||||
if not system_path_to_exe:
|
||||
system_path_to_exe = _get_system_executables()
|
||||
|
||||
@@ -247,12 +250,17 @@ def _get_external_packages(packages_to_check, system_path_to_exe=None):
|
||||
exe_pattern_to_pkgs[exe].append(pkg)
|
||||
|
||||
pkg_to_found_exes = defaultdict(set)
|
||||
+ if exclude_binaries:
|
||||
+ compiled_exclude = re.compile(exclude_binaries)
|
||||
+ else:
|
||||
+ compiled_exclude = None
|
||||
for exe_pattern, pkgs in exe_pattern_to_pkgs.items():
|
||||
compiled_re = re.compile(exe_pattern)
|
||||
for path, exe in system_path_to_exe.items():
|
||||
- if compiled_re.search(exe):
|
||||
- for pkg in pkgs:
|
||||
- pkg_to_found_exes[pkg].add(path)
|
||||
+ if not compiled_exclude or not compiled_exclude.search(exe):
|
||||
+ if compiled_re.search(exe):
|
||||
+ for pkg in pkgs:
|
||||
+ pkg_to_found_exes[pkg].add(path)
|
||||
|
||||
pkg_to_entries = defaultdict(list)
|
||||
resolved_specs = {} # spec -> exe found for the spec
|
||||
--
|
||||
2.26.2
|
||||
|
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:064b2532c70916c7684d4c7c973416ac32dd2ea15f5c392654c75258bfc8c6c2
|
||||
size 5512800
|
3
spack-0.16.1.tar.gz
Normal file
3
spack-0.16.1.tar.gz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:8d893036b24d9ee0feee41ac33dd66e4fc68d392918f346f8a7a36a69c567567
|
||||
size 5528986
|
@ -4,6 +4,28 @@ Fri Feb 26 22:06:36 UTC 2021 - Egbert Eich <eich@suse.com>
|
||||
- Remove BuildRequires for patterns-base-basesystem and
|
||||
distribution-release.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Feb 26 10:40:00 UTC 2021 - Christian Goll <cgoll@suse.com>
|
||||
|
||||
- update to version 0.16.1
|
||||
* intel-oneapi support through new packages
|
||||
* HIP/ROCm support (#19715, #20095)
|
||||
* concretization enhancements
|
||||
* environment install reporting fix (#20004)
|
||||
* avoid import in ABI compatibility info (#20236)
|
||||
* restore ability of dev-build to skip patches (#20351)
|
||||
* spack find -d spec grouping (#20028)
|
||||
* spack smoke test support (#19987, #20298)
|
||||
* abstract spec comparisons (#20341)
|
||||
* performance improvements for binary relocation (#19690, #20768)
|
||||
* additional sanity checks for variants in builtin packages (#20373)
|
||||
* do not pollute auto-generated configuration files with empty lists or
|
||||
dicts
|
||||
- added file: basic-exclude-pattern-for-external-find.patch
|
||||
* adds the functionality to exclude binaries for external search
|
||||
so that the call 'installdbgsymbols' can be prohibited as this
|
||||
leads to an endless loop when drkonqui is installed
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Feb 4 06:54:13 UTC 2021 - Egbert Eich <eich@suse.com>
|
||||
|
||||
|
37
spack.spec
37
spack.spec
@ -28,15 +28,15 @@ ExclusiveArch: do_not_build
|
||||
%define spack_dir %_prefix/lib/spack/
|
||||
%define spack_group spack
|
||||
# These packages are found and can be used by spack, /etc/spack/packages-yaml
|
||||
# needs to be updated when one of these packages is updated or uninstalled.
|
||||
# Distinguish between packages we recommend and packages which
|
||||
# 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 autoconf bash bison bzip2 cmake-full ccache cpio diffutils findutils flex gcc gcc-fortran git-lfs make m4 ncurses-devel libtool openssl perl-base pkgconf pkgconf-pkg-config python3-basetar info xz
|
||||
# packages recognized by spack, but not recommended
|
||||
%define spack_trigger_packages ghostscript go fish fzf hugo java-11-openjdk-devel java-14-openjdk-devel java-15-openjdk-devel java-16-openjdk-devel java-1_8_0-openjdk-devel ruby
|
||||
# non oss packages
|
||||
# non oss packages
|
||||
%define spack_trigger_external cuda-nvcc
|
||||
Name: spack
|
||||
Version: 0.16.0
|
||||
Version: 0.16.1
|
||||
Release: 0
|
||||
Summary: Package manager for HPC systems
|
||||
License: Apache-2.0 AND MIT AND Python-2.0 AND BSD-3-Clause
|
||||
@ -51,6 +51,7 @@ Patch3: added-dockerfile-for-opensuse-leap-15.patch
|
||||
Patch4: added-target-and-os-calls-to-output-of-spack-spec-co.patch
|
||||
Patch5: Fix-documentation-so-that-parser-doesn-t-stumble.patch
|
||||
Patch6: Fix-error-during-documentation-build-due-to-recursive-module-inclusion.patch
|
||||
Patch7: basic-exclude-pattern-for-external-find.patch
|
||||
# upstream patch removes also problemtatic binaries
|
||||
#Patch4: spack-test-15702.patch
|
||||
%if %{without doc}
|
||||
@ -68,8 +69,8 @@ Requires: lua-lmod
|
||||
Requires: polkit
|
||||
Requires: spack-recipes
|
||||
Requires: xz
|
||||
Recommends: spack-recipes = %version
|
||||
Recommends: %spack_trigger_recommended
|
||||
Recommends: spack-recipes = %version
|
||||
%else
|
||||
BuildRequires: %{python_module Sphinx >= 1.8}
|
||||
BuildRequires: %{python_module sphinxcontrib-programoutput}
|
||||
@ -100,7 +101,6 @@ using different compilers, options, and MPI implementations.
|
||||
|
||||
This package provides a module file that must be loaded to use spack.
|
||||
|
||||
|
||||
%package recipes
|
||||
Summary: Spack built-in package recipes
|
||||
Requires: %{name} >= %version
|
||||
@ -114,7 +114,7 @@ runs correctly regardless of environment, and file management
|
||||
is streamlined. Spack can install many variants of the same build
|
||||
using different compilers, options, and MPI implementations.
|
||||
|
||||
This package contains the built-in package recipes.
|
||||
This package contains the built-in package recipes.
|
||||
|
||||
%package man
|
||||
Summary: Man Page for Spack - Package manager for HPC systems
|
||||
@ -146,7 +146,6 @@ using different compilers, options, and MPI implementations.
|
||||
|
||||
This package contains the info page.
|
||||
|
||||
|
||||
%prep
|
||||
%setup -q
|
||||
%autopatch -p1
|
||||
@ -166,9 +165,9 @@ cd lib/spack/docs
|
||||
grep -rl ":target:" | xargs sed -i -e "/:target:/s/^/#/" -e "/figure::/s/^/#/"
|
||||
# Fix path to var - we install this to the 'real' /var
|
||||
grep -rl "\$SPACK_ROOT/var" | xargs sed -i -e "s@\(.*\)\$SPACK_ROOT/var\(/spack.*\)@\1/var/lib\2@g"
|
||||
# spack cannot run without knowing at least the compiler, so we inject
|
||||
# spack cannot run without knowing at least the compiler, so we inject
|
||||
# a dummy one
|
||||
mkdir -p ${HOME}/.spack/linux/
|
||||
mkdir -p ${HOME}/.spack/linux/
|
||||
cat > ${HOME}/.spack/linux/compilers.yaml <<EOF
|
||||
compilers:
|
||||
- compiler:
|
||||
@ -214,8 +213,8 @@ rm -f share/spack/setup-tutorial-env.sh
|
||||
# Fix rpmlint warnings
|
||||
## No need for the standalone scripts
|
||||
rm -f lib/spack/external/macholib/macho_*.py
|
||||
## Fix shebangs
|
||||
sed -i 's@#!/bin/env sh@#!/bin/bash@' var/spack/repos/builtin/packages/beast-tracer/tracer
|
||||
## Fix shebangs
|
||||
sed -i 's@#!/bin/env sh@#!/bin/bash@' var/spack/repos/builtin/packages/beast-tracer/tracer
|
||||
sed -i 's@#! /usr/bin/env bash@ #!/bin/bash@' share/spack/docker/entrypoint.bash
|
||||
sed -i 's@#!/usr/bin/env bash@#!/bin/bash@' share/spack/docker/package-index/split.sh
|
||||
|
||||
@ -284,7 +283,7 @@ EOF
|
||||
mkdir -p %{buildroot}/%{_sysconfdir}/profile.d
|
||||
cat > %{buildroot}/%{_sysconfdir}/profile.d/spack.sh <<EOF
|
||||
source /etc/os-release
|
||||
if [ "\${ID}" == "opensuse-tumbleweed" ] ; then
|
||||
if [ "\${ID}" == "opensuse-tumbleweed" ] ; then
|
||||
SPACK_NAME="\${ID/-/}"
|
||||
else
|
||||
SPACK_NAME="\${ID/-/_}\${VERSION_ID/.*/}"
|
||||
@ -310,9 +309,9 @@ eval \`awk '/^VERSION_ID=/ {sub("\\\\.[0-9]",""); printf("set %%s",\$0);}' /etc/
|
||||
if ( \$ID == "opensuse_tumbleweed" ) then
|
||||
eval \`awk '/^ID=/ {sub("-",""); printf("set %%s",\$0);}' /etc/os-release\`
|
||||
set SPACK_NAME=\$ID
|
||||
else
|
||||
else
|
||||
set SPACK_NAME="\${ID}\${VERSION_ID}"
|
||||
endif
|
||||
endif
|
||||
set SPACK_ROOT="%{spack_dir}"
|
||||
set MODULEPATH="~/spack/lmod/linux-\${SPACK_NAME}-\${CPU}:%{_prefix}/share/spack/lmod/linux-\${SPACK_NAME}-\${CPU}:\${MODULEPATH}"
|
||||
if ( ! -e ~/.spack/config.yaml ) then
|
||||
@ -371,7 +370,7 @@ sed -i "s@GCC_FULL_VERSION@$GCC_FULL_VERSION@" %{spack_dir}/etc/spack/modules.ya
|
||||
sed -i "s@GCC_VERSION@$GCC_VERSION@" %{spack_dir}/etc/spack/compilers.yaml
|
||||
if [ -e /etc/os-release ] ; then
|
||||
source /etc/os-release
|
||||
if [ "${ID}" == "opensuse-tumbleweed" ] ; then
|
||||
if [ "${ID}" == "opensuse-tumbleweed" ] ; then
|
||||
export SPACK_NAME="${ID/-/}"
|
||||
else
|
||||
export SPACK_NAME="${ID/-/_}${VERSION_ID/.*/}"
|
||||
@ -381,15 +380,15 @@ if [ -e /etc/os-release ] ; then
|
||||
fi
|
||||
sed -i "s@HOSTTYPE@$HOSTTYPE@" %{spack_dir}/etc/spack/compilers.yaml
|
||||
# find installed programms
|
||||
test -e %{_sysconfdir}/spack/no_rpm_trigger || spack external find --scope system
|
||||
test -e %{_sysconfdir}/spack/no_rpm_trigger || spack external find --scope system --exclude 'installdbgsymbols'
|
||||
|
||||
%triggerin -- %{?spack_trigger_recommended} %{?spack_trigger_packages} %{?spack_trigger_external}
|
||||
test -e %{_sysconfdir}/spack/no_rpm_trigger || spack external find --scope system
|
||||
test -e %{_sysconfdir}/spack/no_rpm_trigger || spack external find --scope system --exclude 'installdbgsymbols'
|
||||
test -e %{_sysconfdir}/spack/no_rpm_trigger || echo "Create %{_sysconfdir}/spack/no_rpm_trigger to stop spack to search for new packages after a rpm install"
|
||||
|
||||
%triggerpostun -- %{?spack_trigger_recommended} %{?spack_trigger_packages} %{?spack_trigger_external}
|
||||
test -e %{_sysconfdir}/spack/no_rpm_trigger || rm /etc/spack/packages.yaml
|
||||
test -e %{_sysconfdir}/spack/no_rpm_trigger || spack external find --scope system
|
||||
test -e %{_sysconfdir}/spack/no_rpm_trigger || spack external find --scope system --exclude 'installdbgsymbols'
|
||||
test -e %{_sysconfdir}/spack/no_rpm_trigger || echo "Create %{_sysconfdir}/spack/no_rpm_trigger to stop spack to search for new packages after a rpm install"
|
||||
|
||||
%if %{without doc}
|
||||
|
Loading…
Reference in New Issue
Block a user