Blob Blame History Raw
# We only compile with gcc, but other people may want other compilers.
# Set the compiler here.
%global opt_cc gcc
# Optional CFLAGS to use with the specific compiler...gcc doesn't need any,
# so uncomment and define to use
#global opt_cflags
%global opt_cxx g++
#global opt_cxxflags
%global opt_f77 gfortran
#global opt_fflags
%global opt_fc gfortran
#global opt_fcflags

%{!?python_sitearch: %global python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)")}
# Optional name suffix to use...we leave it off when compiling with gcc, but
# for other compiled versions to install side by side, it will need a
# suffix in order to keep the names from conflicting.
#global _cc_name_suffix -gcc

%global majmin 1.10
%global mainversion	%{majmin}.3

Name:			openmpi%{?_cc_name_suffix}
Version:		%{mainversion}
Release:		3%{?dist}
Summary:		Open Message Passing Interface
Group:			Development/Libraries
License:		BSD, MIT and Romio
URL:			http://www.open-mpi.org/

# We can't use %{name} here because of _cc_name_suffix
Source0:		http://www.open-mpi.org/software/ompi/v%{majmin}/downloads/openmpi-%{mainversion}.tar.bz2
Source1:		openmpi.module.in
Source2:		macros.openmpi.in

# openmpi-1.6.4-clean.tar.xz was generated by taking the upstream tarball
# and removing license-incompatible files:
# rm -r opal/mca/backtrace/darwin/MoreBacktrace
Source100:		openmpi-1.6.4-clean.tar.xz
# Patch to handle removed items
Patch100:		openmpi-removed.patch
# Patch to use system ltdl for tests
Patch101:               openmpi-ltdl.patch
# Learn configure about ppc64le
Patch102:		openmpi-1.6.4-ppc64le.patch
# Backport of gcc atomics needed for AArch64
Patch103:		openmpi-1.6.4-aarch64.patch

BuildRequires:		gcc-gfortran
#sparc 64 doesn't have valgrind
%ifnarch %{sparc} s390
BuildRequires:		valgrind-devel
%endif
BuildRequires:		libibverbs-devel >= 1.1.3, opensm-devel > 3.3.0
BuildRequires:		librdmacm-devel
BuildRequires:		hwloc-devel
BuildRequires:		python libtool-ltdl-devel
BuildRequires:		libesmtp-devel
BuildRequires:		libfabric-devel
%ifarch x86_64
BuildRequires:		infinipath-psm-devel libpsm2-devel
%endif
%ifarch ppc64le
BuildRequires:		automake
%endif

Obsoletes:             openmpi-libs
Obsoletes:             openmpi-psm

Provides:		mpi
Requires:		environment-modules

# Provides for compat with openmpi-1.10.0.
# See the comment about libmpi_usempi.so.1 in the install section.
%if 0%{?__isa_bits} == 64
Provides:		libmpi_usempi.so.1()(64bit)
%else
Provides:		libmpi_usempi.so.1
%endif

# Private openmpi libraries
%global __provides_exclude_from ^%{_libdir}/(openmpi|compat-openmpi16)/lib/(lib(mca|o|v)|openmpi/).*\\.so(\\..*)?$
%global __requires_exclude ^lib(mca|ompi|open-(pal|rte|trace)|otf|vt|oshmem).*$

%description
Open MPI is an open source, freely available implementation of both the 
MPI-1 and MPI-2 standards, combining technologies and resources from
several other projects (FT-MPI, LA-MPI, LAM/MPI, and PACX-MPI) in
order to build the best MPI library available.  A completely new MPI-2
compliant implementation, Open MPI offers advantages for system and
software vendors, application developers, and computer science
researchers. For more information, see http://www.open-mpi.org/ .

%package devel
Summary:        Development files for openmpi
Group:          Development/Libraries
Requires:       %{name} = %{mainversion}-%{release}, gcc-gfortran
Provides:	mpi-devel
Obsoletes:	openmpi-psm-devel

%description devel
Contains development headers and libraries for openmpi

%ifnarch s390 s390x
%package -n compat-openmpi16%{?_cc_name_suffix}
Summary:        Open MPI 1.6 compat library
Group:          Development/Libraries
Version:        1.6.4
Release:        10.3%{?dist}
Provides:       mpi
Requires:       environment-modules

%description -n compat-openmpi16%{?_cc_name_suffix}
Open MPI is an open source, freely available implementation of both the
MPI-1 and MPI-2 standards, combining technologies and resources from
several other projects (FT-MPI, LA-MPI, LAM/MPI, and PACX-MPI) in
order to build the best MPI library available.  A completely new MPI-2
compliant implementation, Open MPI offers advantages for system and
software vendors, application developers, and computer science
researchers. For more information, see http://www.open-mpi.org/ .

This package provides compatibility for applications compiled with Open MPI
version 1.6.

%package -n compat-openmpi16%{?_cc_name_suffix}-devel
Summary:        Development files for compat-openmpi16
Group:          Development/Libraries
Version:        1.6.4
Release:        %{release}
Requires:       compat-openmpi16%{?_cc_name_suffix}%{?_isa} = %{version}-%{release}, gcc-gfortran
Provides:       mpi-devel

%description -n compat-openmpi16%{?_cc_name_suffix}-devel
Contains development headers and libraries for compat-openmpi16

