# # 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/ # %define pattern hpc %define PATTERN HPC %if 0%{?is_opensuse} %define product openSUSE-%{pattern} %else %define product sle-%{pattern} %endif Name: patterns-%{pattern} Version: 20180224 Release: 0 Summary: Patterns for Installation (HPC patterns) License: MIT Group: Metapackages Url: https://github.com/openSUSE/patterns Source0: %{name}-rpmlintrc 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 ################################################################################ %package compute-node %pattern_serverfunctions Summary: HPC compute node Provides: Metapackages Provides: compute-node Provides: pattern() = compute-node Provides: pattern-icon() = pattern-generic Provides: pattern-order() = 2010 Provides: pattern-visible() Provides: patterns-%{product}-compute-node = %{version} Obsoletes: patterns-%{product}-compute-node < %{version} 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 %{_defaultdocdir}/patterns %{_defaultdocdir}/patterns/compute-node.txt ################################################################################ %package libraries %pattern_serverfunctions Summary: HPC modularized libraries Provides: Metapackages Provides: hpc-libraries Provides: pattern() = hpc-libraries Provides: pattern-icon() = pattern-generic Provides: pattern-order() = 2030 Provides: pattern-visible() Provides: patterns-%{product}-libraries = %{version} Obsoletes: patterns-%{product}-libraries < %{version} Requires: pattern() = compute-node Requires: lua-lmod %include %{SOURCE1} %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. %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 Provides: Metapackages Provides: hpc-development-node Provides: pattern() = hpc-development-node Provides: pattern-icon() = pattern-basis-devel Provides: pattern-order() = 2040 Provides: pattern-visible() 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 %{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 development-node %dir %{_defaultdocdir}/patterns %{_defaultdocdir}/patterns/hpc-development-node.txt %prep %build %install 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}%{_defaultdocdir}/patterns/${pack}.txt" done %changelog