SHA256
1
0
forked from pool/patterns-hpc

Accepting request 579793 from home:eeich:hpc_alt

- Fix Group name.
- Move library file list to an include file.
- General clean up and bug fixes.

OBS-URL: https://build.opensuse.org/request/show/579793
OBS-URL: https://build.opensuse.org/package/show/science:HPC/patterns-hpc?expand=0&rev=2
This commit is contained in:
Egbert Eich 2018-02-24 17:39:47 +00:00 committed by Git OBS Bridge
parent 95b8ccbfc8
commit 8a6d9d057b
5 changed files with 123 additions and 126 deletions

View File

@ -1,6 +0,0 @@
#!/bin/bash
awk 'BEGIN {pln=0;} \
/start_non_devel/ {pln=1;}\
/stop_non_devel/ {pln=0;}\
/^[^#]/{ if(pln) {printf("%s-devel\n",$0);} }' hpc-patterns.spec \
> devel-inc.txt

65
library-inc.txt Normal file
View File

@ -0,0 +1,65 @@
# Recommend libraries which are in hpc
Recommends: adios
Recommends: gsl_serial
Recommends: metis_serial
Recommends: python-numpy
Recommends: superlu-gnu
Recommends: libfftw3-gnu-hpc
Recommends: libhdf5-gnu-hpc
Recommends: libhdf5hl_fortran100-hpc
Recommends: libhdf5_cpp-gnu-hpc
Recommends: libhdf5_fortran-gnu-hpc
Recommends: libhdf5_hl-gnu-hpc
Recommends: libhdf5_hl_cpp-gnu-hpc
Recommends: libnetcdf-gnu-hpc
Recommends: libopenblas-gnu-hpc
Recommends: libopenblas-pthreads-gnu-hpc
# We require the mpi module and recommend the rest
Requires: mpich-gnu-hpc
Requires: mpich-ofi-gnu-hpc
Requires: mvapich2-gnu-hpc
Requires: mvapich2-psm-gnu-hpc
Requires: mvapich2-psm2-gnu-hpc
Requires: openmpi1-gnu-hpc
Requires: openmpi3-gnu-hpc
# Now the mpi dependend recommends
Recommends: libblacs2-gnu-mpich-hpc
Recommends: libblacs2-gnu-mvapich2-hpc
Recommends: libfftw3-gnu-mpich-hpc
Recommends: libfftw3-gnu-mvapich2-hpc
Recommends: libfftw3-gnu-openmpi1-hpc
Recommends: libfftw3-gnu-openmpi3-hpc
Recommends: libhdf5-gnu-mpich-hpc
Recommends: libhdf5-gnu-mvapich2-hpc
Recommends: libhdf5-gnu-openmpi1-hpc
Recommends: libhdf5-gnu-openmpi3-hpc
Recommends: libhdf5_fortran-gnu-mpich-hpc
Recommends: libhdf5_fortran-gnu-mvapich2-hpc
Recommends: libhdf5_fortran-gnu-openmpi1-hpc
Recommends: libhdf5_fortran-gnu-openmpi3-hpc
Recommends: libhdf5_hl-gnu-mpich-hpc
Recommends: libhdf5_hl-gnu-mvapich2-hpc
Recommends: libhdf5_hl-gnu-openmpi1-hpc
Recommends: libhdf5_hl-gnu-openmpi3-hpc
Recommends: libhdf5_hl_fortran-gnu-mpich-hpc
Recommends: libhdf5_hl_fortran-gnu-mvapich2-hpc
Recommends: libhdf5_hl_fortran-gnu-openmpi1-hpc
Recommends: libhdf5_hl_fortran-gnu-openmpi3-hpc
Recommends: libnetcdf-fortran-gnu-mpich-hpc
Recommends: libnetcdf-fortran-gnu-openmpi1-hpc
Recommends: libnetcdf-fortran-gnu-openmpi3-hpc
Recommends: libnetcdf-gnu-mpich-hpc
Recommends: libnetcdf-gnu-mvapich2-hpc
Recommends: libnetcdf-gnu-openmpi1-hpc
Recommends: libnetcdf-gnu-openmpi3-hpc
Recommends: libpetsc-gnu-mpich-hpc
Recommends: libpetsc-gnu-mvapich2-hpc
Recommends: libpetsc-gnu-openmpi1-hpc
Recommends: libpetsc-gnu-openmpi3-hpc
Recommends: libscalapack2-gnu-mpich-hpc
Recommends: libscalapack2-gnu-mvapich2-hpc
Recommends: libscalapack2-gnu-openmpi1-hpc
Recommends: libscalapack2-gnu-openmpi3-hpc
Recommends: tau-gnu-mvapich2-hpc
Recommends: tau-gnu-openmpi-hpc

View File

@ -1,3 +1,4 @@
addFilter("W: no-binary");
addFilter("W: unexpanded-macro");
addFilter("W: devel-dependency");

View File

