[mpich2/el5] Update to 1.4.1p1 patch update

Deji Akingunola deji at fedoraproject.org
Thu Apr 5 04:39:24 UTC 2012


commit f26247931ed01a5283242144184b72ba25b62f13
Author: Deji Akingunola <dakingun at gmail.com>
Date:   Thu Apr 5 00:39:19 2012 -0400

    Update to 1.4.1p1 patch update
    
    - Add enable-lib-depend to configure flags
    - Ship the mpi compilers in the main package
    - Remove alternatives support
    - Add script to load mpich2 module on login

 mpich2-destdir-fix.patch |   24 +++++
 mpich2-modules.patch     |    7 +-
 mpich2-mpicxx-und.patch  |   42 +++++++++
 mpich2.spec              |  229 ++++++++++++++++------------------------------
 sources                  |    2 +-
 5 files changed, 151 insertions(+), 153 deletions(-)
---
diff --git a/mpich2-destdir-fix.patch b/mpich2-destdir-fix.patch
new file mode 100644
index 0000000..45d53c9
--- /dev/null
+++ b/mpich2-destdir-fix.patch
@@ -0,0 +1,24 @@
+--- Makefile.in	2011-08-24 15:41:55.000000000 -0400
++++ Makefile.in.new	2011-08-25 14:19:05.032679591 -0400
+@@ -202,16 +202,16 @@
+ 	if [ -s $(srcdir)/doc/installguide/install.pdf ] ; then $(INSTALL_DATA)  $(srcdir)/doc/installguide/install.pdf ${DESTDIR}${docdir}/install.pdf ; fi
+ 	if [ -s $(srcdir)/doc/smpd/smpd_pmi.pdf ] ; then $(INSTALL_DATA)  $(srcdir)/doc/smpd/smpd_pmi.pdf ${DESTDIR}${docdir}/smpd_pmi.pdf ; fi
+ 	if [ -s $(srcdir)/doc/logging/logging.pdf ] ; then $(INSTALL_DATA)  $(srcdir)/doc/logging/logging.pdf ${DESTDIR}${docdir}/logging.pdf ; fi
+-	(cd src/env && $(MAKE) INSTALL_STRIP_FLAG=$(INSTALL_STRIP_FLAG) PACKAGE=$(PACKAGE) prefix=${DESTDIR}${prefix} exec_prefix=${DESTDIR}${exec_prefix} bindir=${DESTDIR}${bindir} libdir=${DESTDIR}${libdir} includedir=${DESTDIR}${includedir} install)
+-	(cd src/packaging/pkgconfig && $(MAKE) INSTALL_STRIP_FLAG=$(INSTALL_STRIP_FLAG) PACKAGE=$(PACKAGE) prefix=${DESTDIR}${prefix} exec_prefix=${DESTDIR}${exec_prefix} bindir=${DESTDIR}${bindir} libdir=${DESTDIR}${libdir} includedir=${DESTDIR}${includedir} install)
+-	(cd src/packaging/envmods && $(MAKE) INSTALL_STRIP_FLAG=$(INSTALL_STRIP_FLAG) PACKAGE=$(PACKAGE) prefix=${DESTDIR}${prefix} exec_prefix=${DESTDIR}${exec_prefix} bindir=${DESTDIR}${bindir} libdir=${DESTDIR}${libdir} includedir=${DESTDIR}${includedir} install)
++	(cd src/env && $(MAKE) INSTALL_STRIP_FLAG=$(INSTALL_STRIP_FLAG) PACKAGE=$(PACKAGE) prefix=${prefix} exec_prefix=${exec_prefix} bindir=${bindir} libdir=${libdir} includedir=${includedir} install)
++	(cd src/packaging/pkgconfig && $(MAKE) INSTALL_STRIP_FLAG=$(INSTALL_STRIP_FLAG) PACKAGE=$(PACKAGE) prefix=${prefix} exec_prefix=${exec_prefix} bindir=${bindir} libdir=${libdir} includedir=${includedir} install)
++	(cd src/packaging/envmods && $(MAKE) INSTALL_STRIP_FLAG=$(INSTALL_STRIP_FLAG) PACKAGE=$(PACKAGE) prefix=${prefix} exec_prefix=${exec_prefix} bindir=${bindir} libdir=${libdir} includedir=${includedir} install)
+ 	for dir in @bindings_dirs@ - ; do \
+ 		if [ "$$dir" = "-" ] ; then break ; fi ;\
+-		(cd $$dir && $(MAKE) INSTALL_STRIP_FLAG=$(INSTALL_STRIP_FLAG) PACKAGE=$(PACKAGE) prefix=${DESTDIR}${prefix} exec_prefix=${DESTDIR}${exec_prefix} bindir=${DESTDIR}${bindir} libdir=${DESTDIR}${libdir} includedir=${DESTDIR}${includedir} install) ;\
++		(cd $$dir && $(MAKE) INSTALL_STRIP_FLAG=$(INSTALL_STRIP_FLAG) PACKAGE=$(PACKAGE) prefix=${prefix} exec_prefix=${exec_prefix} bindir=${bindir} libdir=${libdir} includedir=${includedir} install) ;\
+ 	done
+ 	for dir in @other_install_dirs@ - ; do \
+ 		if [ "$$dir" = "-" ] ; then break ; fi ;\
+-		(cd $$dir && $(MAKE) INSTALL_STRIP_FLAG=$(INSTALL_STRIP_FLAG) PACKAGE=$(PACKAGE) prefix=${DESTDIR}${prefix} exec_prefix=${DESTDIR}${exec_prefix} bindir=${DESTDIR}${bindir} libdir=${DESTDIR}${libdir} includedir=${DESTDIR}${includedir} install) ;\
++		(cd $$dir && $(MAKE) INSTALL_STRIP_FLAG=$(INSTALL_STRIP_FLAG) PACKAGE=$(PACKAGE) prefix=${prefix} exec_prefix=${exec_prefix} bindir=${bindir} libdir=${libdir} includedir=${includedir} install) ;\
+ 	done
+ 
+ install-strip:
diff --git a/mpich2-modules.patch b/mpich2-modules.patch
index 25ec830..5c5c324 100644
--- a/mpich2-modules.patch
+++ b/mpich2-modules.patch
@@ -1,6 +1,6 @@
 --- src/packaging/envmods/mpich2.module.in	2009-07-02 15:54:58.000000000 -0400
