From 95b8ccbfc8350855aed5c13f1cc7b321c65971753d0a5e104efb3118d8c63d42 Mon Sep 17 00:00:00 2001 From: Egbert Eich Date: Sat, 24 Feb 2018 01:57:57 +0000 Subject: [PATCH] Accepting request 579684 from home:eeich:hpc_alt New package: - Initial package version of patterns for HPC (FATE#323494). OBS-URL: https://build.opensuse.org/request/show/579684 OBS-URL: https://build.opensuse.org/package/show/science:HPC/patterns-hpc?expand=0&rev=1 --- .gitattributes | 23 +++++ .gitignore | 1 + devel-inc.txt | 61 ++++++++++++ get-devel.sh | 6 ++ patterns-hpc-rpmlintrc | 3 + patterns-hpc.changes | 4 + patterns-hpc.spec | 210 +++++++++++++++++++++++++++++++++++++++++ 7 files changed, 308 insertions(+) create mode 100644 .gitattributes create mode 100644 .gitignore create mode 100644 devel-inc.txt create mode 100644 get-devel.sh create mode 100644 patterns-hpc-rpmlintrc create mode 100644 patterns-hpc.changes create mode 100644 patterns-hpc.spec diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..9b03811 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,23 @@ +## Default LFS +*.7z filter=lfs diff=lfs merge=lfs -text +*.bsp filter=lfs diff=lfs merge=lfs -text +*.bz2 filter=lfs diff=lfs merge=lfs -text +*.gem filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.jar filter=lfs diff=lfs merge=lfs -text +*.lz filter=lfs diff=lfs merge=lfs -text +*.lzma filter=lfs diff=lfs merge=lfs -text +*.obscpio filter=lfs diff=lfs merge=lfs -text +*.oxt filter=lfs diff=lfs merge=lfs -text +*.pdf filter=lfs diff=lfs merge=lfs -text +*.png filter=lfs diff=lfs merge=lfs -text +*.rpm filter=lfs diff=lfs merge=lfs -text +*.tbz filter=lfs diff=lfs merge=lfs -text +*.tbz2 filter=lfs diff=lfs merge=lfs -text +*.tgz filter=lfs diff=lfs merge=lfs -text +*.ttf filter=lfs diff=lfs merge=lfs -text +*.txz filter=lfs diff=lfs merge=lfs -text +*.whl filter=lfs diff=lfs merge=lfs -text +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..57affb6 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.osc diff --git a/devel-inc.txt b/devel-inc.txt new file mode 100644 index 0000000..0fffe01 --- /dev/null +++ b/devel-inc.txt @@ -0,0 +1,61 @@ +Recommends: adios-devel +Recommends: gsl_serial-devel +Recommends: metis_serial-devel +Recommends: python-numpy-devel +Recommends: superlu-gnu-devel +Recommends: libfftw3-gnu-hpc-devel +Recommends: libhdf5-gnu-hpc-devel +Recommends: libhdf5hl_fortran100-hpc-devel +Recommends: libhdf5_cpp-gnu-hpc-devel +Recommends: libhdf5_fortran-gnu-hpc-devel +Recommends: libhdf5_hl-gnu-hpc-devel +Recommends: libhdf5_hl_cpp-gnu-hpc-devel +Recommends: libnetcdf-gnu-hpc-devel +Recommends: libopenblas-gnu-hpc-devel +Recommends: libopenblas-pthreads-gnu-hpc-devel +Requires: mpich-gnu-hpc-devel +Requires: mpich-ofi-gnu-hpc-devel +Requires: mvapich2-gnu-hpc-devel +Requires: mvapich2-psm-gnu-hpc-devel +Requires: mvapich2-psm2-gnu-hpc-devel +Requires: openmpi1-gnu-hpc-devel +Requires: openmpi3-gnu-hpc-devel +Recommends: libblacs2-gnu-mpich-hpc-devel +Recommends: libblacs2-gnu-mvapich2-hpc-devel +Recommends: libfftw3-gnu-mpich-hpc-devel +Recommends: libfftw3-gnu-mvapich2-hpc-devel +Recommends: libfftw3-gnu-openmpi1-hpc-devel +Recommends: libfftw3-gnu-openmpi3-hpc-devel +Recommends: libhdf5-gnu-mpich-hpc-devel +Recommends: libhdf5-gnu-mvapich2-hpc-devel +Recommends: libhdf5-gnu-openmpi1-hpc-devel +Recommends: libhdf5-gnu-openmpi3-hpc-devel +Recommends: libhdf5_fortran-gnu-mpich-hpc-devel +Recommends: libhdf5_fortran-gnu-mvapich2-hpc-devel +Recommends: libhdf5_fortran-gnu-openmpi1-hpc-devel +Recommends: libhdf5_fortran-gnu-openmpi3-hpc-devel +Recommends: libhdf5_hl-gnu-mpich-hpc-devel +Recommends: libhdf5_hl-gnu-mvapich2-hpc-devel +Recommends: libhdf5_hl-gnu-openmpi1-hpc-devel +Recommends: libhdf5_hl-gnu-openmpi3-hpc-devel +Recommends: libhdf5_hl_fortran-gnu-mpich-hpc-devel +Recommends: libhdf5_hl_fortran-gnu-mvapich2-hpc-devel +Recommends: libhdf5_hl_fortran-gnu-openmpi1-hpc-devel +Recommends: libhdf5_hl_fortran-gnu-openmpi3-hpc-devel +Recommends: libnetcdf-fortran-gnu-mpich-hpc-devel +Recommends: libnetcdf-fortran-gnu-openmpi1-hpc-devel +Recommends: libnetcdf-fortran-gnu-openmpi3-hpc-devel +Recommends: libnetcdf-gnu-mpich-hpc-devel +Recommends: libnetcdf-gnu-mvapich2-hpc-devel +Recommends: libnetcdf-gnu-openmpi1-hpc-devel +Recommends: libnetcdf-gnu-openmpi3-hpc-devel +Recommends: libpetsc-gnu-mpich-hpc-devel +Recommends: libpetsc-gnu-mvapich2-hpc-devel +Recommends: libpetsc-gnu-openmpi1-hpc-devel +Recommends: libpetsc-gnu-openmpi3-hpc-devel +Recommends: libscalapack2-gnu-mpich-hpc-devel +Recommends: libscalapack2-gnu-mvapich2-hpc-devel +Recommends: libscalapack2-gnu-openmpi1-hpc-devel +Recommends: libscalapack2-gnu-openmpi3-hpc-devel +Recommends: tau-gnu-mvapich2-hpc-devel +Recommends: tau-gnu-openmpi-hpc-devel diff --git a/get-devel.sh b/get-devel.sh new file mode 100644 index 0000000..ae432b2 --- /dev/null +++ b/get-devel.sh @@ -0,0 +1,6 @@ +#!/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 diff --git a/patterns-hpc-rpmlintrc b/patterns-hpc-rpmlintrc new file mode 100644 index 0000000..459f6d4 --- /dev/null +++ b/patterns-hpc-rpmlintrc @@ -0,0 +1,3 @@ +addFilter("W: no-binary"); + + diff --git a/patterns-hpc.changes b/patterns-hpc.changes new file mode 100644 index 0000000..004fd93 --- /dev/null +++ b/patterns-hpc.changes @@ -0,0 +1,4 @@ +------------------------------------------------------------------- +Fri Feb 23 13:07:44 UTC 2018 - eich@suse.com + +- Initial package version of patterns for HPC (FATE#323494). diff --git a/patterns-hpc.spec b/patterns-hpc.spec new file mode 100644 index 0000000..10a680d --- /dev/null +++ b/patterns-hpc.spec @@ -0,0 +1,210 @@ +# +# spec file for package patterns-hpc +# +# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany. +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via http://bugs.opensuse.org/ +# + + +Name: patterns-hpc +Version: 20180124 +Release: 0 +Summary: Patterns for Installation (HPC patterns) +License: MIT +Group: Metapackage +Url: https://github.com/openSUSE/patterns +Source0: %{name}-rpmlintrc +Source1: devel-inc.txt +BuildRequires: patterns-rpm-macros +BuildRoot: %{_tmppath}/%{name}-%{version}-build + +%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 + +################################################################################ + +%package compute-node +%pattern_serverfunctions +Summary: HPC compute node +Group: Metapackage +Provides: compute-node +Provides: pattern() = compute-node +Provides: pattern-icon() = yast-uml +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 +Requires: pattern() = base + +Requires: nfs-client +Requires: openssh +Requires: salt-minion + +Recommends: ntp +Recommends: nss_ldap +Recommends: ganglia-gmond +Recommends: genders + +%description compute-node +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 +################################################################################ + +%package hpc-libraries +%pattern_serverfunctions +Summary: HPC modularized libraries +Group: Metapackage +Provides: hpc-libraries +Provides: pattern() = hpc-libraries +Provides: pattern-icon() = yast-uml +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 +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 + +%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 + +%package hpc-development-node +%pattern_serverfunctions +Summary: Packages needed to be able to develop HPC Apps +Group: Metapackage +Provides: hpc-development-node +Provides: pattern() = hpc-development-node +Provides: pattern-icon() = yast-uml +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 +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 +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 + +%prep + +%build + +%install +mkdir -p "%{buildroot}/usr/share/doc/packages/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" +done + +%post + +%postun + +%changelog