spack/run-find-external.sh
Christian Goll 1399716433 Accepting request 931785 from home:mslacken:sp
- updated to version 0.17.0
  (Upstream feature/bug references (<ID>) are relative to
   https://github.com/spack/spack/issues/<ID>).
  * New concretizer is now default
    The new concretizer introduced as an experimental feature in v0.16.0
    is now the default (#25502). The new concretizer is based on the
    clingo logic programming system,
    and it enables us to do much higher quality and faster dependency solving
    The old concretizer is still available via the concretizer: original
    setting, but it is deprecated and will be removed in v0.18.0.
  * Binary Bootstrapping
    To make it easier to use the new concretizer and binary packages,
    Spack now bootstraps clingo and GnuPG from public binaries. If it
    is not able to bootstrap them from binaries, it installs them from
    source code. With these changes, you should still be able to clone Spack
    and start using it almost immediately.
  * Reuse existing packages (experimental)
    The most wanted feature from our
    2020 user survey and
    the most wanted Spack feature of all time (#25310). spack install,
    spack spec, and spack concretize now have a --reuse option, which
    causes Spack to minimize the number of rebuilds it does. The --reuse
    option will try to find existing installations and binary packages locally
    and in registered mirrors, and will prefer to use them over building new
    versions. This will allow users to build from source far less than in
    prior versions of Spack. This feature will continue to be improved, with
    configuration options and better CLI expected in v0.17.1. It will become
    the default concretization mode in v0.18.0.
  * Better error messages
    We have improved the error messages generated by the new concretizer by

OBS-URL: https://build.opensuse.org/request/show/931785
OBS-URL: https://build.opensuse.org/package/show/network:cluster/spack?expand=0&rev=35
2021-11-16 14:32:55 +00:00

43 lines
1.7 KiB
Bash

#!/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}
mypath=/usr/lib/hpc/gnu?/mpi/openmpi/4.*/bin:${mypath}
mypath=/usr/lib/hpc/gnu?/mpi/openmpi/3.*/bin:${mypath}
mypath=/usr/lib/hpc/gnu?/mpi/openmpi/2.*/bin:${mypath}
mypath=/usr/lib/hpc/gnu?/mpi/mpich/3.*/bin:${mypath}
mypath=/usr/lib/hpc/gnu?/mpi/mvapich2/2.*/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