Compare commits

...

No commits in common. "c8" and "c9s" have entirely different histories.
c8 ... c9s

13 changed files with 173 additions and 43 deletions

13
.gitignore vendored
View File

@ -1 +1,12 @@
SOURCES/mpich-4.1.1.tar.gz /mpich-3.0.4.tar.gz
/mpich-3.1.tar.gz
/mpich-3.1.4.tar.gz
/mpich-3.2.tar.gz
/mpich-3.2.1.tar.gz
/mpich-3.1.1.tar.gz
/mpich-3.3.1.tar.gz
/mpich-3.3.2.tar.gz
/mpich-3.4.tar.gz
/mpich-3.4.1.tar.gz
/mpich-3.4.2.tar.gz
/mpich-4.1.1.tar.gz

1
.mpich.metadata Normal file
View File

@ -0,0 +1 @@
9ac613543e9b53d278196339674499ca71914283 mpich-4.1.1.tar.gz

11
gating.yaml Normal file
View File

@ -0,0 +1,11 @@
--- !Policy
product_versions:
- rhel-9
decision_context: osci_compose_gate
rules:
- !PassingTestCaseRule {test_case_name: osci.brew-build.tier0.functional}

View File

@ -16,8 +16,8 @@
+setenv MPI_INCLUDE @includedir@ +setenv MPI_INCLUDE @includedir@
+setenv MPI_LIB @libdir@ +setenv MPI_LIB @libdir@
+setenv MPI_MAN @mandir@ +setenv MPI_MAN @mandir@
+setenv MPI_PYTHON_SITEARCH @py3sitearch@/@MPINAME@ +setenv MPI_PYTHON_SITEARCH @py2sitearch@/@MPINAME@
+setenv MPI_PYTHON2_SITEARCH @py3sitearch@/@MPINAME@ +setenv MPI_PYTHON2_SITEARCH @py2sitearch@/@MPINAME@
+setenv MPI_PYTHON3_SITEARCH @py3sitearch@/@MPINAME@ +setenv MPI_PYTHON3_SITEARCH @py3sitearch@/@MPINAME@
+setenv MPI_COMPILER @MPINAME@-@ARCH@ +setenv MPI_COMPILER @MPINAME@-@ARCH@
+setenv MPI_SUFFIX _@MPINAME@ +setenv MPI_SUFFIX _@MPINAME@

1
mpich.pth.py2 Normal file
View File

@ -0,0 +1 @@
import sys, os; s = os.getenv('MPI_PYTHON2_SITEARCH'); s and (s in sys.path or sys.path.append(s))

View File

