diff --git a/mpi4py.spec b/mpi4py.spec index c15fce1..ba8eca8 100644 --- a/mpi4py.spec +++ b/mpi4py.spec @@ -15,10 +15,10 @@ %filter_setup } -%global with_mpich2 1 +%global with_mpich 1 %if 0%{?rhel} %ifarch ppc64 -%global with_mpich2 0 +%global with_mpich 0 %endif %endif @@ -27,14 +27,14 @@ # So to easy enable/disable the testsuite, I introduce the following # variables: # -# * MPD: if '1' enable mpich2, which requires mpd to start +# * MPICH: if '1' enable mpich # * OPENMPI: if '1' enable openmpi -%global MPD 0 +%global MPICH 0 %global OPENMPI 0 Name: mpi4py Version: 1.3 -Release: 7%{?dist} +Release: 8%{?dist} Summary: Python bindings of the Message Passing Interface (MPI) Group: Development/Languages @@ -50,9 +50,6 @@ BuildRequires: python3-devel %endif Requires: %{name}-common = %{version}-%{release} -# for the testsuite: 'pwgen' is needed to create a random password -BuildRequires: pwgen - %description @@ -104,14 +101,16 @@ objects). This package contains %{name} compiled against Open MPI. -%if %{with_mpich2} -%package -n python3-mpi4py-mpich2 -BuildRequires: mpich2-devel -Requires: mpich2 +%if %{with_mpich} +%package -n python3-mpi4py-mpich +BuildRequires: mpich-devel +Requires: mpich Requires: %{name}-common = %{version}-%{release} -Summary: Python bindings of MPI, MPICH2 version +Summary: Python bindings of MPI, MPICH version Provides: python3-mpi4py-runtime = %{version}-%{release} -%description -n python3-mpi4py-mpich2 +Provides: python3-%{name}-mpich2 = %{version}-%{release} +Obsoletes: python3-%{name}-mpich2 < 1.3-8 +%description -n python3-mpi4py-mpich This package is constructed on top of the MPI-1/MPI-2 specification and provides an object oriented interface which closely follows MPI-2 C++ bindings. It supports point-to-point (sends, receives) and collective @@ -120,7 +119,7 @@ object as well as optimized communications of Python object exposing the single-segment buffer interface (NumPy arrays, built-in bytes/string/array objects). -This package contains %{name} compiled against MPICH2. +This package contains %{name} compiled against MPICH. %endif %endif # with_python3 @@ -151,15 +150,17 @@ objects). This package contains %{name} compiled against Open MPI. -%if %{with_mpich2} -%package mpich2 -BuildRequires: mpich2-devel -Requires: mpich2 +%if %{with_mpich} +%package mpich +BuildRequires: mpich-devel +Requires: mpich Requires: %{name}-common = %{version}-%{release} -Provides: python2-mpi4py-mpich2 = %{version}-%{release} -Summary: Python bindings of MPI, MPICH2 version +Provides: python2-mpi4py-mpich = %{version}-%{release} +Summary: Python bindings of MPI, MPICH version Provides: mpi4py-runtime = %{version}-%{release} -%description mpich2 +Provides: %{name}-mpich2 = %{version}-%{release} +Obsoletes: %{name}-mpich2 < 1.3-8 +%description mpich This package is constructed on top of the MPI-1/MPI-2 specification and provides an object oriented interface which closely follows MPI-2 C++ bindings. It supports point-to-point (sends, receives) and collective @@ -168,7 +169,7 @@ object as well as optimized communications of Python object exposing the single-segment buffer interface (NumPy arrays, built-in bytes/string/array objects). -This package contains %{name} compiled against MPICH2. +This package contains %{name} compiled against MPICH. %endif @@ -200,12 +201,12 @@ CFLAGS="%{optflags}" %{__python} setup.py build mv build openmpi %{_openmpi_unload} -%if %{with_mpich2} -# Build mpich2 version -%{_mpich2_load} +%if %{with_mpich} +# Build mpich version +%{_mpich_load} CFLAGS="%{optflags}" %{__python} setup.py build -mv build mpich2 -%{_mpich2_unload} +mv build mpich +%{_mpich_unload} %endif %if 0%{?with_python3} @@ -220,12 +221,12 @@ CFLAGS="%{optflags}" %{__python3} setup.py build mv build openmpi %{_openmpi_unload} -%if %{with_mpich2} -# Build mpich2 version -%{_mpich2_load} +%if %{with_mpich} +# Build mpich version +%{_mpich_load} CFLAGS="%{optflags}" %{__python3} setup.py build -mv build mpich2 -%{_mpich2_unload} +mv build mpich +%{_mpich_unload} %endif popd @@ -243,15 +244,15 @@ mv %{buildroot}%{python_sitearch}/%{name}/ %{buildroot}%{python_sitearch}/%{name mv build openmpi %{_openmpi_unload} -%if %{with_mpich2} -# Install MPICH2 version -%{_mpich2_load} -mv mpich2 build +%if %{with_mpich} +# Install MPICH version +%{_mpich_load} +mv mpich build %{__python} setup.py install -O1 --skip-build --root %{buildroot} -mkdir -p %{buildroot}%{python_sitearch}/mpich2 -mv %{buildroot}%{python_sitearch}/%{name}/ %{buildroot}%{python_sitearch}/%{name}*.egg-info %{buildroot}%{python_sitearch}/mpich2 -mv build mpich2 -%{_mpich2_unload} +mkdir -p %{buildroot}%{python_sitearch}/mpich +mv %{buildroot}%{python_sitearch}/%{name}/ %{buildroot}%{python_sitearch}/%{name}*.egg-info %{buildroot}%{python_sitearch}/mpich +mv build mpich +%{_mpich_unload} %endif @@ -266,15 +267,15 @@ mv %{buildroot}%{python3_sitearch}/%{name}/ %{buildroot}%{python3_sitearch}/%{na mv build openmpi %{_openmpi_unload} -%if %{with_mpich2} -# Install MPICH2 version -%{_mpich2_load} -mv mpich2 build +%if %{with_mpich} +# Install MPICH version +%{_mpich_load} +mv mpich build %{__python3} setup.py install -O1 --skip-build --root %{buildroot} -mkdir -p %{buildroot}%{python3_sitearch}/mpich2 -mv %{buildroot}%{python3_sitearch}/%{name}/ %{buildroot}%{python3_sitearch}/%{name}*.egg-info %{buildroot}%{python3_sitearch}/mpich2 -mv build mpich2 -%{_mpich2_unload} +mkdir -p %{buildroot}%{python3_sitearch}/mpich +mv %{buildroot}%{python3_sitearch}/%{name}/ %{buildroot}%{python3_sitearch}/%{name}*.egg-info %{buildroot}%{python3_sitearch}/mpich +mv build mpich +%{_mpich_unload} %endif popd @@ -294,31 +295,17 @@ PYTHONPATH=%{buildroot}%{python_sitearch}/openmpi \ %{_openmpi_unload} %endif -# test mpd? -%if 0%{?MPD} -%if %{with_mpich2} -%{_mpich2_load} - -# create mpd.conf -#export MPD_CONF_FILE=mpd.conf -#echo MPD_SECRETWORD=$(pwgen -s 50 1) > mpd.conf -#chmod 600 mpd.conf - -#mpd --daemon -PYTHONPATH=%{buildroot}%{python_sitearch}/mpich2 \ - mpiexec.gforker -np 1 python2 test/runtests.py -PYTHONPATH=%{buildroot}%{python_sitearch}/mpich2 \ - mpiexec.gforker -np 5 python2 test/runtests.py -PYTHONPATH=%{buildroot}%{python_sitearch}/mpich2 \ - mpiexec.gforker -np 8 python2 test/runtests.py -#mpdallexit - -# delte mpd.conf again -#rm mpd.conf -#unset MPD_CONF_FILE - - -%{_mpich2_unload} +# test mpich? +%if 0%{?MPICH} +%if %{with_mpich} +%{_mpich_load} +PYTHONPATH=%{buildroot}%{python_sitearch}/mpich \ + mpiexec -np 1 python2 test/runtests.py +PYTHONPATH=%{buildroot}%{python_sitearch}/mpich \ + mpiexec -np 5 python2 test/runtests.py +PYTHONPATH=%{buildroot}%{python_sitearch}/mpich \ + mpiexec -np 8 python2 test/runtests.py +%{_mpich_unload} %endif %endif @@ -335,32 +322,19 @@ PYTHONPATH=%{buildroot}%{python3_sitearch}/openmpi \ %{_openmpi_unload} %endif -# test mpd? -%if 0%{?MPD} -%if %{with_mpich2} -%{_mpich2_load} - -# create mpd.conf -#export MPD_CONF_FILE=mpd.conf -#echo MPD_SECRETWORD=$(pwgen -s 50 1) > mpd.conf -#chmod 600 mpd.conf - -#mpd --daemon -PYTHONPATH=%{buildroot}%{python3_sitearch}/mpich2 \ - mpiexec.gforker -np 1 python3 test/runtests.py -PYTHONPATH=%{buildroot}%{python3_sitearch}/mpich2 \ - mpiexec.gforker -np 5 python3 test/runtests.py -PYTHONPATH=%{buildroot}%{python3_sitearch}/mpich2 \ - mpiexec.gforker -np 8 python3 test/runtests.py -#mpdallexit - -# delte mpd.conf again -#rm mpd.conf -#unset MPD_CONF_FILE - -%{_mpich2_unload} +# test mpich? +%if 0%{?MPICH} +%if %{with_mpich} +%{_mpich_load} +PYTHONPATH=%{buildroot}%{python3_sitearch}/mpich \ + mpiexec -np 1 python3 test/runtests.py +PYTHONPATH=%{buildroot}%{python3_sitearch}/mpich \ + mpiexec -np 5 python3 test/runtests.py +PYTHONPATH=%{buildroot}%{python3_sitearch}/mpich \ + mpiexec -np 8 python3 test/runtests.py +%{_mpich_unload} %endif -%endif # mpd disable +%endif # mpich disable %endif # with_python3 %clean @@ -376,11 +350,11 @@ rm -rf %{buildroot} %{python_sitearch}/openmpi/%{name}-%{version}-py?.?.egg-info %{python_sitearch}/openmpi/%{name} -%if %{with_mpich2} -%files mpich2 +%if %{with_mpich} +%files mpich %defattr(-,root,root,-) -%{python_sitearch}/mpich2/%{name}-%{version}-py?.?.egg-info -%{python_sitearch}/mpich2/%{name} +%{python_sitearch}/mpich/%{name}-%{version}-py?.?.egg-info +%{python_sitearch}/mpich/%{name} %endif %if 0%{?with_python3} @@ -389,11 +363,11 @@ rm -rf %{buildroot} %{python3_sitearch}/openmpi/%{name}-%{version}-py?.?.egg-info %{python3_sitearch}/openmpi/%{name} -%if %{with_mpich2} -%files -n python3-mpi4py-mpich2 +%if %{with_mpich} +%files -n python3-mpi4py-mpich %defattr(-,root,root,-) -%{python3_sitearch}/mpich2/%{name}-%{version}-py?.?.egg-info -%{python3_sitearch}/mpich2/%{name} +%{python3_sitearch}/mpich/%{name}-%{version}-py?.?.egg-info +%{python3_sitearch}/mpich/%{name} %endif %endif # with_python3 @@ -403,6 +377,9 @@ rm -rf %{buildroot} %changelog +* Sat Jul 20 2013 Deji Akingunola - 1.3-8 +- Rename mpich2 sub-packages to mpich and rebuild for mpich-3.0 + * Thu Feb 14 2013 Fedora Release Engineering - 1.3-7 - Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild