Hello community,
here is the log from the commit of package parallel-netcdf for
openSUSE:Leap:15.2 checked in at 2020-05-07 19:26:57
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Leap:15.2/parallel-netcdf (Old)
and /work/SRC/openSUSE:Leap:15.2/.parallel-netcdf.new.2738 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "parallel-netcdf"
Thu May 7 19:26:57 2020 rev:12 rq:760401 version:1.7.0
Changes:
--------
--- /work/SRC/openSUSE:Leap:15.2/parallel-netcdf/parallel-netcdf.changes
2020-01-15 15:39:01.811094954 +0100
+++
/work/SRC/openSUSE:Leap:15.2/.parallel-netcdf.new.2738/parallel-netcdf.changes
2020-05-07 19:32:05.802061018 +0200
@@ -1,0 +2,18 @@
+Sat Nov 30 14:41:30 UTC 2019 - Stefan Brüns <[email protected]>
+
+- Add convenience provides to allow e.g. netcdf-openmpi2 to
+ pull in libpnetcdf-openmpi2.
+- Also build openmpi3 flavor.
+
+-------------------------------------------------------------------
+Mon Nov 4 18:42:19 UTC 2019 - Stefan Brüns <[email protected]>
+
+- Build MPI pacakges as multibuild flavors, add openmpi2
+- Adapt to openmpi -> openmpi1 rename on Tumbleweed
+
+-------------------------------------------------------------------
+Tue Sep 10 12:06:39 UTC 2019 - Christophe Giboudeaux <[email protected]>
+
+- Use -ffat-lto-objects when building static libraries.
+
+-------------------------------------------------------------------
New:
----
_multibuild
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ parallel-netcdf.spec ++++++
--- /var/tmp/diff_new_pack.uU7uEf/_old 2020-05-07 19:32:06.170061753 +0200
+++ /var/tmp/diff_new_pack.uU7uEf/_new 2020-05-07 19:32:06.174061762 +0200
@@ -1,7 +1,7 @@
#
# spec file for package parallel-netcdf
#
-# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2019 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -12,43 +12,53 @@
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
-# Please submit bugfixes or comments via http://bugs.opensuse.org/
+# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
-%if 0%{?sles_version}
-%define _mvapich2 1
+%global flavor @BUILD_FLAVOR@%{nil}
+
+%define pname parallel-netcdf
+%define sonum 1
+%define libname libpnetcdf
+
+%if "%{flavor}" == ""
+ExclusiveArch: do_not_build
%endif
-%if 0%{?suse_version}
-%define _openmpi 1
+
+%if "%{flavor}" == "openmpi1" && 0%{?suse_version} < 1550
+%define mpi_flavor openmpi
+%else
+%define mpi_flavor %{flavor}
%endif
-%define _mpi %{?_openmpi:openmpi} %{?_mvapich2:mvapich2}
+%if "%{?mpi_flavor}" != ""
+%define my_suffix -%{mpi_flavor}
+%define mpiprefix %{_libdir}/mpi/gcc/%{mpi_flavor}
+%define my_prefix %{mpiprefix}
+%define my_bindir %{mpiprefix}/bin
+%define my_libdir %{mpiprefix}/%{_lib}
+%define my_includedir %{mpiprefix}/include
+%endif
-Name: parallel-netcdf
-%define libname libpnetcdf
+Name: %{pname}%{?my_suffix}
Version: 1.7.0
Release: 0
-%define sonum 1
Summary: High-performance parallel I/O with the NetCDF scientific data
format
License: NetCDF
Group: Productivity/Scientific/Other
-Url: http://cucis.ece.northwestern.edu/projects/PnetCDF/index.html
-Source0:
http://cucis.ece.northwestern.edu/projects/PnetCDF/Release/%{name}-%{version}.tar.bz2
+URL: http://cucis.ece.northwestern.edu/projects/PnetCDF/index.html
+Source0:
http://cucis.ece.northwestern.edu/projects/PnetCDF/Release/%{pname}-%{version}.tar.bz2
# PATCH-FIX-OPENSUSE parallel-netcdf-1.6.1-destdir.patch Fix install
directories
Patch0: parallel-netcdf-1.6.1-destdir.patch
+BuildRequires: %{mpi_flavor}-devel
BuildRequires: bison
BuildRequires: flex
BuildRequires: gcc-c++
BuildRequires: gcc-fortran
BuildRequires: pkg-config
-%if 0%{?_openmpi}
-BuildRequires: openmpi-devel
-%endif
-%if 0%{?_mvapich2}
-BuildRequires: mvapich2-devel
-%endif
-BuildRoot: %{_tmppath}/%{name}-%{version}-build
+Requires: %{libname}%{sonum}%{?my_suffix} = %{version}
+Requires: %{mpi_flavor}
%description
NetCDF is a set of software libraries and self-describing,
@@ -58,263 +68,142 @@
Parallel netCDF (PnetCDF) is a library providing high-performance I/O while
still maintaining file-format compatibility with Unidata's NetCDF.
-%package openmpi
-Summary: High-performance parallel I/O with the NetCDF scientific data
format
-Group: Productivity/Scientific/Other
-Requires: %{libname}%{sonum}-openmpi = %{version}
-
-%description openmpi
-NetCDF is a set of software libraries and self-describing,
-machine-independent data formats that support the creation, access,
-and sharing of array-oriented scientific data.
-
-This package contains the openmpi version of utility functions for
-working with NetCDF files.
-
-%package mvapich2
-Summary: High-performance parallel I/O with the NetCDF scientific data
format
-Group: Productivity/Scientific/Other
-Requires: %{libname}%{sonum}-mvapich2 = %{version}
-
-%description mvapich2
-NetCDF is a set of software libraries and self-describing,
-machine-independent data formats that support the creation, access,
-and sharing of array-oriented scientific data.
-
-Parallel netCDF (PnetCDF) is a library providing high-performance I/O while
-still maintaining file-format compatibility with Unidata's NetCDF.
-
-This package contains the mvapich2 version of utility functions for
+This package contains the %{mpi_flavor} version of utility functions for
working with NetCDF files.
-%package -n %{libname}%{sonum}-openmpi
+%package -n %{libname}%{sonum}%{my_suffix}
Summary: High-performance parallel I/O with the NetCDF scientific data
format
-Group: Productivity/Scientific/Other
-Provides: %{libname}-openmpi = %{version}
+# Unversioned provides to allow e.g. netcdf to pull in pnetcdf with the
+# same flavor
+Group: System/Libraries
+Provides: %{libname}%{my_suffix}
+
+%description -n %{libname}%{sonum}%{my_suffix}
+NetCDF is a set of software libraries and data formats for array-oriented
+scientific data.
-%description -n %{libname}%{sonum}-openmpi
-NetCDF is a set of software libraries and self-describing,
-machine-independent data formats that support the creation, access,
-and sharing of array-oriented scientific data.
-
-Parallel netCDF (PnetCDF) is a library providing high-performance I/O while
-still maintaining file-format compatibility with Unidata's NetCDF.
+Parallel netCDF (PnetCDF) maintains file-format compatibility with NetCDF.
-This package contains the openmpi version of the PnetCDF runtime
+This package contains the %{mpi_flavor} version of the PnetCDF runtime
libraries.
-%package -n %{libname}%{sonum}-mvapich2
-Summary: High-performance parallel I/O with the NetCDF scientific data
format
-Group: Productivity/Scientific/Other
-Provides: %{libname}-mvapich2 = %{version}
-
-%description -n %{libname}%{sonum}-mvapich2
-NetCDF is a set of software libraries and self-describing,
-machine-independent data formats that support the creation, access,
-and sharing of array-oriented scientific data.
-
-Parallel netCDF (PnetCDF) is a library providing high-performance I/O while
-still maintaining file-format compatibility with Unidata's NetCDF.
-
-This package contains the mvapich2 version of the PnetCDF runtime
-libraries.
-
-%package devel-data
+%package -n %{pname}-devel-data
Summary: Development data files for %{name}
Group: Development/Libraries/Parallel
+BuildArch: noarch
-%description devel-data
-NetCDF is a set of software libraries and self-describing,
-machine-independent data formats that support the creation, access,
-and sharing of array-oriented scientific data.
+%description -n %{pname}-devel-data
+NetCDF is a set of software libraries and data formats for array-oriented
+scientific data.
-Parallel netCDF (PnetCDF) is a library providing high-performance I/O while
-still maintaining file-format compatibility with Unidata's NetCDF.
+Parallel netCDF (PnetCDF) maintains file-format compatibility with NetCDF.
This package contains generic files needed to create projects that use
any version of PnetCDF.
-%package openmpi-devel
-Summary: Development files for %{name}-openmpi
+%package devel
+Summary: Development files for %{name}%{?my_suffix}
Group: Development/Libraries/Parallel
-Requires: %{libname}%{sonum}-openmpi = %{version}
-Requires: openmpi-devel
+Requires: %{libname}%{sonum}%{?my_suffix} = %{version}
+Requires: %{mpi_flavor}-devel
+Requires: %{pname}-devel-data
+
+%description devel
+NetCDF is a set of software libraries and data formats for array-oriented
+scientific data.
-%description openmpi-devel
-NetCDF is a set of software libraries and self-describing,
-machine-independent data formats that support the creation, access,
-and sharing of array-oriented scientific data.
-
-Parallel netCDF (PnetCDF) is a library providing high-performance I/O while
-still maintaining file-format compatibility with Unidata's NetCDF.
+Parallel netCDF (PnetCDF) maintains file-format compatibility with NetCDF.
This package contains all files needed to create projects that use
-the openmpi version of PnetCDF.
+the %{mpi_flavor} version of PnetCDF.
-%package mvapich2-devel
-Summary: Development files for %{name}-mvapich2
+%package devel-static
+Summary: Static development files for %{name}
Group: Development/Libraries/Parallel
-Requires: %{libname}%{sonum}-mvapich2 = %{version}
-Requires: mvapich2-devel
+Requires: %{name}-devel = %{version}
-%description mvapich2-devel
-NetCDF is a set of software libraries and self-describing,
-machine-independent data formats that support the creation, access,
-and sharing of array-oriented scientific data.
+%description devel-static
+NetCDF is a set of software libraries and data formats for array-oriented
+scientific data.
-Parallel netCDF (PnetCDF) is a library providing high-performance I/O while
-still maintaining file-format compatibility with Unidata's NetCDF.
-
-This package contains all files needed to create projects that use
-the mvapich2 version of PnetCDF.
-
-%package openmpi-devel-static
-Summary: Static development files for %{name}-openmpi
-Group: Development/Libraries/Parallel
-Requires: %{name}-openmpi-devel = %{version}
-
-%description openmpi-devel-static
-NetCDF is a set of software libraries and self-describing,
-machine-independent data formats that support the creation, access,
-and sharing of array-oriented scientific data.
-
-Parallel netCDF (PnetCDF) is a library providing high-performance I/O while
-still maintaining file-format compatibility with Unidata's NetCDF.
+Parallel netCDF (PnetCDF) maintains file-format compatibility with NetCDF.
-This package contains the openmpi versions of the static libraries
-for PnetCDF.
-
-%package mvapich2-devel-static
-Summary: Static development files for %{name}-mvapich2
-Group: Development/Libraries/Parallel
-Requires: %{name}-mvapich2-devel = %{version}
-
-%description mvapich2-devel-static
-NetCDF is a set of software libraries and self-describing,
-machine-independent data formats that support the creation, access,
-and sharing of array-oriented scientific data.
-
-Parallel netCDF (PnetCDF) is a library providing high-performance I/O while
-still maintaining file-format compatibility with Unidata's NetCDF.
-
-This package contains the mvapich2 versions of the static libraries
+This package contains the %{mpi_flavor} versions of the static libraries
for PnetCDF.
%prep
-%setup -q -n %{name}-%{version}
+%setup -q -n %{pname}-%{version}
%patch0 -p1
-set -- *
-for mpi in %_mpi; do
- mkdir $mpi
- mkdir $mpi/shared
- cp -ap "$@" $mpi
-done
-
%build
-for mpi in %_mpi; do
-pushd $mpi
-%configure --prefix=%{_libdir}/mpi/gcc/$mpi \
- --libdir=%{_libdir}/mpi/gcc/$mpi/%{_lib} \
- --with-mpi=%{_libdir}/mpi/gcc/$mpi
+%global _lto_cflags %{_lto_cflags} -ffat-lto-objects
+%configure --prefix=%{my_prefix} \
+ --libdir=%{my_libdir} \
+ --with-mpi=%{my_prefix}
make
+mkdir shared
pushd shared
-%{_libdir}/mpi/gcc/$mpi/bin/mpif77 -shared -Wl,-soname=libpnetcdf.so.%{sonum}
-o ../libpnetcdf.so.%{version}
+%{my_bindir}/mpif77 -shared -Wl,-soname=%{libname}.so.%{sonum} -o
../%{libname}.so.%{version}
popd
-popd
-done
-
%install
-for mpi in %_mpi; do
-pushd $mpi
%make_install
%if %{_lib} != lib
-mv %{buildroot}%{_libdir}/mpi/gcc/$mpi/lib
%{buildroot}%{_libdir}/mpi/gcc/$mpi/%{_lib}
+mv %{buildroot}%{my_prefix}/lib %{buildroot}%{my_libdir}
%endif
-install -m 755 libpnetcdf.so.%{version}
%{buildroot}%{_libdir}/mpi/gcc/$mpi/%{_lib}
-pushd %{buildroot}%{_libdir}/mpi/gcc/$mpi/%_lib
-ln -s libpnetcdf.so.%{version} libpnetcdf.so.%{sonum}
-ln -s libpnetcdf.so.%{version} libpnetcdf.so
+install -m 755 %{libname}.so.%{version} %{buildroot}%{my_libdir}
+pushd %{buildroot}%{my_libdir}
+ln -s %{libname}.so.%{version} %{libname}.so.%{sonum}
+ln -s %{libname}.so.%{version} %{libname}.so
popd
find %{buildroot} -name '*.la' -delete
-popd
-done
+%if "%{flavor}" == "openmpi1"
# rpm macro for version checking
-mkdir -p %{buildroot}%{_sysconfdir}/rpm
-cat > %{buildroot}%{_sysconfdir}/rpm/macros.pnetcdf <<EOF
+mkdir -p %{buildroot}%{_rpmmacrodir}
+cat > %{buildroot}%{_rpmmacrodir}/macros.pnetcdf <<EOF
#
# RPM macros for hdf5 packaging
#
%_pnetcdf_sonum %{sonum}
%_pnetcdf_version %{version}
EOF
-
-%if 0%{?_openmpi}
-%post -n libpnetcdf1-openmpi -p /sbin/ldconfig
-%postun -n libpnetcdf1-openmpi -p /sbin/ldconfig
%endif
-%if 0%{?_mvapich2}
-%post -n libpnetcdf1-mvapich2 -p /sbin/ldconfig
-%postun -n libpnetcdf1-mvapich2 -p /sbin/ldconfig
-%endif
+%post -n %{libname}%{sonum}%{?my_suffix} -p /sbin/ldconfig
+%postun -n %{libname}%{sonum}%{?my_suffix} -p /sbin/ldconfig
-%files devel-data
+%if "%{flavor}" == "openmpi1"
+%files -n %{pname}-devel-data
%defattr(-,root,root)
-%{_sysconfdir}/rpm/macros.pnetcdf
+%{_rpmmacrodir}/macros.pnetcdf
+%endif
-%if 0%{?_openmpi}
-%files openmpi
+%files
%defattr(-,root,root)
-%{_libdir}/mpi/gcc/openmpi/bin/*
-%dir %{_libdir}/mpi/gcc/openmpi/man/
-%{_libdir}/mpi/gcc/openmpi/man/*
+%{my_bindir}/*
+%dir %{my_prefix}/man/
+%{my_prefix}/man/*
-%files -n %{libname}%{sonum}-openmpi
+%files -n %{libname}%{sonum}%{?my_suffix}
%defattr(-,root,root)
-%doc COPYRIGHT CREDITS RELEASE_NOTES
+%license COPYRIGHT
+%doc CREDITS RELEASE_NOTES
%doc README README.LINUX README.large_files
-%{_libdir}/mpi/gcc/openmpi/%{_lib}/*.so.*
+%{my_libdir}/*.so.*
-%files openmpi-devel
+%files devel
%defattr(-,root,root)
-%{_libdir}/mpi/gcc/openmpi/include/*
-%{_libdir}/mpi/gcc/openmpi/%{_lib}/*.so
-%{_libdir}/mpi/gcc/openmpi/%{_lib}/pkgconfig/pnetcdf.pc
+%{my_includedir}/*
+%{my_libdir}/*.so
+%{my_libdir}/pkgconfig/pnetcdf.pc
-%files openmpi-devel-static
+%files devel-static
%defattr(-,root,root)
-%{_libdir}/mpi/gcc/openmpi/%{_lib}/*.a
-%endif
-
-%if 0%{?_mvapich2}
-%files mvapich2
-%defattr(-,root,root)
-%{_libdir}/mpi/gcc/mvapich2/bin/*
-%dir %{_libdir}/mpi/gcc/mvapich2/man/
-%{_libdir}/mpi/gcc/mvapich2/man/*
-
-%files -n %{libname}%{sonum}-mvapich2
-%defattr(-,root,root,-)
-%doc COPYRIGHT CREDITS RELEASE_NOTES
-%doc README README.LINUX README.large_files
-%{_libdir}/mpi/gcc/mvapich2/%{_lib}/*.so.*
-
-%files mvapich2-devel
-%defattr(-,root,root,-)
-%{_libdir}/mpi/gcc/mvapich2/include/*
-%{_libdir}/mpi/gcc/mvapich2/%{_lib}/*.so
-%{_libdir}/mpi/gcc/mvapich2/%{_lib}/pkgconfig/pnetcdf.pc
-
-%files mvapich2-devel-static
-%defattr(-,root,root,-)
-%{_libdir}/mpi/gcc/mvapich2/%{_lib}/*.a
-%endif
+%{my_libdir}/*.a
%changelog
++++++ _multibuild ++++++
<multibuild>
<package>mvapich2</package>
<package>openmpi1</package>
<package>openmpi2</package>
<package>openmpi3</package>
</multibuild>