@ -1,5 +1,3 @@
%global source_date_epoch_from_changelog 1
Summary: A high-performance implementation of MPI Summary: A high-performance implementation of MPI
Name: mpich Name: mpich
Version: 4.1.1 Version: 4.1.1
@ -9,7 +7,8 @@ URL: https://www.mpich.org/
Source0: https://www.mpich.org/static/downloads/%{version}/%{name}-%{version}.tar.gz Source0: https://www.mpich.org/static/downloads/%{version}/%{name}-%{version}.tar.gz
Source1: mpich.macros Source1: mpich.macros
Source2: mpich.pth.py3 Source2: mpich.pth.py2
Source3: mpich.pth.py3
Patch0: mpich-modules.patch Patch0: mpich-modules.patch
Patch1: 0001-Drop-real128.patch Patch1: 0001-Drop-real128.patch
@ -17,7 +16,7 @@ BuildRequires: make
BuildRequires: gcc BuildRequires: gcc
BuildRequires: gcc-c++ BuildRequires: gcc-c++
BuildRequires: gcc-gfortran BuildRequires: gcc-gfortran
BuildRequires: hwloc-devel >= 2.2.0 BuildRequires: hwloc-devel >= 2.0
BuildRequires: autoconf BuildRequires: autoconf
BuildRequires: automake BuildRequires: automake
BuildRequires: libtool BuildRequires: libtool
@ -30,6 +29,8 @@ BuildRequires: valgrind-devel
BuildRequires: python3-devel BuildRequires: python3-devel
BuildRequires: rpm-mpi-hooks BuildRequires: rpm-mpi-hooks
Provides: mpi Provides: mpi
Provides: mpich2 = %{version}
Obsoletes: mpich2 < 3.0
Requires: environment(modules) Requires: environment(modules)
# Make sure this package is rebuilt with correct Python version when updating # Make sure this package is rebuilt with correct Python version when updating
@ -60,7 +61,9 @@ mpich-autoload package.
%package autoload %package autoload
Summary: Load mpich automatically into profile Summary: Load mpich automatically into profile
Requires: %{name}%{?_isa} = %{version}-%{release} Requires: mpich = %{version}-%{release}
Provides: mpich2-autoload = 3.0.1
Obsoletes: mpich2-autoload < 3.0
%description autoload %description autoload
This package contains profile files that make mpich automatically loaded. This package contains profile files that make mpich automatically loaded.
@ -68,11 +71,13 @@ This package contains profile files that make mpich automatically loaded.
%package devel %package devel
Summary: Development files for mpich Summary: Development files for mpich
Provides: %{name}-devel-static = %{version}-%{release} Provides: %{name}-devel-static = %{version}-%{release}
Requires: %{name}%{?_isa} = %{version}-%{release} Requires: %{name} = %{version}-%{release}
Requires: pkgconfig Requires: pkgconfig
Requires: gcc-gfortran Requires: gcc-gfortran
Requires: rpm-mpi-hooks Requires: rpm-mpi-hooks
Requires: redhat-rpm-config Requires: redhat-rpm-config
Provides: mpich2-devel = 3.0.1
Obsoletes: mpich2-devel < 3.0
%description devel %description devel
Contains development headers and libraries for mpich Contains development headers and libraries for mpich
@ -81,21 +86,22 @@ Contains development headers and libraries for mpich
Summary: Documentations and examples for mpich Summary: Documentations and examples for mpich
BuildArch: noarch BuildArch: noarch
Requires: %{name}-devel = %{version}-%{release} Requires: %{name}-devel = %{version}-%{release}
Provides: mpich2-doc = 3.0.1
Obsoletes: mpich2-doc < 3.0
%description doc %description doc
Contains documentations, examples and man-pages for mpich Contains documentations, examples and man-pages for mpich
%package -n python3-mpich %package -n python3-mpich
Summary: mpich support for Python 3 Summary: mpich support for Python 3
Provides: python-mpich Requires: %{name} = %{version}-%{release}
Requires: %{name}%{?_isa} = %{version}-%{release}
Requires: python(abi) = %{python3_version} Requires: python(abi) = %{python3_version}
%description -n python3-mpich %description -n python3-mpich
mpich support for Python 3. mpich support for Python 3.
%prep %prep
%setup -q %setup
%patch0 -p1 %patch0 -p1
@ -127,7 +133,8 @@ CONFIGURE_OPTS=(
--with-hwloc-prefix=system --with-hwloc-prefix=system
) )
%configure "${CONFIGURE_OPTS[@]}" # Set -fallow-argument-mismatch for #1795817
%configure "${CONFIGURE_OPTS[@]}" FFLAGS="$FFLAGS -fallow-argument-mismatch"
# Remove rpath # Remove rpath
sed -r -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' libtool sed -r -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' libtool
@ -153,6 +160,7 @@ mkdir -p %{buildroot}%{_datadir}/modulefiles/mpi
sed -r 's|%{_bindir}|%{_libdir}/%{name}/bin|; sed -r 's|%{_bindir}|%{_libdir}/%{name}/bin|;
s|@LIBDIR@|%{_libdir}/%{name}|; s|@LIBDIR@|%{_libdir}/%{name}|;
s|@MPINAME@|%{name}|; s|@MPINAME@|%{name}|;
s|@py2sitearch@|%{python2_sitearch}|;
s|@py3sitearch@|%{python3_sitearch}|; s|@py3sitearch@|%{python3_sitearch}|;
s|@ARCH@|%{_arch}|; s|@ARCH@|%{_arch}|;
s|@fortranmoddir@|%{_fmoddir}|; s|@fortranmoddir@|%{_fmoddir}|;
@ -171,8 +179,10 @@ cp -p %{buildroot}%{_sysconfdir}/profile.d/mpich-%{_arch}.{sh,csh}
install -pDm0644 %{SOURCE1} %{buildroot}%{_rpmconfigdir}/macros.d/macros.%{name} install -pDm0644 %{SOURCE1} %{buildroot}%{_rpmconfigdir}/macros.d/macros.%{name}
# Install the .pth files # Install the .pth files
mkdir -p %{buildroot}%{python2_sitearch}/%{name}
install -pDm0644 %{SOURCE2} %{buildroot}%{python2_sitearch}/%{name}.pth
mkdir -p %{buildroot}%{python3_sitearch}/%{name} mkdir -p %{buildroot}%{python3_sitearch}/%{name}
install -pDm0644 %{SOURCE2} %{buildroot}%{python3_sitearch}/%{name}.pth install -pDm0644 %{SOURCE3} %{buildroot}%{python3_sitearch}/%{name}.pth
find %{buildroot} -type f -name "*.la" -delete find %{buildroot} -type f -name "*.la" -delete
@ -233,44 +243,100 @@ make check VERBOSE=1 \
%changelog %changelog
* Sat Jun 03 2023 Kamal Heib <kheib@redhat.com> - 4.1.1-1 * Sat Jun 03 2023 Kamal Heib <kheib@redhat.com> - 4.1.1-1
- Update to upstream release 4.1.1 - Update to upstream release 4.1.1
- Resolves: rhbz#2212011 - Resolves: rhbz#2212010
* Thu Apr 06 2023 Kyle Walker <kwalker@redhat.com> - 3.4.2-2 * Sat Nov 27 2021 Honggang Li <honli@redhat.com> - 3.4.2-1
- Enable source_date_epoch_from_changelog - Update to latest version 3.4.2
- Related: rhbz#1972098 - Related: rhbz#2015398
* Thu Dec 09 2021 Honggang Li <honli@redhat.com> - 3.4.2-1 * Mon Aug 09 2021 Mohan Boddu <mboddu@redhat.com>
- Update to latest upstream release 3.4.2 - Rebuilt for IMA sigs, glibc 2.34, aarch64 flags
- Resolves: rhbz#2008515 Related: rhbz#1991688
* Thu May 27 2021 Honggang Li <honli@redhat.com> - 3.4.1-1 * Fri Aug 6 2021 Florian Weimer <fweimer@redhat.com> - 3.4.1-3
- Sync with Fedora build - Rebuild to pick up new build flags from redhat-rpm-config (#1984652)
- Update to latest upstream release 3.4.1
- Resolves: rhbz#1960076
* Thu Oct 15 2020 Honggang Li <honli@redhat.com> - 3.3.2-9 * Fri Apr 16 2021 Mohan Boddu <mboddu@redhat.com>
- Fix a dependency typo - Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937
- Related: rhbz#1850080
* Thu Oct 15 2020 Honggang Li <honli@redhat.com> - 3.3.2-8 * Wed Jan 27 2021 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 3.4.1-1
- Sync with Fedora build - Update to latest version (#1912981)
- Update to latest upstream release 3.3.2
- Resolves: rhbz#1657316, rhbz#1732982, rhbz#1850080
* Fri Sep 21 2018 Jarod Wilson <jarod@redhat.com> - 3.2.1-9 * Tue Jan 5 2021 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 3.4-1
- Use proper distro compile flags throughout build - Update to latest version (#1912981)
- Related: rhbz#1624144
* Thu Sep 13 2018 Jarod Wilson <jarod@redhat.com> - 3.2.1-8 * Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 3.3.2-9
- Remove python2 bits entirely, fix mpi lib dependencies - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
- Remove obsolete Provides/Obsoletes for mpich2
- Resolves: rhbz#1628628
* Fri Aug 3 2018 Florian Weimer <fweimer@redhat.com> - 3.2.1-7 * Tue Sep 15 2020 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 3.3.2-8
- Honor %%{valgrind_arches} - Do not require non-loopback addresses in mpirun (#1839007)
* Thu May 17 2018 Charalampos Stratakis <cstratak@redhat.com> - 3.2.1-6 * Thu Aug 06 2020 Christoph Junghans <junghans@votca.org> - 3.3.2-7
- Do not build the python2 subpackage on EL > 7 - Drop build flag from mpi wrappers
* Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 3.3.2-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Mon May 25 2020 Miro Hrončok <mhroncok@redhat.com> - 3.3.2-5
- Rebuilt for Python 3.9
* Fri Feb 14 2020 Christoph Junghans <junghans@votca.org> - 3.3.2-4
- Add 4320.patch to fix #1793563 and #1799473
* Thu Jan 30 2020 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 3.3.2-3
- Add requirement for redhat-rpm-config (#1795674)
* Wed Jan 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 3.3.2-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Sun Nov 17 2019 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 3.3.2-1
- Subpackage python2-mpich has been removed (#1773126)
* Sun Nov 17 2019 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 3.3.2-1
- Update to latest version (#1772152). This is a bugfix release:
https://github.com/pmodels/mpich/blob/v3.3.2/CHANGES.
* Wed Aug 28 2019 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 3.3.1-1
- Really upgrade to 3.3.1 (#1745252)
* Sat Aug 24 2019 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 3.2.1-1
- "Upgrade" back to 3.2.1 (#1745252)
(I made a typo, and instead of *upgrading* to 3.3.1, I made a downgrade
to 3.1.1. Too bad that we don't have *any* automatic check that would
warn about this in Fedora. Version 3.3.1 requires a newer hwloc, but
some of the dependencies are not ready to switch. So let's "upgrade"
back to 3.2.1, and plan to 3.3.1 next week.)
* Mon Aug 19 2019 Miro Hrončok <mhroncok@redhat.com> - 3.1.1-2
- Rebuilt for Python 3.8
* Tue Jul 30 2019 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 3.1.1-1
- Update to latest version (#1718376)
* Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org> - 3.2.1-13
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Wed May 8 2019 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 3.2.1-12
- Require main package and appropriate python version from python subpackages
* Tue May 7 2019 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 3.2.1-11
- Add a guard for python3 version (#1705296)
- Module files are moved to /usr/share/modulefiles/mpi/
* Tue May 7 2019 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 3.2.1-10
- Drop all custom compilation and link flags (#1573088)
* Fri Feb 01 2019 Fedora Release Engineering <releng@fedoraproject.org> - 3.2.1-9
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 3.2.1-8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
* Tue Jun 19 2018 Miro Hrončok <mhroncok@redhat.com> - 3.2.1-7
- Rebuilt for Python 3.7
* Tue Jun 19 2018 Miro Hrončok <mhroncok@redhat.com> - 3.2.1-6
- Rebuilt for Python 3.7
* Wed Apr 4 2018 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 3.2.1-5 * Wed Apr 4 2018 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 3.2.1-5
- Update MANPATH so that normal man pages can still be found (#1533717) - Update MANPATH so that normal man pages can still be found (#1533717)

1
sources Normal file
View File

@ -0,0 +1 @@
SHA512 (mpich-4.1.1.tar.gz) = 9a0920c5f412e15be0b94aba8750175fb49c4f60463a4290a9ca0aa24af425a720bf546ec7f2b9aa1b5d530f065310f5c4ec85aadfda6355d8039b13ca3718ee

10
tests/run_tests.sh Executable file
View File

@ -0,0 +1,10 @@
#!/bin/bash
# when running this in 1minutetip the PATH must be specified to execute
# in the local directory.
echo "Setting path to local directory"
PATH=$PATH:$(pwd)
# simple sanity test
sanity.sh
exit $?

17
tests/sanity.sh Executable file
View File

@ -0,0 +1,17 @@
#!/bin/bash
#
# This is a simple sanity test to satisfy the RHEL8.1 onboard gating
# requirement.
ret=$?
source /etc/profile.d/modules.sh
module load mpi/mpich-x86_64
mpichversion
let ret=$ret+$?
mpirun hostname
let ret=$ret+$?
exit $ret

12
tests/tests.yml Normal file
View File

@ -0,0 +1,12 @@
- hosts: localhost
roles:
- role: standard-test-basic
tags:
- classic
tests:
- simple:
dir: . # switch to subfolder. This parameter is REQUIRED, use `dir: .` for current folder
run: ./run_tests.sh # this is your test command, its exit code is the outcome of the test
required_packages:
- environment-modules
- mpich