rpms/mpich2/devel mpich2-mpd.patch, NONE, 1.1 mpich2-modules.patch, 1.1, 1.2 mpich2.spec, 1.12, 1.13

Deji Akingunola deji at fedoraproject.org
Mon Nov 9 19:33:18 UTC 2009


Author: deji

Update of /cvs/pkgs/rpms/mpich2/devel
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv21035

Modified Files:
	mpich2-modules.patch mpich2.spec 
Added Files:
	mpich2-mpd.patch 
Log Message:
* Tue Nov 03 2009 Deji Akingunola <dakingun at gmail.com> - 1.2-2
- Backport upstream patch to workaround changes in Python behaviour in F-12
- Clean-up the spec file to remove its 'Fedora-ness'.


mpich2-mpd.patch:
 mpd.py    |    2 +-
 mpdman.py |   15 ++++++++++-----
 2 files changed, 11 insertions(+), 6 deletions(-)

--- NEW FILE mpich2-mpd.patch ---
--- src/pm/mpd/mpd.py	2009-07-29 15:11:25.000000000 -0400
+++ src/pm/mpd/mpd.py.new	2009-11-09 10:54:08.692668108 -0500
@@ -196,7 +196,7 @@
         if vinfo:
             print "mpd: your python version must be >= 2.2 ; current version is:", vinfo
             sys.exit(-1)
-        os.close(0)
+        sys.stdin.close()
         if self.parmdb['MPD_ECHO_PORT_FLAG']:    # do this before becoming a daemon
             # print self.parmdb['MPD_LISTEN_PORT']
             print "mpd_port=%d" % self.parmdb['MPD_LISTEN_PORT']
--- src/pm/mpd/mpdman.py	2009-06-04 16:50:54.000000000 -0400
+++ src/pm/mpd/mpdman.py.new	2009-11-09 10:58:48.500667754 -0500
@@ -95,11 +95,16 @@
         # NOTE: this will also close syslog's fd inherited from mpd; re-opened below
         try:     max_fds = os.sysconf('SC_OPEN_MAX')
         except:  max_fds = 1024
-        for fd in range(3,max_fds):
-            if fd == self.mpdSock.fileno()  or  fd == self.listenRingSock.fileno():
-                continue
-            try:    os.close(fd)
-            except: pass
+        # FIXME This snippet causes problems on Fedora Core 12.  FC12's python 
+        # opens a file object to /etc/abrt/pyhook.conf.  Closing the fd out from
+        # under the higher level object causes problems at exit time when the 
+        # higher level object is garbage collected.  See MPICH2 ticket #902 for 
+        # more information. 
+        #for fd in range(3,max_fds): 
+        #    if fd == self.mpdSock.fileno()  or  fd == self.listenRingSock.fileno(): 
+        #        continue 
+        #    try:    os.close(fd) 
+        #    except: pass
         if syslog_module_available:
             syslog.openlog("mpdman",0,syslog.LOG_DAEMON)
             syslog.syslog(syslog.LOG_INFO,"mpdman starting new log; %s" % (self.myId) )

mpich2-modules.patch:
 mpich2.module.in |   20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)

Index: mpich2-modules.patch
===================================================================
RCS file: /cvs/pkgs/rpms/mpich2/devel/mpich2-modules.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -p -r1.1 -r1.2
--- mpich2-modules.patch	25 Oct 2009 21:39:42 -0000	1.1
+++ mpich2-modules.patch	9 Nov 2009 19:33:17 -0000	1.2
@@ -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-10-13 20:22:41.814975264 -0400
-@@ -6,6 +6,16 @@
++++ src/packaging/envmods/mpich2.module.in.new	2009-11-09 10:37:03.524042574 -0500
+@@ -6,9 +6,29 @@
  # Define prefix so PATH and MANPATH can be updated.
  setenv        prefix        @prefix@
  setenv        exec_prefix   @exec_prefix@
@@ -17,3 +17,16 @@
  prepend-path  PATH          @bindir@
  prepend-path  MANPATH       @mandir@
  
+ # Undefine prefix and exec_prefix which are too generic environment variables.
+ unsetenv      prefix
+ unsetenv      exec_prefix
++unsetenv      MPI_BIN
++unsetenv      MPI_SYSCONFIG
++unsetenv      MPI_FORTRAN_MOD_DIR
++unsetenv      MPI_INCLUDE
++unsetenv      MPI_LIB
++unsetenv      MPI_MAN
++unsetenv      MPI_PYTHON_SITEARCH
++unsetenv      MPI_COMPILER
++unsetenv      MPI_SUFFIX
++unsetenv      MPI_HOME


Index: mpich2.spec
===================================================================
RCS file: /cvs/pkgs/rpms/mpich2/devel/mpich2.spec,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -p -r1.12 -r1.13
--- mpich2.spec	25 Oct 2009 21:39:42 -0000	1.12
+++ mpich2.spec	9 Nov 2009 19:33:18 -0000	1.13
@@ -1,13 +1,15 @@
 Summary:	A high-performance implementation of MPI
 Name:		mpich2
 Version:	1.2
-Release:	1%{?dist}
+Release:	2%{?dist}
 License:	MIT
 Group:		Development/Libraries
 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
+#http://trac.mcs.anl.gov/projects/mpich2/ticket/902
+Patch1:		mpich2-mpd.patch
 BuildRoot:	%{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
 BuildRequires:	libXt-devel, libuuid-devel
 BuildRequires:	java-devel-openjdk, gcc-gfortran
@@ -17,6 +19,7 @@ Requires:	environment-modules
 Requires:	python
 Requires(post):	chkconfig
 Requires(preun):chkconfig
+Requires(posttrans):chkconfig
 #Requires chkconfig for /usr/sbin/alternatives
 
 %description
@@ -25,24 +28,26 @@ MPI standard. This release has all MPI-2
 required by the standard with the exeption of support for the
 "external32" portable I/O format.
 
-The mpich2 binaries in Fedora were configured to use the default
+The mpich2 binaries in this RPM packages were configured to use the default
 process manager 'MPD' 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.
 
-The Fedora builds also include support for using '/usr/sbin/alternatives'
+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.
 
 %package devel
 Summary:	Development files for mpich2
 Group:		Development/Libraries
+Provides:	%{name}-devel-static = %{version}-%{release}
 Requires:	%{name} = %{version}-%{release}
 Requires:	pkgconfig
 Requires:	gcc-gfortran 
-Requires(post):	/usr/sbin/alternatives
-Requires(preun):/usr/sbin/alternatives
-Requires(posttrans):/usr/sbin/alternatives
+Requires(post):	chkconfig
+Requires(preun):chkconfig
+Requires(posttrans):chkconfig
+#Requires chkconfig for /usr/sbin/alternatives
 
 %description devel
 Contains development headers and libraries for mpich2
@@ -86,6 +91,7 @@ Contains documentations, examples and ma
 %prep
 %setup -q
 %patch0 -p0 -b .modu
+%patch1 -p0 -b .fedora
 
 %build
 %configure	\
@@ -119,7 +125,7 @@ Contains documentations, examples and ma
 
 #	F90FLAGS="%{?opt_fc_fflags} -I%{_fmoddir}/%{name} %{?XFLAGS}"	\
 #make %{?_smp_mflags} doesn't work
-make
+make VERBOSE=1
 
 %install
 rm -rf %{buildroot}
@@ -179,6 +185,8 @@ rm -rf %{buildroot}%{_sbindir}/mpe*
 
 rm -rf %{buildroot}%{_bindir}/*.in
 find %{buildroot} -type f -name "*.la" -exec rm -f {} ';'
+find %{buildroot} -type f -name "*.pyo" -exec rm -f {} ';'
+find %{buildroot} -type f -name "*.pyc" -exec rm -f {} ';'
 
 %clean
 rm -rf %{buildroot}
@@ -278,10 +286,6 @@ fi
 %dir %{_mandir}/%{name}/
 %doc %{_mandir}/%{name}/man1
 %{_datadir}/Modules/modulefiles/%{name}-%{_arch}
-%if 0%{?fedora} < 11
-%exclude %{_bindir}/mp*.pyc
-%exclude %{_bindir}/mp*.pyo
-%endif
 %exclude %{_bindir}/mpif*
 %exclude %{_bindir}/mpic*
 %ghost %{_bindir}/mpiexec
@@ -322,6 +326,10 @@ fi
 %exclude %{_datadir}/%{name}/examples*/Makefile-%{_arch}
 
 %changelog
+* Mon Nov 09 2009 Deji Akingunola <dakingun at gmail.com> - 1.2-2
+- Backport upstream patch to workaround changes in Python behaviour in F-12
+- Clean-up the spec file to remove its 'Fedora-ness'.
+
 * Sat Oct 10 2009 Deji Akingunola <dakingun at gmail.com> - 1.2-1
 - Adapt to the Fedora MPI packaging guildelines
 - Split out a -doc subpackage




More information about the scm-commits mailing list