-+++ src/packaging/envmods/mpich2.module.in.new	2009-11-09 10:37:03.524042574 -0500
-@@ -4,11 +4,16 @@
++++ src/packaging/envmods/mpich2.module.in.new	2010-09-22 14:27:49.950096538 -0400
+@@ -4,11 +4,17 @@
  # 
  
  # Define prefix so PATH and MANPATH can be updated.
@@ -12,7 +12,7 @@
 +setenv        MPI_INCLUDE   @includedir@
 +setenv        MPI_LIB       @libdir@
 +setenv        MPI_MAN       @mandir@
-+setenv        MPI_PYTHON_SITEARCH	@bindir@
++setenv        MPI_PYTHON_SITEARCH	@pysitearch@/@MPILIBNAME at 2
 +setenv        MPI_COMPILER  @MPILIBNAME at 2-@ARCH@
 +setenv        MPI_SUFFIX    _ at MPILIBNAME@2
 +setenv        MPI_HOME      @LIBDIR@/@MPILIBNAME at 2
@@ -23,3 +23,4 @@
 -# Undefine prefix and exec_prefix which are too generic environment variables.
 -unsetenv      prefix
 -unsetenv      exec_prefix
++prepend-path  PYTHONPATH    @pysitearch@/@MPILIBNAME at 2
diff --git a/mpich2-mpicxx-und.patch b/mpich2-mpicxx-und.patch
new file mode 100644
index 0000000..88b7c81
--- /dev/null
+++ b/mpich2-mpicxx-und.patch
@@ -0,0 +1,42 @@
+--- Makefile.in	2011-08-25 15:13:33.437818904 -0400
++++ Makefile.in.new	2011-08-26 23:55:59.007152188 -0400
+@@ -102,6 +102,8 @@
+ 
+ CC              = @CC@
+ CFLAGS          = @CFLAGS@ $(MPICH2_MAKE_CFLAGS)
++CXX             = @CXX@
++CXXFLAGS        = @CXXFLAGS@ $(MPICH2_MAKE_CXXFLAGS)
+ C_COMPILE       = $(CC) $(DEFS) $(INCLUDES) $(CFLAGS) $(CPPFLAGS)
+ # Build the shared library from the shared object files
+ lib/lib${MPILIBNAME}. at SHLIB_EXT@: lib/lib${MPILIBNAME}.la
+@@ -118,7 +120,7 @@
+ 	(cd lib && $(CREATESHLIB) --mode=link  -version-info "$(ABIVERSION)" -o lib${MPILIBNAME}f90.la  -rpath $(libdir) -L. @LDFLAGS_DEPS@ -l$(MPILIBNAME) @LIB_DEPS@ -ldflags "$(LDFLAGS)" $(LIBS))
+ # Build the shared library from the shared object files
+ lib/lib${MPICXXLIBNAME}. at SHLIB_EXT@: lib/lib${MPICXXLIBNAME}.la
+-	(cd lib && $(CREATESHLIB) --mode=link  -version-info "$(ABIVERSION)" -o lib${MPICXXLIBNAME}.la  -rpath $(libdir) -L. @LDFLAGS_DEPS@ -l$(MPILIBNAME) @LIB_DEPS@ -ldflags "$(LDFLAGS)" $(LIBS))
++	(cd lib && $(CREATESHLIB) --mode=link -cc="$(CXX)" -clink="$(CXX) $(CXXFLAGS) -shared" -version-info "$(ABIVERSION)" -o lib${MPICXXLIBNAME}.la  -rpath $(libdir) -L. @LDFLAGS_DEPS@ -l$(MPILIBNAME) @LIB_DEPS@ -ldflags "$(LDFLAGS)" $(LIBS))
+ 
+ # --------------------------------------------------------------------------
+ .libstamp0: 
+--- Makefile.in	2011-09-11 20:52:24.702958021 -0400
++++ Makefile.in.new	2011-09-12 09:34:52.824287092 -0400
+@@ -328,7 +328,7 @@
+ #    1) Build the debugger interface if requested
+ # Move the "pkglist.new" file to "pkglist" on successful completion
+ all-postamble:
+-	( cd examples && $(MAKE) )
++	( cd examples && $(MAKE) LDFLAGS='-L../lib/' LIBS='-lmpl -lopa' )
+ 	@if [ "@BUILD_TVDLL@" = "yes" ] ; then \
+ 	( cd src/mpi/debugger && $(MAKE) ./libtvmpich2. at SHLIB_EXT@ ) ; fi
+ 	@if [ -s lib/pkglist.new ] ; then mv -f lib/pkglist.new lib/pkglist ; fi
+--- src/util/createshlib.in	2010-11-06 11:02:44.000000000 -0400
++++ src/util/createshlib.in.new	2011-08-27 01:04:47.980532917 -0400
+@@ -99,7 +99,7 @@
+        # -cc and -clink allow us to override the commands used to 
+        # build the shared library
+        -cc=*|--cc=*) CC_SHL=$option ;;
+-       -clink=*|--clink=*) C_LINK_SHL=$option ;;
++       -clink=*|--clink=*) C_LINK_SHL=`echo $arg | sed -e 's/-clink=//'` ;;
+        -libtype=*|--libtype=*) libtype=$option ;;
+        -l*|-L*)
+        dependentLibs="$dependentLibs $arg"
diff --git a/mpich2.spec b/mpich2.spec
index c771799..06d8c32 100644
--- a/mpich2.spec
+++ b/mpich2.spec
@@ -1,6 +1,8 @@
+%{!?python_sitearch: %global python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)")}
+
 Summary:	A high-performance implementation of MPI
 Name:		mpich2
