Compare commits

...

16 Commits
master ... f11

Author SHA1 Message Date
Fedora Release Engineering 6e9a4092da dist-git conversion 2010-07-29 04:59:31 +00:00
Jay Fenlason 681a5fe4c3 Backport from F-14 2010-03-30 14:29:48 +00:00
Doug Ledford b53b165eaf - Add an obsolete on openmpi-vt to get rid of stale package in repos 2010-02-11 18:35:34 +00:00
Doug Ledford a1b709636b - Fix an issue with usage of _cc_name_suffix that cause a broken define in
our module file
2010-01-15 22:55:51 +00:00
Doug Ledford 41f501523a - Fix pkgconfig file substitution
- Bump version so we are later than the equivalent version from Red Hat
    Enterprise Linux
2010-01-15 14:30:56 +00:00
Doug Ledford a2a10c9385 - 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
2010-01-13 18:44:31 +00:00
Bill Nottingham 6439a7a462 Fix typo that causes a failure to update the common directory. (releng
#2781)
2009-11-26 01:24:17 +00:00
Jay Fenlason 8f307f7a95 - Backport updated .spec file from rawhide.
- Create and own man* directories for use by dependent packages.
2009-09-22 20:07:47 +00:00
Doug Ledford 4d177bbccc - Add MPI_BIN and MPI_LIB to the modules file (related bz511099) 2009-07-21 16:36:31 +00:00
Doug Ledford 077b3f2b66 - Add MPI_BIN and MPI_LIB to the modules file (related bz511099) 2009-07-21 16:28:05 +00:00
Doug Ledford 5191a93ba1 - 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)
2009-07-21 15:28:08 +00:00
Doug Ledford 021f407e53 - 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)
2009-07-21 15:22:11 +00:00
Doug Ledford d680065bbf - 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)
2009-07-21 15:13:00 +00:00
Doug Ledford bea2d4e296 - fixed broken update
- Resolves: bz496909, bz496131, bz496911
2009-04-22 21:25:49 +00:00
Doug Ledford ed33b843e8 - fixed broken update
- Resolves: bz496909, bz496131, bz496911
2009-04-22 15:02:29 +00:00
Jesse Keating 5f94c1ab2a Initialize branch F-11 for openmpi 2009-04-15 04:54:58 +00:00
9 changed files with 256 additions and 311 deletions

View File

@ -1 +0,0 @@
openmpi-1.3.1.tar.bz2

1
.gitignore vendored Normal file
View File

@ -0,0 +1 @@
openmpi-1.4.1-RH.tar.bz2

View File

@ -1,21 +0,0 @@
# Makefile for source rpm: openmpi
# $Id$
NAME := openmpi
SPECFILE = $(firstword $(wildcard *.spec))
define find-makefile-common
for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done
endef
MAKEFILE_COMMON := $(shell $(find-makefile-common))
ifeq ($(MAKEFILE_COMMON),)
# attempt a checkout
define checkout-makefile-common
test -f CVS/Root && { cvs -Q -d $$(cat CVS/Root) checkout common && echo "common/Makefile.common" ; } || { echo "ERROR: I can't figure out how to checkout the 'common' module." ; exit -1 ; } >&2
endef
MAKEFILE_COMMON := $(shell $(checkout-makefile-common))
endif
include $(MAKEFILE_COMMON)

7
macros.openmpi Normal file
View File

@ -0,0 +1,7 @@
%_openmpi_load \
. /etc/profile.d/modules.sh; \
module load openmpi-%{_arch}; \
export CFLAGS="$CFLAGS %{optflags}";
%_openmpi_unload \
. /etc/profile.d/modules.sh; \
module unload openmpi-%{_arch};

View File

@ -1,11 +0,0 @@
--- openmpi-1.2.4/orte/runtime/orte_abort.c.open 2007-10-17 14:47:28.000000000 -0400
+++ openmpi-1.2.4/orte/runtime/orte_abort.c 2007-10-17 14:53:23.000000000 -0400
@@ -88,7 +88,7 @@ int orte_abort(int status, bool report)
ORTE_ERROR_LOG(ORTE_ERR_OUT_OF_RESOURCE);
goto CLEANUP;
}
- fd = open(abort_file, O_CREAT);
+ fd = open(abort_file, O_WRONLY, O_CREAT);
if (0 < fd) close(fd);
}

View File

@ -2,8 +2,16 @@
#
# OpenMPI module for use with 'environment-modules' package:
#
prepend-path MANPATH @DATADIR@/@MPIDIR@/man
prepend-path PATH @DATADIR@/@MPIDIR@/bin@MODE@
prepend-path LD_LIBRARY_PATH @LIBDIR@/@MPIDIR@
setenv CFLAGS -I@INCLUDEDIR@/@MPIDIR@ -I@INCLUDEDIR@/@MPIDIR@/@NAME@ -I@INCLUDEDIR@/@MPIDIR@/@MODE@ @MODEFLAG@
setenv LDFLAGS -L@LIBDIR@/@MPIDIR@ -lmpi
prepend-path PATH @LIBDIR@/bin
prepend-path LD_LIBRARY_PATH @LIBDIR@/lib
prepend-path PYTHONPATH @PYSITEARCH@
setenv MPI_BIN @LIBDIR@/bin
setenv MPI_SYSCONFIG @ETCDIR@
setenv MPI_FORTRAN_MOD_DIR @FMODDIR@
setenv MPI_INCLUDE @INCDIR@
setenv MPI_LIB @LIBDIR@/lib
setenv MPI_MAN @MANDIR@
setenv MPI_PYTHON_SITEARCH @PYSITEARCH@
setenv MPI_COMPILER @COMPILER@
setenv MPI_SUFFIX @SUFFIX@
setenv MPI_HOME @LIBDIR@

View File

@ -2,6 +2,6 @@
Name: @NAME@
Description: Open Message Passing Interface headers and libraries
URL: http://www.open-mpi.org/
Version: @VERSION@-@CC@-@MODE@
Libs: -L@LIBDIR@/@MPIDIR@ -lmpi
Cflags: -I@INCLUDEDIR@/@MPIDIR@ -I@INCLUDEDIR@/@MPIDIR@/@NAME@ -I@INCLUDEDIR@/@MPIDIR@/@MODE@ @MODEFLAG@
Version: @VERSION@-@CC@
Libs: -L@LIBDIR@ -lmpi
Cflags: -I@INCDIR@ @MODEFLAG@

View File

