Accepting request 882566 from network:cluster
OBS-URL: https://build.opensuse.org/request/show/882566 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/spack?expand=0&rev=6
This commit is contained in:
commit
23a4de776e
35
run-find-external.sh
Normal file
35
run-find-external.sh
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
if [ -e %{_sysconfdir}/spack/no_rpm_trigger ] ; then
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
if [ "x$(id -u)" != "x0" ] ; then
|
||||||
|
echo "Must run as root, in order to copy back the configuration files and use sudo"
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "Create /etc/spack/no_rpm_trigger to stop spack to search for new packages after a rpm install"
|
||||||
|
# save old packages.yml, it has to be removed as when not
|
||||||
|
# the new and old packages.yaml files would have to be
|
||||||
|
# combined
|
||||||
|
test -e /etc/spack/packages.yaml && mv /etc/spack/packages.yaml /etc/spack/packages.yaml.old
|
||||||
|
# prepare the path
|
||||||
|
mypath=/usr/lib64/mpi/gcc/openmpi4/bin
|
||||||
|
mypath=/usr/lib64/mpi/gcc/openmpi3/bin:${mypath}
|
||||||
|
mypath=/usr/lib64/mpi/gcc/openmpi2/bin:${mypath}
|
||||||
|
mypath=/usr/lib64/mpi/gcc/openmpi1/bin:${mypath}
|
||||||
|
mypath=/usr/lib64/mpi/gcc/mvapich2/bin:${mypath}
|
||||||
|
mypath=/usr/lib64/mpi/gcc/mpich/bin:${mypath}
|
||||||
|
# test if we can run as nobody
|
||||||
|
getent passwd nobody &> /dev/null
|
||||||
|
if [ "x$?" == "x0" ] ; then
|
||||||
|
# drop all root rights, when calling external find
|
||||||
|
sudo -u nobody PATH=${mypath}:${PATH} spack external find --scope user --exclude 'installdbgsymbols'
|
||||||
|
if [ -e /var/lib/nobody/.spack/packages.yaml ] ; then
|
||||||
|
mv -v /var/lib/nobody/.spack/packages.yaml /etc/spack/packages.yaml
|
||||||
|
chown root:root /etc/spack/packages.yaml
|
||||||
|
rm -r /var/lib/nobody/.spack
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
# May run in a container...
|
||||||
|
PATH=${mypath}:${PATH} spack external find --scope system --exclude 'installdbgsymbols'
|
||||||
|
fi
|
@ -11,3 +11,8 @@ addFilter("non-standard-gid .* spack")
|
|||||||
# Spurious self-applying patches from an upstream source.
|
# Spurious self-applying patches from an upstream source.
|
||||||
# These are part of recipes and not intended to run as scripts.
|
# These are part of recipes and not intended to run as scripts.
|
||||||
addFilter("non-executable-script /var/lib/spack/repos.*")
|
addFilter("non-executable-script /var/lib/spack/repos.*")
|
||||||
|
# Spack is used for building other software, so when it finds e.g
|
||||||
|
# the bzip binary it assumes that the devel libraries are also installed.
|
||||||
|
# So ignore the warnings:
|
||||||
|
addFilter("devel-dependency libbz2-devel")
|
||||||
|
addFilter("explicit-lib-dependency libbz2-devel")
|
||||||
|
@ -1,3 +1,16 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Mar 30 14:31:26 UTC 2021 - Christian Goll <cgoll@suse.com>
|
||||||
|
|
||||||
|
- added run-find-external.sh which calls the command in post
|
||||||
|
`spack external find` as nobody and not as root
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Mar 23 08:32:49 UTC 2021 - Christian Goll <cgoll@suse.com>
|
||||||
|
|
||||||
|
- added libbz2-devel as dependency as spack requires this, as soon
|
||||||
|
as the bzip2 binary is found and removed warning for this
|
||||||
|
corner case in rpmlinrc
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Fri Mar 19 15:04:20 UTC 2021 - Christian Goll <cgoll@suse.com>
|
Fri Mar 19 15:04:20 UTC 2021 - Christian Goll <cgoll@suse.com>
|
||||||
|
|
||||||
|
18
spack.spec
18
spack.spec
@ -32,7 +32,7 @@ ExclusiveArch: do_not_build
|
|||||||
# Distinguish between packages we recommend and packages which
|
# 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
|
%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
|
# 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
|
%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 openmpi1-devel openmpi2-devel openmpi3-devel openmpi4-devel openmpi1-gnu-hpc-devel openmpi2-gnu-hpc-devel openmpi3-gnu-hpc-devel openmpi4-gnu-hpc-devel mvapich2-devel mpich-devel gcc7 gcc8 gcc10 gcc11
|
||||||
# non oss packages
|
# non oss packages
|
||||||
%define spack_trigger_external cuda-nvcc
|
%define spack_trigger_external cuda-nvcc
|
||||||
Name: spack
|
Name: spack
|
||||||
@ -44,6 +44,7 @@ URL: https://spack.io
|
|||||||
Source0: https://github.com/spack/spack/archive/v%{version}.tar.gz#/spack-%{version}.tar.gz
|
Source0: https://github.com/spack/spack/archive/v%{version}.tar.gz#/spack-%{version}.tar.gz
|
||||||
Source1: README.SUSE
|
Source1: README.SUSE
|
||||||
Source2: spack-rpmlintrc
|
Source2: spack-rpmlintrc
|
||||||
|
Source3: run-find-external.sh
|
||||||
Patch0: Make-spack-paths-compliant-to-distro-installation.patch
|
Patch0: Make-spack-paths-compliant-to-distro-installation.patch
|
||||||
Patch1: fix-tumbleweed-naming.patch
|
Patch1: fix-tumbleweed-naming.patch
|
||||||
Patch2: Adapt-shell-scripts-that-set-up-the-environment-for-different-shells.patch
|
Patch2: Adapt-shell-scripts-that-set-up-the-environment-for-different-shells.patch
|
||||||
@ -60,14 +61,18 @@ BuildRequires: lua-lmod
|
|||||||
BuildRequires: polkit
|
BuildRequires: polkit
|
||||||
BuildRequires: python-base
|
BuildRequires: python-base
|
||||||
BuildRequires: python3-urllib3
|
BuildRequires: python3-urllib3
|
||||||
|
BuildRequires: sudo
|
||||||
Requires: %{name}-recipes = %{version}
|
Requires: %{name}-recipes = %{version}
|
||||||
Requires: bzip2
|
Requires: bzip2
|
||||||
Requires: curl
|
Requires: curl
|
||||||
Requires: gcc-fortran
|
Requires: gcc-fortran
|
||||||
Requires: gpg2
|
Requires: gpg2
|
||||||
|
Requires: libbz2-devel
|
||||||
Requires: lua-lmod
|
Requires: lua-lmod
|
||||||
|
Requires: patch
|
||||||
Requires: polkit
|
Requires: polkit
|
||||||
Requires: spack-recipes
|
Requires: spack-recipes
|
||||||
|
Requires: sudo
|
||||||
Requires: xz
|
Requires: xz
|
||||||
Recommends: %spack_trigger_recommended
|
Recommends: %spack_trigger_recommended
|
||||||
Recommends: spack-recipes = %version
|
Recommends: spack-recipes = %version
|
||||||
@ -238,6 +243,7 @@ cp -r var/spack/* %{buildroot}%{_localstatedir}/lib/spack
|
|||||||
cp -r bin/sbang %{buildroot}/%{_bindir}
|
cp -r bin/sbang %{buildroot}/%{_bindir}
|
||||||
cp -r bin/spack* %{buildroot}%{_bindir}/
|
cp -r bin/spack* %{buildroot}%{_bindir}/
|
||||||
cp etc/spack/defaults/config.yaml %{buildroot}%{_sysconfdir}/skel/.spack/
|
cp etc/spack/defaults/config.yaml %{buildroot}%{_sysconfdir}/skel/.spack/
|
||||||
|
install -m 755 %{S:3} %{buildroot}/%{spack_dir}/run-find-external.sh
|
||||||
|
|
||||||
# Fix more paths
|
# Fix more paths
|
||||||
sed -i 's@\(\sroot:\) $spack/opt/spack@\1 ~/spack/packages@' %{buildroot}%{_sysconfdir}/skel/.spack/config.yaml
|
sed -i 's@\(\sroot:\) $spack/opt/spack@\1 ~/spack/packages@' %{buildroot}%{_sysconfdir}/skel/.spack/config.yaml
|
||||||
@ -380,16 +386,13 @@ if [ -e /etc/os-release ] ; then
|
|||||||
fi
|
fi
|
||||||
sed -i "s@HOSTTYPE@$HOSTTYPE@" %{spack_dir}/etc/spack/compilers.yaml
|
sed -i "s@HOSTTYPE@$HOSTTYPE@" %{spack_dir}/etc/spack/compilers.yaml
|
||||||
# find installed programms
|
# find installed programms
|
||||||
test -e %{_sysconfdir}/spack/no_rpm_trigger || spack external find --scope system --exclude 'installdbgsymbols'
|
/usr/lib/spack/run-find-external.sh
|
||||||
|
|
||||||
%triggerin -- %{?spack_trigger_recommended} %{?spack_trigger_packages} %{?spack_trigger_external}
|
%triggerin -- %{?spack_trigger_recommended} %{?spack_trigger_packages} %{?spack_trigger_external}
|
||||||
test -e %{_sysconfdir}/spack/no_rpm_trigger || spack external find --scope system --exclude 'installdbgsymbols'
|
/usr/lib/spack/run-find-external.sh
|
||||||
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}
|
%triggerpostun -- %{?spack_trigger_recommended} %{?spack_trigger_packages} %{?spack_trigger_external}
|
||||||
test -e %{_sysconfdir}/spack/no_rpm_trigger || rm /etc/spack/packages.yaml
|
/usr/lib/spack/run-find-external.sh
|
||||||
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}
|
%if %{without doc}
|
||||||
%files
|
%files
|
||||||
@ -410,6 +413,7 @@ test -e %{_sysconfdir}/spack/no_rpm_trigger || echo "Create %{_sysconfdir}/spack
|
|||||||
%{_localstatedir}/lib/spack
|
%{_localstatedir}/lib/spack
|
||||||
%{_datarootdir}/spack
|
%{_datarootdir}/spack
|
||||||
%config %{_sysconfdir}/profile.d/spack.sh
|
%config %{_sysconfdir}/profile.d/spack.sh
|
||||||
|
%ghost %config %{_sysconfdir}/spack/packages.yaml
|
||||||
%config %{_sysconfdir}/profile.d/spack.csh
|
%config %{_sysconfdir}/profile.d/spack.csh
|
||||||
%dir %{_sysconfdir}/skel/.spack
|
%dir %{_sysconfdir}/skel/.spack
|
||||||
%config %{_sysconfdir}/skel/.spack/config.yaml
|
%config %{_sysconfdir}/skel/.spack/config.yaml
|
||||||
|
Loading…
Reference in New Issue
Block a user