-Version:	1.2.1p1
+Version:	1.4.1p1
 Release:	1%{?dist}
 License:	MIT
 Group:		Development/Libraries
@@ -8,6 +10,8 @@ URL:		http://www.mcs.anl.gov/research/projects/mpich2
 Source0:	http://www.mcs.anl.gov/research/projects/mpich2/downloads/tarballs/%{version}/%{name}-%{version}.tar.gz
 Source1:	mpich2.macros	
 Patch0:		mpich2-modules.patch
+Patch1:		mpich2-destdir-fix.patch
+Patch2:		mpich2-mpicxx-und.patch
 BuildRoot:	%{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
 BuildRequires:	libXt-devel, e2fsprogs-devel
 %ifarch %{ix86} x86_64
@@ -15,29 +19,31 @@ BuildRequires:	java-devel-openjdk, gcc-gfortran
 %else
 BuildRequires:	java-devel, gcc-gfortran
 %endif
-BuildRequires:	emacs-common, perl, python
+BuildRequires:	perl, python
+BuildRequires:	automake autoconf libtool gettext
+%ifnarch s390 s390x
+BuildRequires:	valgrind-devel
+%endif
+Provides:	mpi
 Obsoletes:	%{name}-libs < 1.1.1
+Obsoletes:	%{name}-mpd < 1.4.1
 Requires:	environment-modules
-Requires:	python
-Requires(post):	chkconfig
-Requires(preun):chkconfig
-Requires(posttrans):chkconfig
+Requires(pre):	chkconfig
 #Requires chkconfig for /usr/sbin/alternatives
 
 %description
 MPICH2 is a high-performance and widely portable implementation of the
-MPI standard. This release has all MPI-2.1 functions and features
-required by the standard with the exeption of support for the
-"external32" portable I/O format.
+MPI standard (both MPI-1 and MPI-2). This release has all MPI-2.2 functions and
+features required by the standard with the exeption of support for the
+"external32" portable I/O format and user-defined data representations for I/O.
 
 The mpich2 binaries in this RPM packages were configured to use the default
-process manager 'MPD' using the default device 'ch3'. The ch3 device
+process manager (Hydra) using the default device (ch3). The ch3 device
 was configured with support for the nemesis channel that allows for
 shared-memory and TCP/IP sockets based communication.
 
-This build also include support for using '/usr/sbin/alternatives'
-and/or the 'module environment' to select which MPI implementation to use
-when multiple implementations are installed.
+This build also include support for using the 'module environment' to select
+which MPI implementation to use when multiple implementations are installed.
 
 %package devel
 Summary:	Development files for mpich2
@@ -46,9 +52,7 @@ Provides:	%{name}-devel-static = %{version}-%{release}
 Requires:	%{name} = %{version}-%{release}
 Requires:	pkgconfig
 Requires:	gcc-gfortran 
-Requires(post):	chkconfig
-Requires(preun):chkconfig
-Requires(posttrans):chkconfig
+Requires(pre):	chkconfig
 #Requires chkconfig for /usr/sbin/alternatives
 
 %description devel
@@ -57,6 +61,7 @@ Contains development headers and libraries for mpich2
 %package doc
 Summary:	Documentations and examples for mpich2
 Group:          Documentation
+Requires:	%{name}-devel = %{version}-%{release}
 
 %description doc
 Contains documentations, examples and manpages for mpich2
@@ -80,52 +85,61 @@ Contains documentations, examples and manpages for mpich2
 %endif
 
 %ifarch x86_64 ia64 ppc64 s390x sparc64
-%global priority 41
+%define priority 41
 %define mbits 64
 %else
+%define priority 40
 %define mbits 32
-%global priority 40
 %endif
 
-%ifarch x86_64
+%ifarch %{ix86} x86_64 s390
 %global XFLAGS -fPIC
 %endif
 
 %prep
 %setup -q
 %patch0 -p0 -b .modu
+%patch1 -p0 -b .dest
+%patch2 -p0 -b .und
 
 %build
 %configure	\
 	--enable-sharedlibs=gcc					\
-	--enable-f90						\
+	--enable-shared						\
+	--enable-lib-depend					\
+	--disable-rpath						\
+	--enable-fc						\
 	--with-device=%{selected_channels}			\
+	--with-pm=hydra:gforker					\
 	--sysconfdir=%{_sysconfdir}/%{name}-%{_arch}		\
 	--includedir=%{_includedir}/%{name}-%{_arch}		\
+	--bindir=%{_libdir}/%{name}/bin				\
 	--libdir=%{_libdir}/%{name}/lib				\
 	--datadir=%{_datadir}/%{name}				\
 	--mandir=%{_mandir}/%{name}				\
 	--docdir=%{_datadir}/%{name}/doc			\
 	--htmldir=%{_datadir}/%{name}/doc			\
+	--with-hwloc-prefix=embedded				\
+	--with-openpa-prefix=embedded				\
 	--with-java=%{_sysconfdir}/alternatives/java_sdk	\
-	F90=%{opt_fc}						\
+	FC=%{opt_fc}						\
 	F77=%{opt_f77}						\
-	CFLAGS="-m%{mbits} -O2 %{?XFLAGS}"			\
-	CXXFLAGS="-m%{mbits} -O2 %{?XFLAGS}"			\
-	F90FLAGS="-m%{mbits} -O2 %{?XFLAGS}"			\
-	FFLAGS="-m%{mbits} -O2 %{?XFLAGS}"			\
+	CFLAGS="-O2 %{?XFLAGS}"			\
+	CXXFLAGS="-O2 %{?XFLAGS}"			\
+	FCFLAGS="-O2 %{?XFLAGS}"			\
+	FFLAGS="-O2 %{?XFLAGS}"			\
 	LDFLAGS='-Wl,-z,noexecstack'				\
 	MPICH2LIB_CFLAGS="%{?opt_cc_cflags}"			\
 	MPICH2LIB_CXXFLAGS="%{optflags}"			\
-	MPICH2LIB_F90FLAGS="%{?opt_fc_fflags}"			\
+	MPICH2LIB_FCFLAGS="%{?opt_fc_fflags}"			\
 	MPICH2LIB_FFLAGS="%{?opt_f77_fflags}"	
 #	MPICH2LIB_LDFLAGS='-Wl,-z,noexecstack'			\
-#	MPICH2_MPICC_FLAGS="-m%{__isa_bits} -O2 %{?XFLAGS}"	\
-#	MPICH2_MPICXX_FLAGS="-m%{__isa_bits} -O2 %{?XFLAGS}"	\
-#	MPICH2_MPIF90_FLAGS="-m%{__isa_bits} -O2 %{?XFLAGS}"	\
-#	MPICH2_MPIF77_FLAGS="-m%{__isa_bits} -O2 %{?XFLAGS}"
+#	MPICH2_MPICC_FLAGS="-O2 %{?XFLAGS}"	\
+#	MPICH2_MPICXX_FLAGS="-O2 %{?XFLAGS}"	\
+#	MPICH2_MPIFC_FLAGS="-O2 %{?XFLAGS}"	\
+#	MPICH2_MPIF77_FLAGS="-O2 %{?XFLAGS}"
 
-#	F90FLAGS="%{?opt_fc_fflags} -I%{_fmoddir}/%{name} %{?XFLAGS}"	\
+#	FCFLAGS="%{?opt_fc_fflags} -I%{_fmoddir}/%{name} %{?XFLAGS}"	\
 #make %{?_smp_mflags} doesn't work
 make VERBOSE=1
 
@@ -133,29 +147,10 @@ make VERBOSE=1
 rm -rf %{buildroot}
 make DESTDIR=%{buildroot} install
 
-mkdir -p %{buildroot}%{_libdir}/%{name}/bin %{buildroot}%{_mandir}/man1
-rm -f %{buildroot}%{_bindir}/{mpiexec,mpirun,mpdrun}
-
-for execfile in mpiexec mpirun; do 
-  ln -s ../../../bin/mpiexec.py %{buildroot}%{_libdir}/%{name}/bin/$execfile
-done
-BASIC_PGMS="slog2print slog2navigator slog2filter slog2updater logconvertor jumpshot"
-CLOG_PGMS="clogprint clogTOslog2 clog2print clog2TOslog2"
-RLOG_PGMS="rlogprint rlogTOslog2"
-OTHER_PGMS="clog2_join clog2_print clog2_repair rlog_check_timeorder rlog_print"
-for exefile in $BASIC_PGMS $CLOG_PGMS $RLOG_PGMS $OTHER_PGMS mpich2version ; do
-  mv %{buildroot}%{_bindir}/$exefile %{buildroot}%{_libdir}/%{name}/bin/$exefile
-done
-
-pushd  %{buildroot}%{_bindir}/
-ln -s mpiexec.py mpdrun
-touch mpiexec mpirun mpich2version
-touch %{buildroot}%{_mandir}/man1/mpiexec.1
-popd
-for b in mpicxx mpicc mpif77 mpif90 mpic++; do 
-  mv %{buildroot}%{_bindir}/$b %{buildroot}%{_libdir}/%{name}/bin/;
-  touch %{buildroot}%{_bindir}/$b;
-  touch %{buildroot}%{_mandir}/man1/$b.1;
+# Workaround 1.4.1 broken destdir
+for fichier in mpif77 mpif90 mpicxx mpicc ; do
+  sed -i 's#'%{buildroot}'##' %{buildroot}%{_libdir}/%{name}/bin/$fichier
+  sed -i 's#'%{buildroot}'##' %{buildroot}%{_sysconfdir}/%{name}-%{_arch}/$fichier.conf
 done
 
 mv %{buildroot}%{_libdir}/%{name}/lib/pkgconfig %{buildroot}%{_libdir}/
@@ -166,9 +161,17 @@ chmod -x %{buildroot}%{_libdir}/pkgconfig/*.pc
 
 # Install the module file
 mkdir -p %{buildroot}%{_sysconfdir}/modulefiles
+mkdir -p %{buildroot}%{python_sitearch}/%{name}
 cp -pr src/packaging/envmods/mpich2.module %{buildroot}%{_sysconfdir}/modulefiles/%{name}-%{_arch}
-sed -i 's#'%{_bindir}'#'%{_libdir}/%{name}/bin'#;s#@LIBDIR@#'%{_libdir}'#;s#@ARCH@#'%{_arch}'#' %{buildroot}%{_sysconfdir}/modulefiles/%{name}-%{_arch}
-
+sed -i 's#'%{_bindir}'#'%{_libdir}/%{name}/bin'#;s#@LIBDIR@#'%{_libdir}'#;s#@pysitearch@#'%{python_sitearch}'#;s#@ARCH@#'%{_arch}'#' %{buildroot}%{_sysconfdir}/modulefiles/%{name}-%{_arch}
+
+mkdir -p %{buildroot}%{_sysconfdir}/profile.d
+cat << EOF > %{buildroot}%{_sysconfdir}/profile.d/mpich2-%{_arch}.sh
+# Load mpich2 environment module
+module load %{name}-%{_arch}
+EOF
+cp -p %{buildroot}%{_sysconfdir}/profile.d/mpich2-%{_arch}.{sh,csh}
+ 
 # Install the RPM macro
 mkdir -p %{buildroot}%{_sysconfdir}/rpm
 cp -pr %{SOURCE1} %{buildroot}%{_sysconfdir}/rpm/macros.%{name}
@@ -187,59 +190,24 @@ done
 rm -rf %{buildroot}%{_sbindir}/mpe*
 
 find %{buildroot} -type f -name "*.la" -exec rm -f {} ';'
-
+rm -f %{buildroot}%{_libdir}/%{name}/lib/lib{*mpich*,opa,mpl}.a
 
 %clean
 rm -rf %{buildroot}
 
 %post
-
 /sbin/ldconfig
 
-if [ $1 -eq 1 ] ; then
-/usr/sbin/alternatives	\
-	--install %{_bindir}/mpirun mpi-run %{_bindir}/mpiexec.py %{priority}	\
-	--slave	%{_bindir}/mpiexec mpi-exec %{_bindir}/mpiexec.py	\
-	--slave	%{_bindir}/mpich2version mpi-ver			\
-			%{_libdir}/%{name}/bin/mpich2version		\
-	--slave	%{_mandir}/man1/mpiexec.1.gz mpi-exec-man		\
-			%{_mandir}/%{name}/man1/mpiexec.1.gz		\
-	--slave	%{_mandir}/man1/mpif90.1.gz mpif90-man			\
-			%{_mandir}/%{name}/man1/mpif90.1.gz		\
-	--slave	%{_mandir}/man1/mpif77.1.gz mpif77-man			\
-			%{_mandir}/%{name}/man1/mpif77.1.gz		\
-	--slave	%{_mandir}/man1/mpicc.1.gz mpicc-man			\
-			%{_mandir}/%{name}/man1/mpicc.1.gz		\
-	--slave	%{_mandir}/man1/mpicxx.1.gz mpicxx-man			\
-			%{_mandir}/%{name}/man1/mpicxx.1.gz
-fi
-
-%posttrans
-if [ $1 -eq 0 ] ; then
-/usr/sbin/alternatives	\
-	--install %{_bindir}/mpirun mpi-run %{_bindir}/mpiexec.py %{priority}	\
-	--slave	%{_bindir}/mpiexec mpi-exec %{_bindir}/mpiexec.py	\
-	--slave	%{_bindir}/mpich2version mpi-ver			\
-			%{_libdir}/%{name}/bin/mpich2version		\
-	--slave	%{_mandir}/man1/mpiexec.1.gz mpi-exec-man		\
-			%{_mandir}/%{name}/man1/mpiexec.1.gz		\
-	--slave	%{_mandir}/man1/mpif90.1.gz mpif90-man			\
-			%{_mandir}/%{name}/man1/mpif90.1.gz		\
-	--slave	%{_mandir}/man1/mpif77.1.gz mpif77-man			\
-			%{_mandir}/%{name}/man1/mpif77.1.gz		\
-	--slave	%{_mandir}/man1/mpicc.1.gz mpicc-man			\
-			%{_mandir}/%{name}/man1/mpicc.1.gz		\
-	--slave	%{_mandir}/man1/mpicxx.1.gz mpicxx-man			\
-			%{_mandir}/%{name}/man1/mpicxx.1.gz
-fi
+%postun
+/sbin/ldconfig
 
-%preun
-if [ $1 -eq 0 ] ; then
-/usr/sbin/alternatives --remove mpi-run %{_bindir}/mpiexec.py
+%pre
+if [ $1 -gt 1 ] ; then
+	if [ -e %{_bindir}/mpiexec.py ] ; then
+		/usr/sbin/alternatives --remove mpi-run %{_bindir}/mpiexec.py
+	fi
 fi
 
-%postun -p /sbin/ldconfig
-
 %pre devel
 if [ $1 -gt 1 ] ; then
 # Remove the old alternative
@@ -248,79 +216,35 @@ if [ $1 -gt 1 ] ; then
 	fi
 fi
 
-%post devel
-if [ $1 -eq 1 ] ; then
-/usr/sbin/alternatives	\
-	--install %{_bindir}/mpicc mpicc %{_libdir}/%{name}/bin/mpicc %{priority}	\
-	--slave	%{_bindir}/mpicxx mpicxx %{_libdir}/%{name}/bin/mpicxx	\
-	--slave	%{_bindir}/mpic++ mpic++ %{_libdir}/%{name}/bin/mpicxx	\
-	--slave	%{_bindir}/mpif90 mpif90 %{_libdir}/%{name}/bin/mpif90	\
-	--slave	%{_bindir}/mpif77 mpif77 %{_libdir}/%{name}/bin/mpif77
-fi
-
-%posttrans devel
-if [ $1 -eq 0 ] ; then
-/usr/sbin/alternatives	\
-	--install %{_bindir}/mpicc mpicc %{_libdir}/%{name}/bin/mpicc %{priority}	\
-	--slave	%{_bindir}/mpicxx mpicxx %{_libdir}/%{name}/bin/mpicxx	\
-	--slave	%{_bindir}/mpic++ mpic++ %{_libdir}/%{name}/bin/mpicxx	\
-	--slave	%{_bindir}/mpif90 mpif90 %{_libdir}/%{name}/bin/mpif90	\
-	--slave	%{_bindir}/mpif77 mpif77 %{_libdir}/%{name}/bin/mpif77
-fi
-
-%preun devel
-if [ $1 -ge 0 ] ; then
-/usr/sbin/alternatives --remove mpicc %{_libdir}/%{name}/bin/mpicc
-fi
-
 %files
 %defattr(-,root,root,-)
 %doc CHANGES COPYRIGHT README src/mpe2/README.mpe2 RELEASE_NOTES
-%{_bindir}/mpd*
-%{_bindir}/mpi*.*
-%{_bindir}/check_callstack
-%{_bindir}/parkill
-%{_bindir}/pmi_proxy
 %dir %{_libdir}/%{name}
 %dir %{_libdir}/%{name}/lib
 %dir %{_libdir}/%{name}/bin
 %{_libdir}/%{name}/lib/*.jar
 %{_libdir}/%{name}/lib/mpe*.o
 %{_libdir}/%{name}/lib/*.so.*
-%{_libdir}/%{name}/bin/mpiexec
-%{_libdir}/%{name}/bin/mpirun
-%{_libdir}/%{name}/bin/mpich2version
+%{_libdir}/%{name}/bin/*
 %config %{_sysconfdir}/%{name}-%{_arch}/
+%dir %{python_sitearch}/%{name}
 %dir %{_mandir}/%{name}
 %doc %{_mandir}/%{name}/man1/
 %{_sysconfdir}/modulefiles/%{name}-%{_arch}
-%exclude %{_bindir}/mpif*
-%exclude %{_bindir}/mpic*
-%ghost %{_bindir}/mpiexec
-%ghost %{_bindir}/mpirun
-%ghost %{_bindir}/mpich2version
-%ghost %{_mandir}/man1/mpi*.1.gz
+%{_sysconfdir}/profile.d/mpich2-%{_arch}.*
+%exclude %{_libdir}/%{name}/bin/*log*
+%exclude %{_libdir}/%{name}/bin/jumpshot
 
 %files devel
 %defattr(-,root,root,-)
-%{_libdir}/%{name}/bin/mpicc
-%{_libdir}/%{name}/bin/mpicxx
-%{_libdir}/%{name}/bin/mpic++
-%{_libdir}/%{name}/bin/mpif90
-%{_libdir}/%{name}/bin/mpif77
 %{_libdir}/%{name}/bin/*log*
 %{_libdir}/%{name}/bin/jumpshot
-%ghost %{_bindir}/mpicc
-%ghost %{_bindir}/mpicxx
-%ghost %{_bindir}/mpic++
-%ghost %{_bindir}/mpif90
-%ghost %{_bindir}/mpif77
 %{_includedir}/%{name}-%{_arch}/
 #%{_fmoddir}/%{name}/
 %{_libdir}/%{name}/lib/*.a
 %{_libdir}/%{name}/lib/*.so
 %{_libdir}/%{name}/lib/trace_rlog/libTraceInput.so
-%{_libdir}/pkgconfig/%{name}-ch3.pc
+%{_libdir}/pkgconfig/%{name}-*.pc
 %{_libdir}/pkgconfig/openpa.pc
 %{_datadir}/%{name}/examples*/Makefile-%{_arch}
 %config %{_sysconfdir}/rpm/macros.%{name}
@@ -336,6 +260,13 @@ fi
 %exclude %{_datadir}/%{name}/examples*/Makefile-%{_arch}
 
 %changelog
+* Sun Sep 11 2011 Deji Akingunola <dakingun at gmail.com> - 1.4.1p1-1
+- Update to 1.4.1p1 patch update
+- Add enable-lib-depend to configure flags
+- Ship the mpi compilers in the main package
+- Remove alternatives support
+- Add script to load mpich2 module on login
+
 * Mon Aug 16 2010 Deji Akingunola <dakingun at gmail.com> - 1.2.1p1-1
 - Upgrade to 1.2.1p1.
 - Fix the post-install scriptlet error causing build issue (BZ 624217) 
diff --git a/sources b/sources
index 3073fc1..9663e79 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-fa7e8dc7c5fb60395ab26c5b239321ca  mpich2-1.2.1p1.tar.gz
+b470666749bcb4a0449a072a18e2c204  mpich2-1.4.1p1.tar.gz


More information about the scm-commits mailing list