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: 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 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/ # 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 Name: patterns-%{pattern}
Version: 20180124 Version: 20180224
Release: 0 Release: 0
Summary: Patterns for Installation (HPC patterns) Summary: Patterns for Installation (HPC patterns)
License: MIT License: MIT
Group: Metapackage Group: Metapackages
Url: https://github.com/openSUSE/patterns Url: https://github.com/openSUSE/patterns
Source0: %{name}-rpmlintrc Source0: %{name}-rpmlintrc
Source1: devel-inc.txt Source1: library-inc.txt
Source2: devel-inc.txt
BuildRequires: patterns-rpm-macros BuildRequires: patterns-rpm-macros
BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRoot: %{_tmppath}/%{name}-%{version}-build
ExclusiveArch: x86_64 aarch64
%description %description
This is an internal package that is used to create the patterns as part This is an internal package that is used to create the patterns as part
of the installation source setup. Installation of this package does of the installation source setup. Installation of this package does
not make sense. not make sense.
This particular package contains all the hpc related patterns This particular package contains all the HPC related patterns
################################################################################ ################################################################################
%package compute-node %package compute-node
%pattern_serverfunctions %pattern_serverfunctions
Summary: HPC compute node Summary: HPC compute node
Group: Metapackage Provides: Metapackages
Provides: compute-node Provides: compute-node
Provides: pattern() = compute-node Provides: pattern() = compute-node
Provides: pattern-icon() = yast-uml Provides: pattern-icon() = pattern-generic
Provides: pattern-order() = 2010 Provides: pattern-order() = 2010
Provides: pattern-visible() Provides: pattern-visible()
%if 0%{?is_opensuse} Provides: patterns-%{product}-compute-node = %{version}
Provides: patterns-openSUSE-compute-node = %{version} Obsoletes: patterns-%{product}-compute-node < %{version}
Obsoletes: patterns-openSUSE-compute-node < %{version}
%else
Provides: patterns-sles-compute-node = %{version}
Obsoletes: patterns-sles-compute-node < %{version}
%endif
Requires: pattern() = base Requires: pattern() = base
Requires: nfs-client 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. 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 %files compute-node
%dir /usr/share/doc/packages/patterns %dir %{_defaultdocdir}/patterns
/usr/share/doc/packages/patterns/compute-node.txt %{_defaultdocdir}/patterns/compute-node.txt
################################################################################ ################################################################################
%package hpc-libraries %package libraries
%pattern_serverfunctions %pattern_serverfunctions
Summary: HPC modularized libraries Summary: HPC modularized libraries
Group: Metapackage Provides: Metapackages
Provides: hpc-libraries Provides: hpc-libraries
Provides: pattern() = hpc-libraries Provides: pattern() = hpc-libraries
Provides: pattern-icon() = yast-uml Provides: pattern-icon() = pattern-generic
Provides: pattern-order() = 2030 Provides: pattern-order() = 2030
Provides: pattern-visible() Provides: pattern-visible()
%if 0%{?is_opensuse} Provides: patterns-%{product}-libraries = %{version}
Provides: patterns-openSUSE-hpc-libraries = %{version} Obsoletes: patterns-%{product}-libraries < %{version}
Obsoletes: patterns-openSUSE-hpc-libraries < %{version}
%else
Provides: patterns-sles-hpc-libraries = %{version}
Obsoletes: patterns-sles-hpc-libraries < %{version}
%endif
Requires: pattern() = compute-node Requires: pattern() = compute-node
Requires: lua-lmod Requires: lua-lmod
### start_non_devel libs %include %{SOURCE1}
# 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
%description hpc-libraries %description 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. 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.
%files hpc-libraries
%dir /usr/share/doc/packages/patterns
/usr/share/doc/packages/patterns/hpc-libraries.txt
%package hpc-development-node %files libraries
%dir %{_defaultdocdir}/patterns
%{_defaultdocdir}/patterns/hpc-libraries.txt
################################################################################
%package development-node
%pattern_serverfunctions %pattern_serverfunctions
Summary: Packages needed to be able to develop HPC Apps Summary: Packages needed to be able to develop HPC Apps
Group: Metapackage Provides: Metapackages
Provides: hpc-development-node Provides: hpc-development-node
Provides: pattern() = 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-order() = 2040
Provides: pattern-visible() Provides: pattern-visible()
%if 0%{?is_opensuse} Provides: patterns-%{product}-development-node = %{version}
Provides: patterns-openSUSE-hpc-development-node = %{version} Obsoletes: patterns-%{product}-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
Requires: pattern() = compute-node Requires: pattern() = compute-node
Requires: pattern() = devel_C_C++ Requires: pattern() = devel_C_C++
Requires: pattern() = devel_basic Requires: pattern() = devel_basic
Requires: pattern() = devel_perl Requires: pattern() = devel_perl
Requires: pattern() = devel_python3 Requires: pattern() = devel_python3
%include %{SOURCE1} %include %{SOURCE2}
%description hpc-development-node
%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. 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 %files development-node
/usr/share/doc/packages/patterns/hpc-development-node.txt %dir %{_defaultdocdir}/patterns
%{_defaultdocdir}/patterns/hpc-development-node.txt
%prep %prep
%build %build
%install %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 for pack in compute-node hpc-libraries hpc-development-node; do
echo "This file marks the pattern $pack in version %{version} to be installed." \ echo "This file marks the pattern $pack in version %{version} to be installed." \
>"%{buildroot}/usr/share/doc/packages/patterns/${pack}.txt" >"%{buildroot}%{_defaultdocdir}/patterns/${pack}.txt"
done done
%post
%postun
%changelog %changelog