@ -1,26 +1,61 @@
Name: openmpi
Version: 1.3.1
Release: 1%{?dist}
# We only compile with gcc, but other people may want other compilers.
# Set the compiler here.
%define opt_cc gcc
# Optional CFLAGS to use with the specific compiler...gcc doesn't need any,
# so uncomment and define to use
#define opt_cflags
%define opt_cxx g++
#define opt_cxxflags
%define opt_f77 gfortran
#define opt_fflags
%define opt_fc gfortran
#define 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.
#define _cc_name_suffix -gcc
Name: openmpi%{?_cc_name_suffix}
Version: 1.4.1
Release: 4%{?dist}
Summary: Open Message Passing Interface
Group: Development/Libraries
License: BSD
License: BSD, MIT and Romio
URL: http://www.open-mpi.org/
Source0: http://www.open-mpi.org/software/ompi/v1.3/downloads/%{name}-%{version}.tar.bz2
Source1: openmpi.pc.in
Source2: openmpi.module.in
# We can't use %{name} here because of _cc_name_suffix
#Source0: http://www.open-mpi.org/software/ompi/v1.4/downloads/openmpi-%{version}.tar.bz2
# openmpi-1.4.1-RH.tar.bz2 was generated by taking the upstream 1.4.1 tarball
# and removing license-incompatible (ras_loadleveler_module.c contained
# usage requirements that we cannot make our users comply with, and
# MoreDebugging/* is AML but unused in our configuration),
# and packaging-guidelines-incompatable (MUST use system versions of libltdl
# and libplpa, not the (formerly included ones), and also remove the generated
# Makefile.in and configure related files.
Source0: openmpi-%{version}-RH.tar.bz2
Source1: openmpi.module.in
Source2: macros.openmpi
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildRequires: gcc-gfortran, libtool, numactl-devel, libtorque-devel
#BuildRequires: libibverbs-devel, opensm-devel
BuildRequires: gcc-gfortran, libtool, numactl-devel, valgrind-devel
BuildRequires: libibverbs-devel >= 1.1.2, opensm-devel > 3.3.0
BuildRequires: librdmacm librdmacm-devel libibcm libibcm-devel
BuildRequires: python libtool-ltdl-devel plpa-devel
#%ifnarch ppc
#BuildRequires: dapl-devel
#BuildRequires: compat-dapl-devel
#%endif
Requires(post): /sbin/ldconfig
Requires(post): %{_sbindir}/update-alternatives
Requires(preun): %{_sbindir}/update-alternatives
Requires: %{name}-libs = %{version}-%{release}
Provides: mpi
Requires: environment-modules
# Requires: openmpi-common = %{version}-%{release}
Obsoletes: openmpi-libs
# s390 is unlikely to have the hardware we want, and some of the -devel
# packages we require aren't available there.
ExcludeArch: s390 s390x
%description
Open MPI is an open source, freely available implementation of both the
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
@ -28,48 +63,22 @@ 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 libs
Summary: Libraries used by openmpi programs
Group: Development/Libraries
Requires(post): %{_sbindir}/update-alternatives
Requires(preun): %{_sbindir}/update-alternatives
#%package common
#Summary: Common files for openmpi
#Group: Development/Libraries
#BuildArch: noarch
%description libs
Contains shared libraries used by openmpi applications.
#%description common
#contains files that are common across installations of op
%package devel
Summary: Development files for openmpi
Group: Development/Libraries
Requires: %{name}-libs = %{version}-%{release}
Provides: mpi-devel = %{version}-%{release}
Requires(post): %{_sbindir}/update-alternatives
Requires(preun): %{_sbindir}/update-alternatives
Summary: Development files for openmpi
Group: Development/Libraries
Requires: %{name} = %{version}-%{release}, gcc-gfortran
Provides: mpi-devel
%description devel
Contains development headers and libraries for openmpi.
%package vt
Summary: VampirTrace versions of openmpi programs
Group: Development/Libraries
Requires: %{name}-libs = %{version}-%{release}
%description vt
VampirTrace consists of a tool set and a run-time library for instrumentation
and tracing of software applications. In particular, it is tailored towards
parallel and distributed High Performance Computing (HPC) applications.
The instrumentation part modifies a given application in order to inject
additional measurement calls during run-time. The tracing part provides the
actual measurement functionality used by the instrumentation calls. By this
means, a variety of detailed performance properties can be collected and
recorded during run-time. This package contains the openmpi programs
with VampirTrace enabled.
# We only compile with gcc, but other people may want other compilers.
# Set the compiler here.
%define opt_cc gcc
# Optional CFLAGS to use with the specific compiler...gcc doesn't need any,
# so uncomment and define to use
#define opt_cc_cflags
Contains development headers and libraries for openmpi
# 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
@ -86,256 +95,209 @@ with VampirTrace enabled.
# 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 i386 ppc sparcv9
%ifarch %{ix86} ppc sparcv9
%define mode 32
%define modeflag -m32
%endif
%ifarch ia64
%define mode 64
%endif
%ifarch s390
%define mode 31
%endif
%ifarch s390x
%define mode 64
%endif
%ifarch x86_64 ppc64 sparc64
%define mode 64
%define modeflag -m64
%endif
# That alternatives system selects the highest priority item as the default.
# Usually, that means 64bit preferred over 32bit on multilib, but ppc is an
# exception in that 32bit is preferred over 64bit. So, the priority values
# selected here make that happen.
%ifarch i386 ppc64 s390 sparc64
%define priority 10
%else
%define priority 11
%endif
# We set this to for convenience, since this is the unique dir we use for this
# particular package, version, compiler
%define mpidir %{name}/%{version}-%{opt_cc}
%define namearch openmpi-%{_arch}%{?_cc_name_suffix}
%prep
%setup -q
%setup -q -n openmpi-%{version}
./autogen.sh
%build
%ifarch x86_64
XFLAGS="-fPIC"
%endif
%configure \
--includedir=%{_includedir}/%{mpidir} \
--libdir=%{_libdir}/%{mpidir} \
--datadir=%{_datadir}/%{mpidir}/help%{mode} \
--mandir=%{_datadir}/%{mpidir}/man \
--with-threads=posix \
--with-tm \
CC=%{opt_cc} \
./configure --prefix=%{_libdir}/%{name} --with-libnuma=/usr \
--with-openib=/usr \
--mandir=%{_mandir}/%{namearch} \
--includedir=%{_includedir}/%{namearch} \
--sysconfdir=%{_sysconfdir}/%{namearch} \
--enable-mpi-threads \
--enable-openib-ibcm \
--with-sge \
--with-valgrind \
--with-wrapper-cflags="%{?opt_cflags} %{?modeflag}" \
--with-wrapper-cxxflags="%{?opt_cxxflags} %{?modeflag}" \
--with-wrapper-fflags="%{?opt_fflags} %{?modeflag}" \
--with-wrapper-fcflags="%{?opt_fcflags} %{?modeflag}" \
CC=%{opt_cc} CXX=%{opt_cxx} \
LDFLAGS='-Wl,-z,noexecstack' \
CFLAGS="%{?opt_cc_cflags} $RPM_OPT_FLAGS $XFLAGS" \
CXXFLAGS="$RPM_OPT_FLAGS $XFLAGS" \
FFLAGS="$RPM_OPT_FLAGS $XFLAGS";
# ${datadir}/openmpi will be used ONLY for the english help*.txt files
%build
CFLAGS="%{?opt_cflags} $RPM_OPT_FLAGS $XFLAGS" \
CXXFLAGS="%{?opt_cxxflags} $RPM_OPT_FLAGS $XFLAGS" \
FC=%{opt_fc} FCFLAGS="%{?opt_fcflags} $RPM_OPT_FLAGS $XFLAGS" \
F77=%{opt_f77} FFLAGS="%{?opt_fflags} $RPM_OPT_FLAGS $XFLAGS"
make %{?_smp_mflags}
%install
rm -rf ${RPM_BUILD_ROOT}
make install DESTDIR=${RPM_BUILD_ROOT}
rm -rf %{buildroot}
make install DESTDIR=%{buildroot}
find %{buildroot}%{_libdir}/%{name}/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}%{_libdir}/%{name}/share/vampirtrace/doc/opari/lacsi01.ps.gz
mkdir %{buildroot}%{_mandir}/%{namearch}/man{2,4,5,6,8,9,n}
# Because no package owns the base openmpi directories, the install sets
# the mode wrong. This will cause problems when the first copy of openmpi
# is installed on a system. Correct the directory permissions here.
chmod 755 ${RPM_BUILD_ROOT}/%{_libdir}/openmpi
chmod 755 ${RPM_BUILD_ROOT}/%{_includedir}/openmpi
chmod 755 ${RPM_BUILD_ROOT}/%{_datadir}/openmpi
# Remove the symlinks from common names to the unique name in /usr/bin too
rm ${RPM_BUILD_ROOT}%{_bindir}/mpi*
# Move the wrapper program to a name that denotes the mode it compiles
mv ${RPM_BUILD_ROOT}%{_bindir}/opal_wrapper{,-%{version}-%{opt_cc}-%{mode}}
# But, opal_wrapper needs to be called by a name that denotes the compiler
# type in order to work, so in order to leave it functional even when it isn't
# the currently selected system wide default via the alternatives program,
# make the proper symlinks from %{_datadir}/%{name}/bin to the wrapper
mkdir -p ${RPM_BUILD_ROOT}%{_datadir}/%{mpidir}/bin%{mode}
for i in mpicc mpic++ mpicxx mpiCC mpif77 mpif90 ; do
ln -s %{_bindir}/opal_wrapper-%{version}-%{opt_cc}-%{mode} \
${RPM_BUILD_ROOT}%{_datadir}/%{mpidir}/bin%{mode}/$i
done
# The fortran include file differs between 32/64bit environments, so make
# two copies
mkdir -p ${RPM_BUILD_ROOT}%{_includedir}/%{mpidir}/%{mode}
mv ${RPM_BUILD_ROOT}%{_includedir}/%{mpidir}/{mpif-config.h,%{mode}}
# and have the wrapper include the right one by using the wrapper-data.txt
# files for the fortran modes to signal the extra include dir
for i in ${RPM_BUILD_ROOT}%{_datadir}/%{mpidir}/help%{mode}/openmpi/mpif{77,90}-wrapper-data.txt; do
sed -e 's#extra_includes=#extra_includes='%{mode}' #' < $i > $i.out
mv $i.out $i
done
# and we also need to force the compile mode via the wrapper-data.txt files
# (except on ia64 where the -m64 flag is not allowed by gcc)
%ifnarch ia64
for i in ${RPM_BUILD_ROOT}%{_datadir}/%{mpidir}/help%{mode}/openmpi/*wrapper-data.txt; do
sed -e 's#compiler_flags=#compiler_flags='%{?modeflag}' #' < $i > $i.out
mv $i.out $i
done
%endif
echo %{_libdir}/%{mpidir} > ${RPM_BUILD_ROOT}%{_libdir}/%{mpidir}/%{name}.ld.conf
# Make the pkgconfig files
mkdir -p ${RPM_BUILD_ROOT}%{_libdir}/pkgconfig;
sed 's#@NAME@#'%{name}'#g;s#@VERSION@#'%{version}'#g;s#@LIBDIR@#'%{_libdir}'#g;s#@INCLUDEDIR@#'%{_includedir}'#g;s#@MODE@#'%{mode}'#g;s#@CC@#'%{opt_cc}'#g;s#@MPIDIR@#'%{mpidir}'#g;s#@MODEFLAG@#'%{?modeflag}'#g' < %SOURCE1 > ${RPM_BUILD_ROOT}/%{_libdir}/pkgconfig/%{name}-%{version}-%{opt_cc}-%{mode}.pc;
sed 's#@NAME@#'%{name}'#g;s#@VERSION@#'%{version}'#g;s#@LIBDIR@#'%{_libdir}'#g;s#@INCLUDEDIR@#'%{_includedir}'#g;s#@DATADIR@#'%{_datadir}'#g;s#@MODE@#'%{mode}'#g;s#@CC@#'%{opt_cc}'#g;s#@MPIDIR@#'%{mpidir}'#g;s#@MODEFLAG@#'%{?modeflag}'#g' < %SOURCE2 > ${RPM_BUILD_ROOT}/%{_libdir}/%{mpidir}/%{name}.module;
# Ghost files for alternatives
touch ${RPM_BUILD_ROOT}%{_bindir}/mpirun
touch ${RPM_BUILD_ROOT}%{_bindir}/mpiexec
mkdir -p ${RPM_BUILD_ROOT}%{_mandir}/man1/
touch ${RPM_BUILD_ROOT}%{_mandir}/man1/mpirun.1.gz
touch ${RPM_BUILD_ROOT}%{_mandir}/man1/mpiexec.1.gz
mkdir -p ${RPM_BUILD_ROOT}%{_sysconfdir}/ld.so.conf.d/
touch ${RPM_BUILD_ROOT}%{_sysconfdir}/ld.so.conf.d/mpi%{mode}.conf
touch ${RPM_BUILD_ROOT}%{_bindir}/mpicc
touch ${RPM_BUILD_ROOT}%{_bindir}/mpic++
touch ${RPM_BUILD_ROOT}%{_bindir}/mpiCC
touch ${RPM_BUILD_ROOT}%{_bindir}/mpicxx
touch ${RPM_BUILD_ROOT}%{_bindir}/mpif77
touch ${RPM_BUILD_ROOT}%{_bindir}/mpif90
# Clean up static libs
rm -rf ${RPM_BUILD_ROOT}%{_libdir}/%{mpidir}/*.a
# This file is corrupt, don't try to package it.
rm -rf ${RPM_BUILD_ROOT}%{_datadir}/vampirtrace/doc/opari/lacsi01.ps.gz
# Clean up long names
pushd ${RPM_BUILD_ROOT}%{_bindir}
for i in otfaux otfcompress otfconfig otfdump otfmerge; do
ln -s %{_arch}-redhat-linux-gnu-$i $i;
done
popd
# Make the environment-modules file
mkdir -p %{buildroot}%{_sysconfdir}/modulefiles
# Since we're doing our own substitution here, use our own definitions.
sed 's#@LIBDIR@#'%{_libdir}/%{name}'#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}/%{name}'#g;s#@COMPILER@#openmpi-'%{_arch}%{?_cc_name_suffix}'#g;s#@SUFFIX@#'%{?_cc_name_suffix}'_openmpi#g' < %SOURCE1 > %{buildroot}%{_sysconfdir}/modulefiles/%{namearch}
# make the rpm config file
mkdir -p %{buildroot}/%{_sysconfdir}/rpm
cp %SOURCE2 %{buildroot}/%{_sysconfdir}/rpm/macros.%{namearch}
mkdir -p %{buildroot}/%{_fmoddir}/%{namearch}
mkdir -p %{buildroot}/%{python_sitearch}/openmpi%{?_cc_name_suffix}
%clean
[ ! -z "${RPM_BUILD_ROOT}" ] && rm -rf ${RPM_BUILD_ROOT}
%post
%{_sbindir}/update-alternatives --install %{_bindir}/mpirun mpi-run %{_bindir}/orterun \
%{priority} \
--slave %{_bindir}/mpiexec mpi-exec %{_bindir}/orterun \
--slave %{_mandir}/man1/mpirun.1.gz mpi-run-man \
%{_datadir}/%{mpidir}/man/man1/mpirun.1.gz \
--slave %{_mandir}/man1/mpiexec.1.gz mpi-exec-man \
%{_datadir}/%{mpidir}/man/man1/orterun.1.gz
%preun
if [ $1 -eq 0 ] ; then
%{_sbindir}/update-alternatives --remove mpi-run %{_bindir}/orterun
fi
%post libs
%{_sbindir}/update-alternatives --install %{_sysconfdir}/ld.so.conf.d/mpi%{mode}.conf \
mpilibs%{mode} %{_libdir}/%{mpidir}/%{name}.ld.conf %{priority}
/sbin/ldconfig
%preun libs
if [ $1 -eq 0 ] ; then
%{_sbindir}/update-alternatives --remove mpilibs%{mode} %{_libdir}/%{mpidir}/%{name}.ld.conf
fi
%postun libs -p /sbin/ldconfig
%post devel
%{_sbindir}/update-alternatives --install %{_bindir}/mpicc mpicc \
%{_bindir}/opal_wrapper-%{version}-%{opt_cc}-%{mode} \
%{priority} \
--slave %{_bindir}/mpic++ mpic++ \
%{_bindir}/opal_wrapper-%{version}-%{opt_cc}-%{mode} \
--slave %{_bindir}/mpiCC mpiCC \
%{_bindir}/opal_wrapper-%{version}-%{opt_cc}-%{mode} \
--slave %{_bindir}/mpicxx mpicxx \
%{_bindir}/opal_wrapper-%{version}-%{opt_cc}-%{mode} \
--slave %{_bindir}/mpif77 mpif77 \
%{_bindir}/opal_wrapper-%{version}-%{opt_cc}-%{mode} \
--slave %{_bindir}/mpif90 mpif90 \
%{_bindir}/opal_wrapper-%{version}-%{opt_cc}-%{mode}
%preun devel
if [ $1 -eq 0 ] ; then
%{_sbindir}/update-alternatives --remove mpicc %{_bindir}/opal_wrapper-%{version}-%{opt_cc}-%{mode}
fi
%postun devel -p /sbin/ldconfig
rm -rf %{buildroot}
%files
%defattr(-,root,root,-)
%doc LICENSE README
%config(noreplace) %{_sysconfdir}/openmpi-*
%dir %{_datadir}/%{mpidir}
%{_bindir}/ompi-clean
%{_bindir}/ompi-ps
%{_bindir}/ompi-server
%{_bindir}/opari
%{_bindir}/orte-clean
%{_bindir}/orte-iof
%{_bindir}/orte-ps
%{_bindir}/orted
%{_bindir}/orterun
%{_bindir}/ompi_info
%{_bindir}/*otf*
%ghost %{_bindir}/mpirun
%ghost %{_bindir}/mpiexec
%ghost %{_mandir}/man1/mpirun.1.gz
%ghost %{_mandir}/man1/mpiexec.1.gz
%{_datadir}/%{mpidir}/*
%exclude %{_datadir}/%{mpidir}/bin%{mode}
%exclude %{_datadir}/%{mpidir}/help%{mode}/openmpi/*-wrapper-data.txt
%exclude %{_datadir}/%{mpidir}/man/man3
%files libs
%defattr(-,root,root,-)
%dir %{_libdir}/%{mpidir}
%dir %{_libdir}/%{mpidir}/%{name}
%ghost %{_sysconfdir}/ld.so.conf.d/mpi%{mode}.conf
%{_libdir}/%{mpidir}/*.so.*
%{_libdir}/%{mpidir}/%{name}/*.so
%{_libdir}/%{mpidir}/*.conf
%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 %{python_sitearch}/%{name}
%config(noreplace) %{_sysconfdir}/%{namearch}/*
%{_libdir}/%{name}/bin/mpi[er]*
%{_libdir}/%{name}/bin/ompi*
#%{_libdir}/%{name}/bin/opal-*
%{_libdir}/%{name}/bin/opari
%{_libdir}/%{name}/bin/orte*
%{_libdir}/%{name}/bin/otf*
%{_libdir}/%{name}/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}/%{name}/lib/openmpi/*
%{_sysconfdir}/modulefiles/%{namearch}
#%files common
%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*
%{_libdir}/%{name}/share/openmpi/mca*
%files devel
%defattr(-,root,root,-)
%{_bindir}/opal_wrapper-%{version}-%{opt_cc}-%{mode}
%ghost %{_bindir}/mpicc
%ghost %{_bindir}/mpic++
%ghost %{_bindir}/mpiCC
%ghost %{_bindir}/mpicxx
%ghost %{_bindir}/mpif77
%ghost %{_bindir}/mpif90
%{_datadir}/%{mpidir}/bin%{mode}/
%{_datadir}/%{mpidir}/help%{mode}/openmpi/*-wrapper-data.txt
%{_includedir}/%{mpidir}/
%{_datadir}/%{mpidir}/man/man3/
%{_libdir}/%{mpidir}/*.so
%{_libdir}/%{mpidir}/*.la
%{_libdir}/%{mpidir}/%{name}/*.la
%{_libdir}/pkgconfig/%{name}-%{version}-%{opt_cc}-%{mode}.pc
%{_libdir}/%{mpidir}/*.mod
%{_libdir}/%{mpidir}/*.module
%files vt
%defattr(-,root,root,-)
%{_bindir}/vtcc
%{_bindir}/vtcxx
%{_bindir}/vtf77
%{_bindir}/vtf90
%{_bindir}/vtfilter
%{_bindir}/vtunify
%{_datadir}/vampirtrace/
%dir %{_includedir}/%{namearch}
%dir %{_libdir}/%{name}/share/vampirtrace
%{_libdir}/%{name}/bin/mpi[cCf]*
%{_libdir}/%{name}/bin/vt*
%{_libdir}/%{name}/bin/opal_*
%{_includedir}/%{namearch}/*
%{_libdir}/%{name}/lib/*.so
%{_libdir}/%{name}/lib/lib*.a
%{_libdir}/%{name}/lib/mpi.mod
%{_mandir}/%{namearch}/man1/mpi[cCf]*
%{_mandir}/%{namearch}/man1/opal_*
%{_mandir}/%{namearch}/man3/*
%{_mandir}/%{namearch}/man7/opal*
%{_libdir}/%{name}/share/openmpi/openmpi-valgrind.supp
%{_libdir}/%{name}/share/openmpi/mpi*
%{_libdir}/%{name}/share/vampirtrace/*
%{_sysconfdir}/rpm/macros.%{namearch}
%changelog
* 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

View File

@ -1 +1 @@
d759523b0752139872c534714d641d64 openmpi-1.3.1.tar.bz2
0a343ebe72050f6795a132a8d6df876e openmpi-1.4.1-RH.tar.bz2