Hello community,

here is the log from the commit of package mvapich2 for openSUSE:Factory 
checked in at 2017-10-07 17:51:51
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/mvapich2 (Old)
 and      /work/SRC/openSUSE:Factory/.mvapich2.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "mvapich2"

Sat Oct  7 17:51:51 2017 rev:4 rq:532252 version:2.2

Changes:
--------
--- /work/SRC/openSUSE:Factory/mvapich2/mvapich2.changes        2017-09-12 
19:57:59.389185180 +0200
+++ /work/SRC/openSUSE:Factory/.mvapich2.new/mvapich2.changes   2017-10-07 
17:52:04.959566126 +0200
@@ -1,0 +2,16 @@
+Fri Oct  6 14:06:37 UTC 2017 - nmoreychaisemar...@suse.com
+
+- Add conflicts between the macros-devel packages
+
+-------------------------------------------------------------------
+Thu Oct  5 13:30:48 UTC 2017 - nmoreychaisemar...@suse.com
+
+- Add BuildRequires to libibmad-devel for older release (SLE <= 12.2, Leap <= 
42.2)
+
+-------------------------------------------------------------------
+Fri Sep 12 15:38:14 UTC 2017 - e...@suse.com
+
+- Add HPC specific build targets using environment modules
+  (FATE#321712).
+
+-------------------------------------------------------------------

New:
----
  macros.hpc-mvapich2

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ mvapich2.spec ++++++
--- /var/tmp/diff_new_pack.ugHl6d/_old  2017-10-07 17:52:08.315418597 +0200
+++ /var/tmp/diff_new_pack.ugHl6d/_new  2017-10-07 17:52:08.347417190 +0200
@@ -16,54 +16,145 @@
 #
 
 
-%global flavor @BUILD_FLAVOR@%nil
+%global flavor @BUILD_FLAVOR@%{nil}
+
+%define pname mvapich2
+%define vers  2.2
+%define _vers 2_2
 
 %if "%{flavor}" == ""
+ExclusiveArch:  do_not_build
+%{bcond_with hpc}
+%endif
+
+%if "%{flavor}" == "standard"
 %define build_flavor verbs
+%{bcond_with hpc}
 %endif
 %if "%{flavor}" == "testsuite"
 %define build_flavor verbs
 %define testsuite 1
+%{bcond_with hpc}
 %endif
 
 %if "%{flavor}" == "psm"
 %define build_flavor psm
+%{bcond_with hpc}
 %endif
 %if "%{flavor}" == "psm-testsuite"
 %define build_flavor psm
 %define testsuite 1
+%{bcond_with hpc}
 %endif
 
 %if "%{flavor}" == "psm2"
 %define build_flavor psm2
+%{bcond_with hpc}
 %endif
 %if "%{flavor}" == "psm2-testsuite"
 %define build_flavor psm2
 %define testsuite 1
+%{bcond_with hpc}
 %endif
 
-%if "%{flavor}" != ""
-%define pack_suff -%{flavor}
-%else
-%define pack_suff %{nil}
+%if "%flavor" == "gnu-hpc"
+%define compiler_family gnu
+%undefine c_f_ver
+%define build_flavor verbs
+%{bcond_without hpc}
+%endif
+%if "%flavor" == "gnu-hpc-testsuite"
+%define compiler_family gnu
+%undefine c_f_ver
+%define testsuite 1
+%define build_flavor verbs
+%{bcond_without hpc}
+%endif
+
+%if "%flavor" == "gnu-hpc-psm"
+%define compiler_family gnu
+%undefine c_f_ver
+%define build_flavor psm
+%{bcond_without hpc}
+%endif
+
+%if "%flavor" == "gnu-hpc-psm2"
+%define compiler_family gnu
+%undefine c_f_ver
+%define build_flavor psm2
+%{bcond_without hpc}
+%endif
+
+%if "%flavor" == "gnu6-hpc"
+%define compiler_family gnu
+%define c_f_ver 6
+%define build_flavor verbs
+%{bcond_without hpc}
+%endif
+%if "%flavor" == "gnu6-hpc-testsuite"
+%define compiler_family gnu
+%define c_f_ver 6
+%define testsuite 1
+%define build_flavor verbs
+%{bcond_without hpc}
+%endif
+
+%if "%flavor" == "gnu6-hpc-psm"
+%define compiler_family gnu
+%define c_f_ver 6
+%define build_flavor psm
+%{bcond_without hpc}
 %endif
 
-%define module_name mvapich2%{pack_suff}
-%define _prefix /usr/%_lib/mpi/gcc/%{module_name}
-%define _libexecdir %{_prefix}/%{_lib}
-%define _benchmarkdir %{_libexecdir}/osu-micro-benchmarks
+%if "%flavor" == "gnu6-hpc-psm2"
+%define compiler_family gnu
+%define c_f_ver 6
+%define build_flavor psm2
+%{bcond_without hpc}
+%endif
+
+%if "%{build_flavor}" != "verbs"
+%define pack_suff %{?build_flavor:-%{build_flavor}}
+%endif
+
+%if %{without hpc}
+%define module_name mvapich2%{?pack_suff}
+%define p_prefix /usr/%_lib/mpi/gcc/%{module_name}
+%define p_bindir  %{p_prefix}/bin
+%define p_datadir %{p_prefix}/share
+%define p_includedir %{p_prefix}/include
+%define p_mandir  %{p_datadir}/man
+%define p_libdir  %{p_prefix}/%{_lib}
+%define p_libexecdir %{p_prefix}/%{_lib}
 %define _moduledir /usr/share/modules/gnu-%{module_name}
+%define package_name mvapich2%{?pack_suff}
+%else
+%{hpc_init -M -c %compiler_family %{?c_f_ver:-v %{c_f_ver}} -m mvapich2 
%{?pack_suff:-e %{build_flavor}}}
+%define p_prefix   %{hpc_prefix}
+%define p_bindir   %{hpc_bindir}
+%define p_datadir  %{hpc_datadir}
+%define p_includedir  %{hpc_includedir}
+%define p_mandir   %{hpc_mandir}
+%define p_libdir   %{hpc_libdir}
+%define p_libexecdir  %{hpc_libexecdir}
+%define package_name %{hpc_package_name %{_vers}}
+
+%global hpc_mvapich2_dep_version %(VER=%{?m_f_ver}; echo -n ${VER})
+%global hpc_mvapich2_dir mvapich2
+%global hpc_mvapich2_pack_version %{hpc_mvapich2_dep_version}
+%endif
 
-Name:           mvapich2%{pack_suff}
+Name:           %{package_name}
 Summary:        OSU MVAPICH2 MPI package
 License:        BSD-3-Clause
 Group:          Development/Libraries/Parallel
-Version:        2.2
+Version:        %{vers}
 Release:        0
-Source0:        
http://mvapich.cse.ohio-state.edu/download/mvapich/mv2/mvapich2-%{version}.tar.gz
+Source0:        mvapich2-%{version}.tar.gz
 Source1:        mpivars.sh
 Source2:        mpivars.csh
-Source3:        _multibuild
+Source3:        macros.hpc-mvapich2
+Source100:      _multibuild
 Patch0:         mvapich2-s390_get_cycles.patch
 Patch1:         mvapich2-pthread_yield.patch
 Patch2:         mvapich2-arm-support.patch
@@ -74,16 +165,22 @@
 BuildRequires:  automake
 BuildRequires:  automake
 BuildRequires:  bison
-BuildRequires:  gcc-c++
-BuildRequires:  gcc-fortran
 %ifnarch s390 s390x armv7hl
 BuildRequires:  libnuma-devel
 %endif
 BuildRequires:  libtool
 BuildRequires:  libtool
-BuildRequires:  mpi-selector
 BuildRequires:  python-devel
 BuildRequires:  sysfsutils
+%if %{without hpc}
+BuildRequires:  gcc-c++
+BuildRequires:  gcc-fortran
+BuildRequires:  mpi-selector
+%else
+BuildRequires:  %{compiler_family}%{?c_f_ver}-compilers-hpc-macros-devel
+BuildRequires:  lua-lmod
+BuildRequires:  suse-hpc
+%endif
 %if "%{build_flavor}" == "psm"
 ExclusiveArch:  %ix86 x86_64
 BuildRequires:  infinipath-psm-devel
@@ -97,14 +194,23 @@
 BuildRequires:  libibumad-devel
 BuildRequires:  libibverbs-devel
 BuildRequires:  librdmacm-devel
+%if 0%{?sle_version} <= 120200
+BuildRequires:  libibmad-devel
+%endif
 %endif
 
+%if %{without hpc}
 Requires:       mpi-selector
+%else
+Requires:       lua-lmod
+%endif
 
 %description
 This is an MPI-3 implementation which includes all MPI-1 features. It
 is based on MPICH2 and MVICH.
 
+%{!?testsuite:%{?with_hpc:%{hpc_master_package -a -L}}}
+
 %if 0%{!?testsuite:1}
 
 %package        devel
@@ -122,12 +228,18 @@
 Requires:       libibverbs-devel
 Requires:       librdmacm-devel
 %endif
+%if %{without hpc}
+Requires:       gcc-c++
+Requires:       gcc-fortran
+%else
+%hpc_requires_devel
+%endif
 
 %description devel
 This is an MPI-2 implementation which includes all MPI-1 features.  It
 is based on MPICH2 and MVICH.
 
-
+%{?with_hpc:%{hpc_master_package -a devel}}
 
 %package        devel-static
 Summary:        OSU MVAPICH2 MPI package - static libraries
@@ -138,9 +250,35 @@
 This is an MPI-3 implementation which includes all MPI-1 and MPI-2 features.  
It
 is based on MPICH2 and MVICH. This package contains the static libraries
 
+%package        doc
+Summary:        OSU MVAPICH2 MPI package - Documentation
+Group:          Development/Libraries/Parallel
+Requires:       %{name} = %{version}
+
+%description  doc
+This is an MPI-3 implementation which includes all MPI-1 and MPI-2 features.  
It
+is based on MPICH2 and MVICH. This package contains the static libraries
+
+%{?with_hpc:%{hpc_master_package doc}}
+
+%package        macros-devel
+Summary:        OSU MVAPICH2 MPI package - HPC build macros
+Group:          Development/Libraries/Parallel
+Requires:       %{name}-devel = %{version}
+Provides:       %{pname}-hpc-macros-devel = %{version}
+Conflicts:      otherproviders(%{pname}-hpc-macros-devel)
+
+%description macros-devel
+This is an MPI-3 implementation which includes all MPI-1 and MPI-2 features.  
It
+is based on MPICH2 and MVICH. This package contains the static libraries
+
+%{?with_hpc:%{hpc_master_package macros-devel}}
+
 %endif # ! testsuite
 
 %prep
+
+%{?with_hpc:%hpc_debug}
 %setup -q -n mvapich2-%{version}%{?rc_ver}
 %patch0
 %patch1
@@ -149,7 +287,22 @@
 
 %build
 #./autogen.sh
+%if %{with hpc}
+%{hpc_setup}
+%{hpc_configure} \
+%else
 %configure \
+    --prefix=%{p_prefix} \
+    --exec-prefix=%{p_prefix} \
+    --datadir=%{p_datadir} \
+    --bindir=%{p_bindir} \
+    --includedir=%{p_includedir} \
+    --libdir=%{p_libdir} \
+    --libexecdir=%{p_libexecdir} \
+    --mandir=%{p_mandir} \
+%endif
+   --docdir=%{_datadir}/doc/%{name} \
+   --disable-wrapper-rpath \
    --disable-wrapper-rpath      \
 %if "%{build_flavor}" == "psm"
    --with-device=ch3:psm \
@@ -168,21 +321,6 @@
 %endif
 
 %install
-make DESTDIR=%{buildroot} V=1 install
-# make and install mpivars files
-sed -e 's,prefix,%_prefix,g' -e 's,libdir,%{_libdir},g' %{S:1} > 
%{buildroot}%{_bindir}/mpivars.sh
-sed -e 's,prefix,%_prefix,g' -e 's,libdir,%{_libdir},g' %{S:2} > 
%{buildroot}%{_bindir}/mpivars.csh
-rm -f %{buildroot}%{_libdir}/libfmpich.la \
-      %{buildroot}%{_libdir}/libmpich.la \
-      %{buildroot}%{_libdir}/libmpichcxx.la \
-      %{buildroot}%{_libdir}/libmpichf90.la \
-      %{buildroot}%{_libdir}/libmpl.la \
-      %{buildroot}%{_libdir}/libopa.la \
-      %{buildroot}%{_libdir}/libmpi.la \
-      %{buildroot}%{_libdir}/libmpicxx.la \
-      %{buildroot}%{_libdir}/libmpifort.la 
-install -m 0644 COPYRIGHT* %{buildroot}%{_datadir}/doc/mvapich2
-install -m 0644 CHANGE* %{buildroot}%{_datadir}/doc/mvapich2
 
 %if 0%{?testsuite}
 # Remove everything from testsuite package
@@ -190,6 +328,27 @@
 rm -rf %{buildroot}/*
 
 %else
+make DESTDIR=%{buildroot} V=1 install
+
+rm -f %{buildroot}%{p_libdir}/libfmpich.la \
+      %{buildroot}%{p_libdir}/libmpich.la \
+      %{buildroot}%{p_libdir}/libmpichcxx.la \
+      %{buildroot}%{p_libdir}/libmpichf90.la \
+      %{buildroot}%{p_libdir}/libmpl.la \
+      %{buildroot}%{p_libdir}/libopa.la \
+      %{buildroot}%{p_libdir}/libmpi.la \
+      %{buildroot}%{p_libdir}/libmpicxx.la \
+      %{buildroot}%{p_libdir}/libmpifort.la 
+install -m 0755 -d %{buildroot}%{_datadir}/doc/%{name}
+install -m 0644 COPYRIGHT* %{buildroot}%{_datadir}/doc/%{name}
+install -m 0644 CHANGE* %{buildroot}%{_datadir}/doc/%{name}
+
+%if %{without hpc}
+# make and install mpivars files
+install -m 0755 -d %{buildroot}%{_bindir}
+sed -e 's,prefix,%p_prefix,g' -e 's,libdir,%{p_libdir},g' %{S:1} > 
%{buildroot}%{p_bindir}/mpivars.sh
+sed -e 's,prefix,%p_prefix,g' -e 's,libdir,%{p_libdir},g' %{S:2} > 
%{buildroot}%{p_bindir}/mpivars.csh
+
 mkdir -p %{buildroot}%{_moduledir}
 
 cat << EOF > %{buildroot}%{_moduledir}/%{version}
@@ -201,11 +360,11 @@
 
 module-whatis  "Loads the gnu mvapich2 %{version} Environment."
 conflict gnu-mvapich2
-prepend-path PATH %{_bindir}
-prepend-path INCLUDE %{_includedir}
-prepend-path INCLUDE %{_libdir}
-prepend-path MANPATH %{_mandir}
-prepend-path LD_LIBRARY_PATH %{_libdir}
+prepend-path PATH %{%p_bindir}
+prepend-path INCLUDE %{p_includedir}
+prepend-path INCLUDE %{p_libdir}
+prepend-path MANPATH %{p_mandir}
+prepend-path LD_LIBRARY_PATH %{p_libdir}
 
 EOF
 
@@ -214,52 +373,114 @@
 set ModulesVersion "%{version}"
 
 EOF
+%else # with hpc
+
+install -d -m 755 %{buildroot}%{_sysconfdir}/rpm
+cp %{S:3} %{buildroot}%{_sysconfdir}/rpm
+
+%hpc_write_modules_files
+#%%Module1.0#####################################################################
+
+proc ModulesHelp { } {
+
+puts stderr " "
+puts stderr "This module loads the %{pname} library built with the 
%{compiler_family} toolchain."
+puts stderr "\nVersion %{version}\n"
+
+}
+module-whatis "Name: %{pname} built with %{compiler_family} toolchain"
+module-whatis "Version: %{version}"
+module-whatis "Category: runtime library"
+module-whatis "Description: %{summary}"
+module-whatis "URL: %{url}"
+
+set     version                     %{version}
+
+prepend-path    PATH                %{hpc_prefix}/bin
+prepend-path    MANPATH             %{hpc_prefix}/man
+prepend-path    LD_LIBRARY_PATH     %{hpc_prefix}/%_lib
+prepend-path    MODULEPATH          %{hpc_modulepath}
+prepend-path    MPI_DIR             %{hpc_prefix}
+%{hpc_modulefile_add_pkgconfig_path}
+
+family "MPI"
+EOF
+cat <<EOF >  %{buildroot}/%{p_bindir}/mpivars.sh
+module load %{hpc_compiler_family}/%{hpc_cf_full_version} 
%{hpc_mpi_family}%{?pack_suff}/%{version}
+EOF
+ln -s mpivars.sh %{buildroot}/%{p_bindir}/mpivars.csh
+
+%endif # with hpc
 
 %post
 /sbin/ldconfig
+%if %{without hpc}
 /usr/bin/mpi-selector \
-        --register %{name}%{pack_suff}-%{version} \
-        --source-dir %{_bindir} \
+        --register %{name}%{?pack_suff}-%{version} \
+        --source-dir %{p_bindir} \
         --yes
+%endif
 
 %postun
 /sbin/ldconfig
-/usr/bin/mpi-selector --unregister %{name}%{pack_suff}-%{version} --yes 
--silent
+%if %{without hpc}
+/usr/bin/mpi-selector --unregister %{name}%{?pack_suff}-%{version} --yes 
--silent
+%else
+%hpc_module_delete_if_default
+%endif
 
 %files
 %defattr(-, root, root)
-%doc %{_datadir}/doc
+%if %{without hpc}
 %dir /usr/%_lib/mpi
 %dir /usr/%_lib/mpi/gcc
-%dir %{_prefix}
-%dir %{_bindir}
-%dir %{_datadir}
-%dir %{_includedir}
 %dir /usr/share/modules
 %dir %{_moduledir}
-%dir %{_mandir}
-%dir %{_mandir}/man1
-%dir %{_mandir}/man3
-%dir %{_libdir}
-%dir %{_libexecdir}
-%{_bindir}/*
-%{_libexecdir}/osu-micro-benchmarks
 %{_moduledir}
-%{_mandir}/man1/*
-%{_libdir}/*.so.*
+%else
+%hpc_mpi_dirs
+%hpc_modules_files
+%endif
+%doc %{_datadir}/doc/%{name}/COPYRIGHT* 
+%doc %{_datadir}/doc/%{name}/CHANGE*
+%dir %{p_prefix}
+%dir %{p_bindir}
+%dir %{p_datadir}
+%dir %{p_includedir}
+%dir %{p_mandir}
+%dir %{p_mandir}/man1
+%dir %{p_mandir}/man3
+%dir %{p_libdir}
+%dir %{p_libexecdir}
+%{p_bindir}/*
+%{p_libexecdir}/osu-micro-benchmarks
+%{p_mandir}/man1/*
+%{p_libdir}/*.so.*
+
+%files doc
+%defattr(-, root, root)
+%doc %{_datadir}/doc/%{name}
+%exclude /%{_datadir}/doc/%{name}/COPYRIGHT* 
+%exclude /%{_datadir}/doc/%{name}/CHANGE*
 
 %files devel
 %defattr(-,root,root)
-%dir %{_libdir}/pkgconfig
-%{_mandir}/man3/*
-%{_includedir}
-%{_libdir}/*.so
-%{_libdir}/pkgconfig/mvapich2.pc
-%{_libdir}/pkgconfig/openpa.pc
+%dir %{p_libdir}/pkgconfig
+%{p_mandir}/man3/*
+%{p_includedir}
+%{p_libdir}/*.so
+%{p_libdir}/pkgconfig/mvapich2.pc
+%{p_libdir}/pkgconfig/openpa.pc
 
 %files devel-static
 %defattr(-,root,root)
-%{_libdir}/*.a
+%{p_libdir}/*.a
+
+%if %{with hpc}
+%files macros-devel
+%defattr(-,root,root)
+%config %{_sysconfdir}/rpm/macros.hpc-mvapich2
+%endif # with hpc
 
 %endif # !testsuite
 

++++++ _multibuild ++++++
--- /var/tmp/diff_new_pack.ugHl6d/_old  2017-10-07 17:52:08.603405937 +0200
+++ /var/tmp/diff_new_pack.ugHl6d/_new  2017-10-07 17:52:08.607405761 +0200
@@ -1,7 +1,12 @@
 <multibuild>
+  <package>standard</package>
   <package>testsuite</package>
   <package>psm</package>
   <package>psm-testsuite</package>
   <package>psm2</package>
   <package>psm2-testsuite</package>
+  <package>gnu-hpc</package>
+  <package>gnu-hpc-psm</package>
+  <package>gnu-hpc-psm2</package>
+  <package>gnu-hpc-testsuite</package>
 </multibuild>

++++++ macros.hpc-mvapich2 ++++++
#
# mvapich2
#

%hpc_mvapich2_init(V:) \
 %{-V: %define _mf_ver %{-V*}} \
 %{expand: %%global hpc_mvapich2_dep_version %%{?_mf_ver}} \
 %{expand: %%global hpc_mvapich2_dir mvapich2} \
 %global hpc_mvapich2_pack_version %{hpc_mvapich2_dep_version}

# We may have to add a version here.
%hpc_setup_mvapich2 \
 module load mvapich2

%hpc_mvapich2_requires \
Requires:  
mvapich2%{hpc_mvapich2_dep_version}-%{compiler_family}%{hpc_cf_pack_version}-hpc

%hpc_mvapich2_requires_devel \
Requires:  
mvapich2%{hpc_mvapich2_dep_version}-%{compiler_family}%{hpc_cf_pack_version}-hpc-devel


Reply via email to