From 1a3d64d65dbbfd68431714cac812184eb8b922c149daecba2ac7e40ec2e2a122 Mon Sep 17 00:00:00 2001 From: Ana Guerrero Date: Tue, 16 Mar 2021 15:29:38 +0000 Subject: [PATCH] Accepting request 879451 from home:mslacken:sp - 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 OBS-URL: https://build.opensuse.org/request/show/879451 OBS-URL: https://build.opensuse.org/package/show/network:cluster/spack?expand=0&rev=11 --- basic-exclude-pattern-for-external-find.patch | 65 +++++++++++++++++++ spack-0.16.0.tar.gz | 3 - spack-0.16.1.tar.gz | 3 + spack.changes | 22 +++++++ spack.spec | 37 +++++------ 5 files changed, 108 insertions(+), 22 deletions(-) create mode 100644 basic-exclude-pattern-for-external-find.patch delete mode 100644 spack-0.16.0.tar.gz create mode 100644 spack-0.16.1.tar.gz diff --git a/basic-exclude-pattern-for-external-find.patch b/basic-exclude-pattern-for-external-find.patch new file mode 100644 index 0000000..82c5d99 --- /dev/null +++ b/basic-exclude-pattern-for-external-find.patch @@ -0,0 +1,65 @@ +From 03bf4e89802b626278a4b14b4349ee94aa722965 Mon Sep 17 00:00:00 2001 +From: Christian Goll +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 + diff --git a/spack-0.16.0.tar.gz b/spack-0.16.0.tar.gz deleted file mode 100644 index 02733bd..0000000 --- a/spack-0.16.0.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:064b2532c70916c7684d4c7c973416ac32dd2ea15f5c392654c75258bfc8c6c2 -size 5512800 diff --git a/spack-0.16.1.tar.gz b/spack-0.16.1.tar.gz new file mode 100644 index 0000000..d65819f --- /dev/null +++ b/spack-0.16.1.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8d893036b24d9ee0feee41ac33dd66e4fc68d392918f346f8a7a36a69c567567 +size 5528986 diff --git a/spack.changes b/spack.changes index ec3c39d..1a103bd 100644 --- a/spack.changes +++ b/spack.changes @@ -4,6 +4,28 @@ Fri Feb 26 22:06:36 UTC 2021 - Egbert Eich - Remove BuildRequires for patterns-base-basesystem and distribution-release. +------------------------------------------------------------------- +Fri Feb 26 10:40:00 UTC 2021 - Christian Goll + +- 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 diff --git a/spack.spec b/spack.spec index 623f575..4c23cad 100644 --- a/spack.spec +++ b/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 < %{buildroot}/%{_sysconfdir}/profile.d/spack.sh <