%endif

# When dealing with multilib installations, aka the ability to run either
# i386 or x86_64 binaries on x86_64 machines, we install the native i386
# openmpi libs/compilers and the native x86_64 libs/compilers.  Obviously,
# on i386 you can only run i386, so you don't really need the -m32 flag
# to gcc in order to force 32 bit mode.  However, since we use the native
# i386 package to support i386 operation on x86_64, and since on x86_64
# the default is x86_64, the i386 package needs to force i386 mode.  This
# is true of all the multilib arches, hence the non-default arch (aka i386
# on x86_64) must force the non-default mode (aka 32 bit compile) in it's
# native-arch package (aka, when built on i386) so that it will work
# properly on the non-native arch as a multilib package (aka i386 installed
# on x86_64).  Just to be safe, we also force the default mode (aka 64 bit)
# in default arch packages (aka, the x86_64 package).  There are, however,
# some arches that don't support forcing *any* mode, those we just leave
# undefined.

%ifarch %{ix86} ppc sparcv9
%global mode 32
%global modeflag -m32
%endif
%ifarch ia64
%global mode 64
%endif
%ifarch x86_64 %{power64} sparc64
%global mode 64
%global modeflag -m64
%endif

%prep
%setup -q -n openmpi-%{mainversion} -b 100
cd ..

cd openmpi-1.6.4
%patch100 -p1 -b .removed
%patch101 -p1 -b .ltdl
%ifarch ppc64le
%patch102 -p1 -b .ppc64le
%endif
%ifarch aarch64
%patch103 -p1 -b .aarch64
%endif
# Make sure we don't use the local libltdl library
rm -r opal/libltdl
cd ..

%build
# We set this to for convenience, since this is the unique dir we use for this
# particular package, version, compiler
%global variant openmpi
%global libname %{variant}%{?_cc_name_suffix}
%global namearch %{variant}-%{_arch}%{?_cc_name_suffix}

# %%configure macro would change --prefix
./configure --prefix=%{_libdir}/%{libname} \
%ifarch armv5tel
	--build=armv5tel-redhat-linux-gnueabi \
	--host=armv5tel-redhat-linux-gnueabi \
%endif
	--mandir=%{_mandir}/%{namearch} \
	--includedir=%{_includedir}/%{namearch} \
	--sysconfdir=%{_sysconfdir}/%{namearch} \
	--disable-silent-rules \
	--with-verbs=/usr \
	--with-sge \
%ifnarch %{sparc} s390
	--with-valgrind \
	--enable-memchecker \
%endif
%ifarch aarch64
	--enable-builtin-atomics \
%endif
	--with-hwloc=/usr \
	--with-libltdl=/usr \
	--with-wrapper-cflags="%{?modeflag}" \
	--with-wrapper-cxxflags="%{?modeflag}" \
	--with-wrapper-fcflags="%{?modeflag}" \
	CC=%{opt_cc} CXX=%{opt_cxx} \
	LDFLAGS='-Wl,-z,noexecstack' \
	CFLAGS="%{?opt_cflags} %{!?opt_cflags:$RPM_OPT_FLAGS}" \
	CXXFLAGS="%{?opt_cxxflags} %{!?opt_cxxflags:$RPM_OPT_FLAGS}" \
	FC=%{opt_fc} FCFLAGS="%{?opt_fcflags} %{!?opt_fcflags:$RPM_OPT_FLAGS}"

make %{?_smp_mflags}
cd ..

%ifnarch s390 s390x
%global variant compat-openmpi16
%global libname %{variant}%{?_cc_name_suffix}
%global namearch %{variant}-%{_arch}%{?_cc_name_suffix}

cd openmpi-1.6.4

%ifarch ppc64le
# learn autotools about new arch
cp -p %{_datadir}/automake-*/config.{guess,sub} ./config/
cp -p %{_datadir}/automake-*/config.{guess,sub} ./ompi/mca/io/romio/romio/confdb/
cp -p %{_datadir}/automake-*/config.{guess,sub} ./ompi/contrib/vt/vt/config/
cp -p %{_datadir}/automake-*/config.{guess,sub} ./ompi/contrib/vt/vt/extlib/otf/config/
%endif
# %%configure macro would change --prefix
./configure --prefix=%{_libdir}/%{libname} \
%ifarch armv5tel
	--build=armv5tel-redhat-linux-gnueabi \
	--host=armv5tel-redhat-linux-gnueabi \
%endif
	--mandir=%{_mandir}/%{namearch} \
	--includedir=%{_includedir}/%{namearch} \
	--sysconfdir=%{_sysconfdir}/%{namearch} \
	--disable-silent-rules \
	--enable-opal-multi-threads \
	--with-openib=/usr \
	--with-sge \
%ifnarch %{sparc} s390
	--with-valgrind \
	--enable-memchecker \
%endif
%ifarch aarch64
	--enable-builtin-atomics \