@ -1,3 +1,10 @@
-------------------------------------------------------------------
Sat Feb 24 13:06:37 UTC 2018 - eich@suse.com
- Fix Group name.
- Move library file list to an include file.
- General clean up and bug fixes.
-------------------------------------------------------------------
Fri Feb 23 13:07:44 UTC 2018 - eich@suse.com

View File

@ -15,44 +15,48 @@
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
%define pattern hpc
%define PATTERN HPC
%if 0%{?is_opensuse}
%define product openSUSE-%{pattern}
%else
%define product sle-%{pattern}
%endif
Name: patterns-hpc
Version: 20180124
Name: patterns-%{pattern}
Version: 20180224
Release: 0
Summary: Patterns for Installation (HPC patterns)
License: MIT
Group: Metapackage
Group: Metapackages
Url: https://github.com/openSUSE/patterns
Source0: %{name}-rpmlintrc
Source1: devel-inc.txt
Source1: library-inc.txt
Source2: devel-inc.txt
BuildRequires: patterns-rpm-macros
BuildRoot: %{_tmppath}/%{name}-%{version}-build
ExclusiveArch: x86_64 aarch64
%description
This is an internal package that is used to create the patterns as part
of the installation source setup. Installation of this package does
not make sense.
This particular package contains all the hpc related patterns
This particular package contains all the HPC related patterns
################################################################################
%package compute-node
%pattern_serverfunctions
Summary: HPC compute node
Group: Metapackage
Provides: Metapackages
Provides: compute-node
Provides: pattern() = compute-node
Provides: pattern-icon() = yast-uml
Provides: pattern-icon() = pattern-generic
Provides: pattern-order() = 2010
Provides: pattern-visible()
%if 0%{?is_opensuse}
Provides: patterns-openSUSE-compute-node = %{version}
Obsoletes: patterns-openSUSE-compute-node < %{version}
%else
Provides: patterns-sles-compute-node = %{version}
Obsoletes: patterns-sles-compute-node < %{version}
%endif
Provides: patterns-%{product}-compute-node = %{version}
Obsoletes: patterns-%{product}-compute-node < %{version}
Requires: pattern() = base
Requires: nfs-client
@ -68,143 +72,69 @@ Recommends: genders
A compute node has a minmal software image and mainly runs simultion programs. Services on this node should be reduced to a bare minimum and the node *must* be installed in a automatic manner. A basset of numerical libraries should also be installed.
%files compute-node
%dir /usr/share/doc/packages/patterns
/usr/share/doc/packages/patterns/compute-node.txt
%dir %{_defaultdocdir}/patterns
%{_defaultdocdir}/patterns/compute-node.txt
################################################################################
%package hpc-libraries
%package libraries
%pattern_serverfunctions
Summary: HPC modularized libraries
Group: Metapackage
Provides: Metapackages
Provides: hpc-libraries
Provides: pattern() = hpc-libraries
Provides: pattern-icon() = yast-uml
Provides: pattern-icon() = pattern-generic
Provides: pattern-order() = 2030
Provides: pattern-visible()
%if 0%{?is_opensuse}
Provides: patterns-openSUSE-hpc-libraries = %{version}
Obsoletes: patterns-openSUSE-hpc-libraries < %{version}
%else
Provides: patterns-sles-hpc-libraries = %{version}
Obsoletes: patterns-sles-hpc-libraries < %{version}
%endif
Provides: patterns-%{product}-libraries = %{version}
Obsoletes: patterns-%{product}-libraries < %{version}
Requires: pattern() = compute-node
Requires: lua-lmod
### start_non_devel libs
# Recommend libraries which are in hpc
Recommends: adios
Recommends: gsl_serial
Recommends: metis_serial
Recommends: python-numpy
Recommends: superlu-gnu
Recommends: libfftw3-gnu-hpc
Recommends: libhdf5-gnu-hpc
Recommends: libhdf5hl_fortran100-hpc
Recommends: libhdf5_cpp-gnu-hpc
Recommends: libhdf5_fortran-gnu-hpc
Recommends: libhdf5_hl-gnu-hpc
Recommends: libhdf5_hl_cpp-gnu-hpc
Recommends: libnetcdf-gnu-hpc
Recommends: libopenblas-gnu-hpc
Recommends: libopenblas-pthreads-gnu-hpc
# We require the mpi module and recommend the rest
Requires: mpich-gnu-hpc
Requires: mpich-ofi-gnu-hpc
Requires: mvapich2-gnu-hpc
Requires: mvapich2-psm-gnu-hpc
Requires: mvapich2-psm2-gnu-hpc
Requires: openmpi1-gnu-hpc
Requires: openmpi3-gnu-hpc
# Now the mpi dependend recommends
Recommends: libblacs2-gnu-mpich-hpc
Recommends: libblacs2-gnu-mvapich2-hpc
Recommends: libfftw3-gnu-mpich-hpc
Recommends: libfftw3-gnu-mvapich2-hpc
Recommends: libfftw3-gnu-openmpi1-hpc
Recommends: libfftw3-gnu-openmpi3-hpc
Recommends: libhdf5-gnu-mpich-hpc
Recommends: libhdf5-gnu-mvapich2-hpc
Recommends: libhdf5-gnu-openmpi1-hpc
Recommends: libhdf5-gnu-openmpi3-hpc
Recommends: libhdf5_fortran-gnu-mpich-hpc
Recommends: libhdf5_fortran-gnu-mvapich2-hpc
Recommends: libhdf5_fortran-gnu-openmpi1-hpc
Recommends: libhdf5_fortran-gnu-openmpi3-hpc
Recommends: libhdf5_hl-gnu-mpich-hpc
Recommends: libhdf5_hl-gnu-mvapich2-hpc
Recommends: libhdf5_hl-gnu-openmpi1-hpc
Recommends: libhdf5_hl-gnu-openmpi3-hpc
Recommends: libhdf5_hl_fortran-gnu-mpich-hpc
Recommends: libhdf5_hl_fortran-gnu-mvapich2-hpc
Recommends: libhdf5_hl_fortran-gnu-openmpi1-hpc
Recommends: libhdf5_hl_fortran-gnu-openmpi3-hpc
Recommends: libnetcdf-fortran-gnu-mpich-hpc
Recommends: libnetcdf-fortran-gnu-openmpi1-hpc
Recommends: libnetcdf-fortran-gnu-openmpi3-hpc
Recommends: libnetcdf-gnu-mpich-hpc
Recommends: libnetcdf-gnu-mvapich2-hpc
Recommends: libnetcdf-gnu-openmpi1-hpc
Recommends: libnetcdf-gnu-openmpi3-hpc
Recommends: libpetsc-gnu-mpich-hpc
Recommends: libpetsc-gnu-mvapich2-hpc
Recommends: libpetsc-gnu-openmpi1-hpc
Recommends: libpetsc-gnu-openmpi3-hpc
Recommends: libscalapack2-gnu-mpich-hpc
Recommends: libscalapack2-gnu-mvapich2-hpc
Recommends: libscalapack2-gnu-openmpi1-hpc
Recommends: libscalapack2-gnu-openmpi3-hpc
Recommends: tau-gnu-mvapich2-hpc
Recommends: tau-gnu-openmpi-hpc
### stop_non_devel libs
%include %{SOURCE1}
%description hpc-libraries
This package provides all the modularized libaries so that they can be used in a hpc environment. Especially these libariries allows you to install a mpi enabled libarary for different mpi libraries.
%files hpc-libraries
%dir /usr/share/doc/packages/patterns
/usr/share/doc/packages/patterns/hpc-libraries.txt
%description libraries
This package provides all the modularized libraries so that they can be used in a hpc environment. Especially these libariries allows you to install a mpi enabled libarary for different mpi libraries.
%package hpc-development-node
%files libraries
%dir %{_defaultdocdir}/patterns
%{_defaultdocdir}/patterns/hpc-libraries.txt
################################################################################
%package development-node
%pattern_serverfunctions
Summary: Packages needed to be able to develop HPC Apps
Group: Metapackage
Provides: Metapackages
Provides: hpc-development-node
Provides: pattern() = hpc-development-node
Provides: pattern-icon() = yast-uml
Provides: pattern-icon() = pattern-basis-devel
Provides: pattern-order() = 2040
Provides: pattern-visible()
%if 0%{?is_opensuse}
Provides: patterns-openSUSE-hpc-development-node = %{version}
Obsoletes: patterns-openSUSE-hpc-development-node < %{version}
%else
Provides: patterns-sles-hpc-development-node = %{version}
Obsoletes: patterns-sles-hpc-development-node < %{version}
%endif
Provides: patterns-%{product}-development-node = %{version}
Obsoletes: patterns-%{product}-development-node < %{version}
Requires: pattern() = compute-node
Requires: pattern() = devel_C_C++
Requires: pattern() = devel_basic
Requires: pattern() = devel_perl
Requires: pattern() = devel_python3
%include %{SOURCE1}
%description hpc-development-node
%include %{SOURCE2}
%description development-node
This package provides all the relevant packages for developing HPC applications. It depends on the hpc-compute node and adds additionally the compilers and includes also the relevant managment packages.
%files hpc-development-node
%dir /usr/share/doc/packages/patterns
/usr/share/doc/packages/patterns/hpc-development-node.txt
%files development-node
%dir %{_defaultdocdir}/patterns
%{_defaultdocdir}/patterns/hpc-development-node.txt
%prep
%build
%install
mkdir -p "%{buildroot}/usr/share/doc/packages/patterns"
mkdir -p "%{buildroot}%{_defaultdocdir}/patterns"
for pack in compute-node hpc-libraries hpc-development-node; do
echo "This file marks the pattern $pack in version %{version} to be installed." \
>"%{buildroot}/usr/share/doc/packages/patterns/${pack}.txt"
echo "This file marks the pattern $pack in version %{version} to be installed." \
>"%{buildroot}%{_defaultdocdir}/patterns/${pack}.txt"
done
%post
%postun
%changelog