%endif
	--with-esmtp \
	--with-hwloc=/usr \
	--with-libltdl=/usr \
	--with-wrapper-cflags="%{?modeflag}" \
	--with-wrapper-cxxflags="%{?modeflag}" \
	--with-wrapper-fflags="%{?modeflag}" \
	--with-wrapper-fcflags="%{?modeflag}" \
	CC=%{opt_cc} CXX=%{opt_cxx} \
	LDFLAGS='-Wl,-z,noexecstack' \
	CFLAGS="%{?opt_cflags} %{!?opt_cflags:$RPM_OPT_FLAGS}" \
	CXXFLAGS="%{?opt_cxxflags} %{!?opt_cxxflags:$RPM_OPT_FLAGS}" \
	FC=%{opt_fc} FCFLAGS="%{?opt_fcflags} %{!?opt_fcflags:$RPM_OPT_FLAGS}" \
	F77=%{opt_f77} FFLAGS="%{?opt_fflags} %{!?opt_fflags:$RPM_OPT_FLAGS}"

make %{?_smp_mflags}
cd ..
%endif

%install
%global variant openmpi
%global libname %{variant}%{?_cc_name_suffix}
%global namearch %{variant}-%{_arch}%{?_cc_name_suffix}

make install DESTDIR=%{buildroot}
rm -fr %{buildroot}%{_libdir}/%{libname}/lib/pkgconfig
find %{buildroot}%{_libdir}/%{libname}/lib -name \*.la | xargs rm
find %{buildroot}%{_mandir}/%{namearch} -type f | xargs gzip -9
ln -s mpicc.1.gz %{buildroot}%{_mandir}/%{namearch}/man1/mpiCC.1.gz
rm -f %{buildroot}%{_mandir}/%{namearch}/man1/mpiCC.1
rm -f %{buildroot}%{_mandir}/%{namearch}/man1/orteCC.1*
rm -f %{buildroot}%{_libdir}/%{libname}/share/vampirtrace/doc/opari/lacsi01.ps.gz
mkdir %{buildroot}%{_mandir}/%{namearch}/man{2,4,5,6,8,9,n}

# Make the environment-modules file
mkdir -p %{buildroot}%{_sysconfdir}/modulefiles/mpi
# Since we're doing our own substitution here, use our own definitions.
sed 's#@LIBDIR@#'%{_libdir}/%{libname}'#g;s#@ETCDIR@#'%{_sysconfdir}/%{namearch}'#g;s#@FMODDIR@#'%{_fmoddir}/%{namearch}'#g;s#@INCDIR@#'%{_includedir}/%{namearch}'#g;s#@MANDIR@#'%{_mandir}/%{namearch}'#g;s#@PYSITEARCH@#'%{python_sitearch}/%{libname}'#g;s#@COMPILER@#%{variant}-'%{_arch}%{?_cc_name_suffix}'#g;s#@SUFFIX@#'%{?_cc_name_suffix}'_%{variant}#g' < %SOURCE1 > %{buildroot}%{_sysconfdir}/modulefiles/mpi/%{namearch}
# make the rpm config file
mkdir -p %{buildroot}/%{_sysconfdir}/rpm
LIBNAME="%{libname}"
# do not expand _arch
sed "s#@MACRONAME@#${LIBNAME//-/_}#g;s#@MODULENAME@#%{variant}-%%{_arch}%{?_cc_name_suffix}#" < %SOURCE2 > %{buildroot}/%{_sysconfdir}/rpm/macros.%{namearch}
mkdir -p %{buildroot}/%{_fmoddir}/%{namearch}
mkdir -p %{buildroot}/%{python_sitearch}/%{libname}
# Remove extraneous wrapper link libraries (bug 814798)
#sed -i -e s/-ldl// -e s/-lhwloc// \
#  %{buildroot}%{_libdir}/%{libname}/bin/orte_wrapper_script \
#  %{buildroot}%{_libdir}/%{libname}/share/%{libname}/*-wrapper-data.txt

# openmpi 1.10.2 bumped the soname of libmpi_usempi.so from .1 to .5,
# even though it only added new interfaces (MPI_Aint_{add,diff}),
# which was a compatible change. So it's OK to add a compat symlink:
ln -s libmpi_usempi.so.5 %{buildroot}/%{_libdir}/%{libname}/lib/libmpi_usempi.so.1

cd ..

%ifnarch s390 s390x
%global variant compat-openmpi16
%global libname %{variant}%{?_cc_name_suffix}
%global namearch %{variant}-%{_arch}%{?_cc_name_suffix}

cd openmpi-1.6.4
make install DESTDIR=%{buildroot}
rm -fr %{buildroot}%{_libdir}/%{libname}/lib/pkgconfig
find %{buildroot}%{_libdir}/%{libname}/lib -name \*.la | xargs rm
find %{buildroot}%{_mandir}/%{namearch} -type f | xargs gzip -9
ln -s mpicc.1.gz %{buildroot}%{_mandir}/%{namearch}/man1/mpiCC.1.gz
rm -f %{buildroot}%{_mandir}/%{namearch}/man1/mpiCC.1
rm -f %{buildroot}%{_mandir}/%{namearch}/man1/orteCC.1*
rm -f %{buildroot}%{_libdir}/%{libname}/share/vampirtrace/doc/opari/lacsi01.ps.gz
mkdir %{buildroot}%{_mandir}/%{namearch}/man{2,4,5,6,8,9,n}

# Make the environment-modules file
mkdir -p %{buildroot}%{_sysconfdir}/modulefiles/mpi
# Since we're doing our own substitution here, use our own definitions.
sed 's#@LIBDIR@#'%{_libdir}/%{libname}'#g;s#@ETCDIR@#'%{_sysconfdir}/%{namearch}'#g;s#@FMODDIR@#'%{_fmoddir}/%{namearch}'#g;s#@INCDIR@#'%{_includedir}/%{namearch}'#g;s#@MANDIR@#'%{_mandir}/%{namearch}'#g;s#@PYSITEARCH@#'%{python_sitearch}/%{libname}'#g;s#@COMPILER@#%{variant}-'%{_arch}%{?_cc_name_suffix}'#g;s#@SUFFIX@#'%{?_cc_name_suffix}'_%{variant}#g' < %SOURCE1 > %{buildroot}%{_sysconfdir}/modulefiles/mpi/%{namearch}
# make the rpm config file
mkdir -p %{buildroot}/%{_sysconfdir}/rpm
LIBNAME="%{libname}"
# do not expand _arch
sed "s#@MACRONAME@#${LIBNAME//-/_}#g;s#@MODULENAME@#%{variant}-%%{_arch}%{?_cc_name_suffix}#" < %SOURCE2 > %{buildroot}/%{_sysconfdir}/rpm/macros.%{namearch}
mkdir -p %{buildroot}/%{_fmoddir}/%{namearch}
mkdir -p %{buildroot}/%{python_sitearch}/%{libname}
# Remove extraneous wrapper link libraries (bug 814798)
sed -i -e s/-ldl// -e s/-lhwloc// \
  %{buildroot}%{_libdir}/%{libname}/bin/orte_wrapper_script \
  %{buildroot}%{_libdir}/%{libname}/share/%{name}/*-wrapper-data.txt
cd ..
%endif

%check
make check
cd ..

%ifnarch s390 s390x
cd openmpi-1.6.4
make check
cd ..
%endif

%global variant openmpi
%global libname %{variant}%{?_cc_name_suffix}
%global namearch %{variant}-%{_arch}%{?_cc_name_suffix}

%files
%dir %{_libdir}/%{name}
%dir %{_sysconfdir}/%{namearch}
%dir %{_libdir}/%{name}/bin
%dir %{_libdir}/%{name}/lib
%dir %{_libdir}/%{name}/lib/openmpi
%dir %{_mandir}/%{namearch}
%dir %{_mandir}/%{namearch}/man*
%dir %{_fmoddir}/%{namearch}
%dir %{_sysconfdir}/modulefiles/mpi
%dir %{python_sitearch}/%{name}
%config(noreplace) %{_sysconfdir}/%{namearch}/*
%{_libdir}/%{name}/bin/mpi[er]*
%{_libdir}/%{name}/bin/ompi*
%{_libdir}/%{name}/bin/opari
%{_libdir}/%{name}/bin/orte*
%{_libdir}/%{name}/bin/oshmem_info
%{_libdir}/%{name}/bin/oshrun
%{_libdir}/%{name}/bin/otf*
%{_libdir}/%{name}/bin/shmemrun
%{_libdir}/%{name}/lib/*.so.*
%{_mandir}/%{namearch}/man1/mpi[er]*
%{_mandir}/%{namearch}/man1/ompi*
%{_mandir}/%{namearch}/man1/orte[-dr_]*
%{_mandir}/%{namearch}/man1/oshmem_info*
%{_mandir}/%{namearch}/man1/oshrun*
%{_mandir}/%{namearch}/man1/shmemrun*
%{_mandir}/%{namearch}/man7/ompi*
%{_mandir}/%{namearch}/man7/orte*
%{_libdir}/%{name}/lib/openmpi/*
%{_sysconfdir}/modulefiles/mpi/%{namearch}
%dir %{_libdir}/%{name}/share
%dir %{_libdir}/%{name}/share/openmpi
%{_libdir}/%{name}/share/openmpi/doc
%{_libdir}/%{name}/share/openmpi/amca-param-sets
%{_libdir}/%{name}/share/openmpi/help*.txt
%{_libdir}/%{name}/share/openmpi/mca-btl-openib-device-params.ini
%{_libdir}/%{name}/share/openmpi/mca-coll-ml.config

%files devel
%dir %{_includedir}/%{namearch}
%dir %{_libdir}/%{name}/share/vampirtrace
%{_libdir}/%{name}/bin/mpi[cCf]*
%{_libdir}/%{name}/bin/opal_*
%{_libdir}/%{name}/bin/orte[cCf]*
%{_libdir}/%{name}/bin/osh[cf]*
%{_libdir}/%{name}/bin/shmem[cf]*
%{_libdir}/%{name}/bin/vt*
%{_includedir}/%{namearch}/*
%{_libdir}/%{name}/lib/*.so
%{_libdir}/%{name}/lib/lib*.a
%{_libdir}/%{name}/lib/mpi.mod
%{_mandir}/%{namearch}/man1/mpi[cCf]*
%{_mandir}/%{namearch}/man1/osh[cCf]*
%{_mandir}/%{namearch}/man1/shmem[cCf]*
%{_mandir}/%{namearch}/man1/opal_*
%{_mandir}/%{namearch}/man3/*
%{_mandir}/%{namearch}/man7/opal*
%{_libdir}/%{name}/share/openmpi/openmpi-valgrind.supp
%{_libdir}/%{name}/share/openmpi/*-wrapper-data.txt
%{_libdir}/%{name}/share/vampirtrace/*
%{_sysconfdir}/rpm/macros.%{namearch}

%ifnarch s390 s390x
%global variant compat-openmpi16
%global libname %{variant}%{?_cc_name_suffix}
%global namearch %{variant}-%{_arch}%{?_cc_name_suffix}

%files -n compat-openmpi16%{?_cc_name_suffix}
%dir %{_libdir}/%{libname}
%dir %{_sysconfdir}/%{namearch}
%dir %{_libdir}/%{libname}/bin
%dir %{_libdir}/%{libname}/lib
%dir %{_libdir}/%{libname}/lib/openmpi
%dir %{_mandir}/%{namearch}
%dir %{_mandir}/%{namearch}/man*
%dir %{_fmoddir}/%{namearch}
%dir %{_sysconfdir}/modulefiles/mpi
%dir %{python_sitearch}/%{libname}
%config(noreplace) %{_sysconfdir}/%{namearch}/*
%{_libdir}/%{libname}/bin/mpi[er]*
%{_libdir}/%{libname}/bin/ompi*
#%{_libdir}/%{libname}/bin/opal-*
%{_libdir}/%{libname}/bin/opari
%{_libdir}/%{libname}/bin/orte*
%{_libdir}/%{libname}/bin/otf*
%{_libdir}/%{libname}/lib/*.so.*
%{_mandir}/%{namearch}/man1/mpi[er]*
%{_mandir}/%{namearch}/man1/ompi*
#%{_mandir}/%{namearch}/man1/opal-*
%{_mandir}/%{namearch}/man1/orte*
%{_mandir}/%{namearch}/man7/ompi*
%{_mandir}/%{namearch}/man7/orte*
%{_libdir}/%{libname}/lib/openmpi/*
%{_sysconfdir}/modulefiles/mpi/%{namearch}
#%files common
%dir %{_libdir}/%{libname}/share
%dir %{_libdir}/%{libname}/share/openmpi
%{_libdir}/%{libname}/share/openmpi/doc
%{_libdir}/%{libname}/share/openmpi/amca-param-sets
%{_libdir}/%{libname}/share/openmpi/help*.txt
%{_libdir}/%{libname}/share/openmpi/mca-btl-openib-device-params.ini

%files -n compat-openmpi16%{?_cc_name_suffix}-devel
%dir %{_includedir}/%{namearch}
%dir %{_libdir}/%{libname}/share/vampirtrace
%{_libdir}/%{libname}/bin/mpi[cCf]*
%{_libdir}/%{libname}/bin/vt*
%{_libdir}/%{libname}/bin/opal_*
%{_includedir}/%{namearch}/*
%{_libdir}/%{libname}/lib/*.so
%{_libdir}/%{libname}/lib/lib*.a
%{_libdir}/%{libname}/lib/mpi.mod
%{_mandir}/%{namearch}/man1/mpi[cCf]*
%{_mandir}/%{namearch}/man1/opal_*
%{_mandir}/%{namearch}/man3/*
%{_mandir}/%{namearch}/man7/opal*
%{_libdir}/%{libname}/share/openmpi/openmpi-valgrind.supp
%{_libdir}/%{libname}/share/openmpi/mpi*.txt
%{_libdir}/%{libname}/share/openmpi/orte*.txt
%{_libdir}/%{libname}/share/vampirtrace/*
%{_sysconfdir}/rpm/macros.%{namearch}
%endif

%changelog
* Thu Aug 04 2016 Michal Schmidt <mschmidt@redhat.com> - 1.10.3-3
- Restore libmpi_usempi.so.1.
- Related: #1273175

* Tue Jul 05 2016 Michal Schmidt <mschmidt@redhat.com> - 1.10.3-2
- Rebuild against current libpsm2.
- Related: #1273175

* Fri Jun 17 2016 Michal Schmidt <mschmidt@redhat.com> - 1.10.3-1
- Update to upstream release 1.10.3.
- Stop excluding psm2 MTL by default. The psm/psm2 conflict has been resolved.
- Resolves: #1273175
- Resolves: #1285292

* Thu Sep 03 2015 Michal Schmidt <mschmidt@redhat.com> - 1.10.0-10
- Remove psm2 package variant. Instead use MCA exclusion using config file.
- Related: #947311
- Related: #1173305

* Tue Sep 01 2015 Michal Schmidt <mschmidt@redhat.com> - 1.10.0-8
- Differentiate MPI_COMPILER and MPI_SUFFIX in the variants.
- Related: #947311
- Related: #1173305

* Mon Aug 31 2015 Michal Schmidt <mschmidt@redhat.com> - 1.10.0-6
- Avoid macro expansion in old changelog entry.
- Related: #947311
- Related: #1173305

* Fri Aug 28 2015 Michal Schmidt <mschmidt@redhat.com> - 1.10.0-4
- Disambiguate names of rpm macros among the built variants.
- Use --with-verbs instead of the deprecated synonym --with-openib.
- Related: #947311
- Related: #1173305

* Thu Aug 27 2015 Michal Schmidt <mschmidt@redhat.com> - 1.10.0-3
- Workaround psm vs psm2 conflict by having two separate packages.
- Related: #947311
- Related: #1173305

* Tue Aug 25 2015 Michal Schmidt <mschmidt@redhat.com> - 1.10.0-1
- New upstream release v1.10.
- Added 1.6 compat package.
- Resolves: #947311
- Resolves: #1173305

* Fri Sep 12 2014 Dan Horák <dhorak@redhat.com> - 1.6.4-5
- add support for aarch64 (backport by Marcin Juszkiewicz)
- Resolves: #1132244

* Tue Sep 9 2014 Dan Horák <dhorak@redhat.com> - 1.6.4-4
- add support for ppc64le
- Resolves: #1125635

* Fri Dec 27 2013 Daniel Mach <dmach@redhat.com> - 1.6.4-3
- Mass rebuild 2013-12-27

* Mon Apr 8 2013 Jay Fenlason <fenlason@redhat.com> 1.6.4-2.1
- Re-merge the fixes needed to build on RHEL-7.
- Resolves: rhbz927802

* Sat Feb 23 2013 Orion Poplawski <orion@cora.nwra.com> 1.6.4-2
- Exclude libopen-trace.* from requires

* Fri Feb 22 2013 Orion Poplawski <orion@cora.nwra.com> 1.6.4-1
- Update to 1.6.4
- Drop f90sover and arm-atomics patch fixed upstream

* Mon Jan 28 2013 Orion Poplawski <orion@cora.nwra.com> 1.6.3-7
- Make __requires_exclude more specific so we don't exclude needed libs
  (bug #905263)

* Sun Nov 18 2012 Peter Robinson <pbrobinson@fedoraproject.org> 1.6.3-6
- Update atomics patch for ARM (thanks to Jon Masters)

* Sun Nov 11 2012 Peter Robinson <pbrobinson@fedoraproject.org> 1.6.3-5
- Atomics patch to fix building on ARM (thanks to Jon Masters)

* Mon Nov 5 2012 Orion Poplawski <orion@cora.nwra.com> 1.6.3-4
- Add patch to fix libmpi_f90.so version
- Add patch to link tests with system libltdl
- Run make check

* Fri Nov 2 2012 Orion Poplawski <orion@cora.nwra.com> 1.6.3-3
- Set enable-opal-multi-threads for IB support

* Thu Nov 1 2012 Orion Poplawski <orion@cora.nwra.com> 1.6.3-2
- Update rpm macros to use the new module location

* Wed Oct 31 2012 Orion Poplawski <orion@cora.nwra.com> 1.6.3-1
- Update to 1.6.3

* Sat Oct 13 2012 Orion Poplawski <orion@cora.nwra.com> 1.6.2-1
- Update to 1.6.2
- Add BR torque-devel to enable torque support
- Drop old module file location (bug #838467)

* Thu Sep 13 2012 Orion Poplawski <orion@cora.nwra.com> 1.6.1-2
- Drop adding -fPIC, no longer needed
- Set --disable-silent-rules for more verbose build logs
- Don't add opt_*flags to the wrappers
- Only use $RPM_OPT_FLAGS if not using the opt_*flags

* Thu Aug 23 2012 Orion Poplawski <orion@cora.nwra.com> 1.6.1-1
- Update to 1.6.1
- Drop hostfile patch applied upstream

* Fri Jul 20 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.6-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild

* Tue May 15 2012 Orion Poplawski <orion@cora.nwra.com> 1.6-2
- Add patch from upstream to fix default hostfile location

* Tue May 15 2012 Orion Poplawski <orion@cora.nwra.com> 1.6-1
- Update to 1.6
- Drop arm patch, appears to be addressed upstream
- Remove extraneous wrapper link libraries (bug 814798)

* Tue Apr  3 2012 Peter Robinson <pbrobinson@fedoraproject.org> - 1.5.5-1
- Update to 1.5.5

* Tue Feb 28 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.5.4-5.1
- Rebuilt for c++ ABI breakage

* Wed Feb 22 2012 Orion Poplawski <orion@cora.nwra.com> 1.5.4-4.1
- Rebuild with hwloc 1.4

* Wed Feb 15 2012 Peter Robinson <pbrobinson@fedoraproject.org> - 1.5.4-4
- Rebuild for hwloc soname bump

* Fri Jan 20 2012 Doug Ledford <dledford@redhat.com> - 1.5.4-3
- Move modules file to mpi directory and make it conflict with any other
  mpi module (bug #651074)

* Sun Jan 8 2012 Orion Poplawski <orion@cora.nwra.com> 1.5.4-2
- Rebuild with gcc 4.7 (bug #772443)

* Thu Nov 17 2011 Orion Poplawski <orion@cora.nwra.com> 1.5.4-1
- Update to 1.5.4
- Drop dt-textrel patch fixed upstream
- Fixup handling removed files (bug #722534)
- Uses hwloc instead of plpa
- Exclude private libraries from provides/requires (bug #741104)
- Drop --enable-mpi-threads & --enable-openib-ibcm, no longer recognized

* Sat Jun 18 2011 Peter Robinson <pbrobinson@gmail.com> 1.5-4
- Exclude ARM platforms due to current lack of "atomic primitives" on the platform

* Thu Mar 17 2011 Jay Fenlason <fenlason@redhat.com> 1.5-3
- Add dt-textrel patch to close
  Resolves: bz679489
- Add memchecker and esmtp support
  Resolves: bz647011

* Tue Feb 08 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.5-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild

* Mon Oct 18 2010 Jay Fenlason <fenlason@redhat.com> 1.5-1
- set MANPATH in openmpi module file
- Upgrade to 1.5
- Workaround for rhbz#617766 appears to no longer be needed for 1.5
- remove pkgconfig files in instal
- Remove orteCC.1 dangling symlink
- Adjust the files entries for share/openmpi/help* and share/openmpi/mca*
- Adjust the files entries for share/openmpi/mpi*
- Add files entry for share/openmpi/orte*.txt

* Sun Sep 05 2010 Dennis Gilmore <dennis@ausil.us> - 1.4.1-7
- disable valgrind support on sparc arches

* Sat Jul 24 2010 David Malcolm <dmalcolm@redhat.com> - 1.4.1-6
- workaround for rhbz#617766

* Wed Jul 21 2010 David Malcolm <dmalcolm@redhat.com> - 1.4.1-5
- Rebuilt for https://fedoraproject.org/wiki/Features/Python_2.7/MassRebuild

* Mon Mar 29 2010 Jay Fenlason <fenlason@redhat.com> - 1.4.1-4
- Update to fix licencing and packaging issues:
  Use the system plpa and ltdl librarires rather than the ones in the tarball
  Remove licence incompatible files from the tarball.
- update module.in to prepend-path		PYTHONPATH

* Tue Mar 9 2010 Jay Fenlason <fenlason@redhat.com> - 1.4.1-3
- remove the pkgconfig file completely like we did in RHEL.

* Tue Jan 26 2010 Jay Fenlason <fenlason@redhat.com> - 1.4.1-2
- BuildRequires: python

* Tue Jan 26 2010 Jay Fenlason <fenlason@redhat.com> - 1.4.1-1
- New upstream version, which includes the changeset_r22324 patch.
- Correct a typo in the Source0 line in this spec file.

* Fri Jan 15 2010 Doug Ledford <dledford@redhat.com> - 1.4-4
- Fix an issue with usage of _cc_name_suffix that cause a broken define in
  our module file

* Fri Jan 15 2010 Doug Ledford <dledford@redhat.com> - 1.4-3
- Fix pkgconfig file substitution
- Bump version so we are later than the equivalent version from Red Hat
  Enterprise Linux

* Wed Jan 13 2010 Doug Ledford <dledford@redhat.com> - 1.4-1
- Update to latest upstream stable version
- Add support for libibcm usage
- Enable sge support via configure options since it's no longer on by default
- Add patch to resolve allreduce issue (bz538199)
- Remove no longer needed patch for Chelsio cards

* Tue Sep 22 2009 Jay Fenlason <fenlason@redhat.com> - 1.3.3-6
- Create and own man* directories for use by dependent packages.

* Wed Sep 16 2009 Jay Fenlason <fenlason@redhat.com> - 1.3.3-5
- Move the module file from %%{_datadir}/Modules/modulefiles/%%{namearch} to
  %%{_sysconfdir}/modulefiles/%%{namearch} where it belongs.
- Have the -devel subpackage own the man1 and man7 directories for completeness.
- Add a blank line before the clean section.
- Remove --enable-mpirun-prefix-by-default from configure.

* Wed Sep 9 2009 Jay Fenlason <fenlason@redhat.com> - 1.3.3-4
- Modify packaging to conform to
  https://fedoraproject.org/wiki/PackagingDrafts/MPI (bz521334).
- remove --with-ft=cr from configure, as it was apparently causing problems
  for some people.
- Add librdmacm-devel and librdmacm to BuildRequires (related bz515565).
- Add openmpi-bz515567.patch to add support for the latest Chelsio device IDs
  (related bz515567).
- Add exclude-arch (s390 s390x) because we don't have required -devel packages
  there.

* Sat Jul 25 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.3.3-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild

* Tue Jul 21 2009 Doug Ledford <dledford@redhat.com> - 1.3.3-2
- Add MPI_BIN and MPI_LIB to the modules file (related bz511099)

* Tue Jul 21 2009 Doug Ledford <dledford@redhat.com> - 1.3.3-1
- Make sure all created dirs are owned (bz474677)
- Fix loading of pkgconfig file (bz476844)
- Resolve file conflict between us and libotf (bz496131)
- Resolve dangling symlinks issue (bz496909)
- Resolve unexpanded %%{mode} issues (bz496911)
- Restore -devel subpackage (bz499851)
- Make getting the default openmpi devel environment easier (bz504357)
- Make the -devel package pull in the base package (bz459458)
- Make it easier to use alternative compilers to build package (bz246484)

* Sat Jul 18 2009 Jussi Lehtola <jussilehtola@fedoraproject.org> - 1.3.1-4
- Add Provides: openmpi-devel to fix other package builds in rawhide.

* Fri May 08 2009 Lubomir Rintel <lkundrak@v3.sk> - 1.3.1-3
- Treat i586 the same way as i386

* Wed Apr 22 2009 Doug Ledford <dledford@redhat.com> - 1.3.1-2
- fixed broken update
- Resolves: bz496909, bz496131, bz496911

* Tue Apr 14 2009 Tom "spot" Callaway <tcallawa@redhat.com> - 1.3.1-1
- update to 1.3.1, cleanup alternatives, spec, make new vt subpackage

* Thu Feb 26 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.2.4-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild

* Mon Feb 18 2008 Fedora Release Engineering <rel-eng@fedoraproject.org> - 1.2.4-2
- Autorebuild for GCC 4.3

* Wed Oct 17 2007 Doug Ledford <dledford@redhat.com> - 1.2.4-1
- Update to 1.2.4 upstream version
- Build against libtorque
- Pass a valid mode to open
- Resolves: bz189441, bz265141

* Tue Aug 28 2007 Fedora Release Engineering <rel-eng at fedoraproject dot org> - 1.2.3-5
- Rebuild for selinux ppc32 issue.

* Mon Jul 16 2007 Doug Ledford <dledford@redhat.com> - 1.2.3-4
- Fix a directory permission problem on the base openmpi directories

* Thu Jul 12 2007 Florian La Roche <laroche@redhat.com> - 1.2.3-3
- requires alternatives for various sub-rpms

* Mon Jul 02 2007 Doug Ledford <dledford@redhat.com> - 1.2.3-2
- Fix dangling symlink issue caused by a bad macro usage
- Resolves: bz246450

* Wed Jun 27 2007 Doug Ledford <dledford@redhat.com> - 1.2.3-1
- Update to latest upstream version
- Fix file ownership on -libs package
- Take a swing at solving the multi-install compatibility issues

* Mon Feb 19 2007 Doug Ledford <dledford@redhat.com> - 1.1.1-7
- Bump version to be at least as high as the RHEL4U5 openmpi
- Integrate fixes made in RHEL4 openmpi into RHEL5 (fix a multilib conflict
  for the openmpi.module file by moving from _datadir to _libdir, make sure
  all sed replacements have the g flag so they replace all instances of
  the marker per line, not just the first, and add a %%defattr tag to the
  files section of the -libs package to avoid install errors about
  brewbuilder not being a user or group)
- Resolves: bz229298

* Wed Jan 17 2007 Doug Ledford <dledford@redhat.com> - 1.1.1-5
- Remove the FORTIFY_SOURCE and stack protect options
- Related: bz213075

* Fri Oct 20 2006 Doug Ledford <dledford@redhat.com> - 1.1.1-4
- Bump and build against the final openib-1.1 package

* Wed Oct 18 2006 Doug Ledford <dledford@redhat.com> - 1.1.1-3
- Fix an snprintf length bug in opal/util/cmd_line.c
- RESOLVES: rhbz#210714

* Wed Oct 18 2006 Doug Ledford <dledford@redhat.com> - 1.1.1-2
- Bump and build against openib-1.1-0.pre1.1 instead of 1.0

* Tue Oct 17 2006 Doug Ledford <dledford@redhat.com> - 1.1.1-1
- Update to upstream 1.1.1 version

* Fri Oct 13 2006 Doug Ledford <dledford@redhat.com> - 1.1-7
- ia64 can't take -m64 on the gcc command line, so don't set it there

* Wed Oct 11 2006 Doug Ledford <dledford@redhat.com> - 1.1-6
- Bump rev to match fc6 rev
- Fixup some issue with alternatives support
- Split the 32bit and 64bit libs ld.so.conf.d files into two files so
  multilib or single lib installs both work properly
- Put libs into their own package
- Add symlinks to /usr/share/openmpi/bin%%{mode} so that opal_wrapper-%%{mode}
  can be called even if it isn't the currently selected default method in
  the alternatives setup (opal_wrapper needs to be called by mpicc, mpic++,
  etc. in order to determine compile mode from argv[0]).

* Sun Aug 27 2006 Doug Ledford <dledford@redhat.com> - 1.1-4
- Make sure the post/preun scripts only add/remove alternatives on initial
  install and final removal, otherwise don't touch.

* Fri Aug 25 2006 Doug Ledford <dledford@redhat.com> - 1.1-3
- Don't ghost the mpi.conf file as that means it will get removed when
  you remove 1 out of a number of alternatives based packages
- Put the .mod file in -devel

* Mon Aug  7 2006 Doug Ledford <dledford@redhat.com> - 1.1-2
- Various lint cleanups
- Switch to using the standard alternatives mechanism instead of a home
  grown one

* Wed Aug  2 2006 Doug Ledford <dledford@redhat.com> - 1.1-1
- Upgrade to 1.1
- Build with Infiniband support via openib

* Mon Jun 12 2006 Jason Vas Dias <jvdias@redhat.com> - 1.0.2-1
- Upgrade to 1.0.2

* Wed Feb 15 2006 Jason Vas Dias <jvdias@redhat.com> - 1.0.1-1
- Import into Fedora Core
- Resolve LAM clashes 

* Wed Jan 25 2006 Orion Poplawski <orion@cora.nwra.com> - 1.0.1-2
- Use configure options to install includes and libraries
- Add ld.so.conf.d file to find libraries
- Add -fPIC for x86_64

* Tue Jan 24 2006 Orion Poplawski <orion@cora.nwra.com> - 1.0.1-1
- 1.0.1
- Use alternatives

* Sat Nov 19 2005 Ed Hill <ed@eh3.com> - 1.0-2
- fix lam conflicts

* Fri Nov 18 2005 Ed Hill <ed@eh3.com> - 1.0-1
- initial specfile created