Accepting request 375333 from home:TheBlackCat:branches:science

- Split libraries into C, C++, and Fortran versions to comply with openSUSE library packaging policies. Fixes BNC#971602

OBS-URL: https://build.opensuse.org/request/show/375333
OBS-URL: https://build.opensuse.org/package/show/science/hdf5?expand=0&rev=21
This commit is contained in:
Todd R 2016-03-18 18:30:05 +00:00 committed by Git OBS Bridge
parent 565ea7c3d3
commit 47e5c4ebea
4 changed files with 473 additions and 145 deletions

View File

@ -1,18 +1,34 @@
libhdf5-11
libhdf5-10
libhdf5-10-openmpi
libhdf5-10-mvapich2
libhdf5_hl10
libhdf5_hl10-mvapich2
libhdf5_hl10-openmpi
libhdf5_cpp11
libhdf5_hl_cpp11
libhdf5_fortran10
libhdf5_fortran10-openmpi
libhdf5_fortran10-mvapich2
libhdf5_hl_fortran10
libhdf5_hl_fortran10-mvapich2
libhdf5_hl_fortran10-openmpi
hdf5-devel
requires -<targettype>
requires "libhdf5-11-<targettype> = <version>"
requires "libhdf5_hl11-<targettype> = <version>"
libhdf5-11-openmpi
requires "libhdf5-10-<targettype> = <version>"
requires "libhdf5_hl10-<targettype> = <version>"
requires "libhdf5_cpp11-<targettype> = <version>"
requires "libhdf5_hl_cpp11-<targettype> = <version>"
requires "libhdf5_fortran10-<targettype> = <version>"
requires "libhdf5_hl_fortran10-<targettype> = <version>"
hdf5-openmpi-devel
requires -openmpi-<targettype>
requires "libhdf5-11-openmpi-<targettype> = <version>"
requires "libhdf5_hl11-openmpi-<targettype> = <version>"
libhdf5-11-mvapich2
libhdf5_hl11
libhdf5_hl11-mvapich2
libhdf5_hl11-openmpi
requires "libhdf5-10-openmpi-<targettype> = <version>"
requires "libhdf5_hl10-openmpi-<targettype> = <version>"
requires "libhdf5_fortran10-openmpi-<targettype> = <version>"
requires "libhdf5_hl_fortran10-openmpi-<targettype> = <version>"
hdf5-mvapich2-devel
requires -openmpi-<targettype>
requires "libhdf5-11-mvapich2-<targettype> = <version>"
requires "libhdf5_hl11-mvapich2-<targettype> = <version>"
requires "libhdf5-10-mvapich2-<targettype> = <version>"
requires "libhdf5_hl10-mvapich2-<targettype> = <version>"
requires "libhdf5_fortran10-mvapich2-<targettype> = <version>"
requires "libhdf5_hl_fortran10-mvapich2-<targettype> = <version>"

View File

@ -1,18 +1,34 @@
libhdf5-@sonum@
libhdf5-@sonum@-openmpi
libhdf5-@sonum@-mvapich2
libhdf5_hl@sonum_HL@
libhdf5_hl@sonum_HL@-mvapich2
libhdf5_hl@sonum_HL@-openmpi
libhdf5_cpp@sonum_CXX@
libhdf5_hl_cpp@sonum_HL_CXX@
libhdf5_fortran@sonum_F@
libhdf5_fortran@sonum_F@-openmpi
libhdf5_fortran@sonum_F@-mvapich2
libhdf5_hl_fortran@sonum_HL_F@
libhdf5_hl_fortran@sonum_HL_F@-mvapich2
libhdf5_hl_fortran@sonum_HL_F@-openmpi
hdf5-devel
requires -<targettype>
requires "libhdf5-@sonum@-<targettype> = <version>"
requires "libhdf5_hl@sonum@-<targettype> = <version>"
libhdf5-@sonum@-openmpi
requires "libhdf5_hl@sonum_HL@-<targettype> = <version>"
requires "libhdf5_cpp@sonum_CXX@-<targettype> = <version>"
requires "libhdf5_hl_cpp@sonum_HL_CXX@-<targettype> = <version>"
requires "libhdf5_fortran@sonum_F@-<targettype> = <version>"
requires "libhdf5_hl_fortran@sonum_HL_F@-<targettype> = <version>"
hdf5-openmpi-devel
requires -openmpi-<targettype>
requires "libhdf5-@sonum@-openmpi-<targettype> = <version>"
requires "libhdf5_hl@sonum@-openmpi-<targettype> = <version>"
libhdf5-@sonum@-mvapich2
libhdf5_hl@sonum@
libhdf5_hl@sonum@-mvapich2
libhdf5_hl@sonum@-openmpi
requires "libhdf5_hl@sonum_HL@-openmpi-<targettype> = <version>"
requires "libhdf5_fortran@sonum_F@-openmpi-<targettype> = <version>"
requires "libhdf5_hl_fortran@sonum_HL_F@-openmpi-<targettype> = <version>"
hdf5-mvapich2-devel
requires -openmpi-<targettype>
requires "libhdf5-@sonum@-mvapich2-<targettype> = <version>"
requires "libhdf5_hl@sonum@-mvapich2-<targettype> = <version>"
requires "libhdf5_hl@sonum_HL@-mvapich2-<targettype> = <version>"
requires "libhdf5_fortran@sonum_F@-mvapich2-<targettype> = <version>"
requires "libhdf5_hl_fortran@sonum_HL_F@-mvapich2-<targettype> = <version>"

View File

@ -1,3 +1,13 @@
-------------------------------------------------------------------
Fri Mar 18 14:26:42 UTC 2016 - toddrme2178@gmail.com
- Split libraries into C, C++, and Fortran versions to comply with
openSUSE library packaging policies.
Fixes BNC#971602
- Make Fortran builds required.
- Manually set so numbers. The autodetected ones weren't matching
the real ones.
-------------------------------------------------------------------
Mon Mar 7 14:35:44 UTC 2016 - olaf@aepfle.de

522
hdf5.spec
View File

@ -25,11 +25,9 @@
%define _mpi %{?_openmpi:openmpi} %{?_mvapich2:mvapich2}
# TODO: since 1.8.16 we have independent so versions, see config/lt_vers.am.
# We already have added a script "update_so_version.sh" to update all the
# defines below and baselibs.conf. But we still need to split certain
# subpackages to be able to use these versions.
%define sonum 11
# TODO: The so numbers autodetected by update_so_version.sh
# do not match the so numbers that are actually buit.
%define sonum 10
%define sonum_CXX 11
%define sonum_F 10
%define sonum_HL 10
@ -38,7 +36,6 @@
%define sonum_TOOLS 10
Name: hdf5
%define libname libhdf5
Version: 1.8.16
Release: 0
Summary: Command-line programs for the HDF5 scientific data format
@ -59,24 +56,24 @@ Patch4: hdf5-1.8.10-tests-arm.patch
Patch5: hdf5-ldouble-ppc64le.patch
Patch6: hdf5-buildcompare.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildRequires: fdupes
BuildRequires: gcc-c++
%if 0%{?suse_version} > 1140
BuildRequires: gcc-fortran
%endif
BuildRequires: krb5-devel
BuildRequires: openssl-devel
BuildRequires: zlib-devel
%if 0%{?suse_version} >= 1110
BuildRequires: fdupes
%endif
%if 0%{?_openmpi}
BuildRequires: openmpi-devel
%endif
%if 0%{?_mvapich2}
BuildRequires: mvapich2-devel
%endif
Requires: %{libname}-%{sonum} = %{version}
Requires: %{libname}_hl%{sonum} = %{version}
Requires: libhdf5-%{sonum} = %{version}
Requires: libhdf5_hl%{sonum_HL} = %{version}
Requires: libhdf5_cpp%{sonum_CXX} = %{version}
Requires: libhdf5_hl_cpp%{sonum_HL_CXX} = %{version}
Requires: libhdf5_fortran%{sonum_F} = %{version}
Requires: libhdf5hl_fortran%{sonum_HL_F} = %{version}
%description
HDF5 is a data model, library, and file format for storing and
@ -101,8 +98,10 @@ This package contains utility functions for working with HDF5 files.
%package -n %{name}-openmpi
Summary: Command-line programs for the HDF5 scientific data format
Group: Productivity/Scientific/Other
Requires: %{libname}-%{sonum}-openmpi = %{version}
Requires: %{libname}_hl%{sonum}-openmpi = %{version}
Requires: libhdf5-%{sonum}-openmpi = %{version}
Requires: libhdf5_hl%{sonum_HL}-openmpi = %{version}
Requires: libhdf5_fortran%{sonum_F}-openmpi = %{version}
Requires: libhdf5hl_fortran%{sonum_HL_F}-openmpi = %{version}
%description -n %{name}-openmpi
HDF5 is a data model, library, and file format for storing and
@ -128,8 +127,10 @@ with HDF5 files.
%package -n %{name}-mvapich2
Summary: Command-line programs for the HDF5 scientific data format
Group: Productivity/Scientific/Other
Requires: %{libname}-%{sonum}-mvapich2 = %{version}
Requires: %{libname}_hl%{sonum}-mvapich2 = %{version}
Requires: libhdf5-%{sonum}-mvapich2 = %{version}
Requires: libhdf5_hl%{sonum_HL}-mvapich2 = %{version}
Requires: libhdf5_fortran%{sonum_F}-mvapich2 = %{version}
Requires: libhdf5hl_fortran%{sonum_HL_F}-mvapich2 = %{version}
%description -n %{name}-mvapich2
HDF5 is a data model, library, and file format for storing and
@ -152,14 +153,14 @@ processing, visualization, and archiving.
This package contains the mvapich2 version utility functions for working
with HDF5 files.
%package -n %{libname}-%{sonum}
%package -n libhdf5-%{sonum}
Summary: Shared libraries for the HDF5 scientific data format
Group: Productivity/Scientific/Other
# To avoid unresolvable errors due to multiple providers of the library
Provides: %{libname} = %{version}
Obsoletes: %{libname} < %{version}
Provides: libhdf5 = %{version}
Obsoletes: libhdf5 < %{version}
%description -n %{libname}-%{sonum}
%description -n libhdf5-%{sonum}
HDF5 is a data model, library, and file format for storing and
managing data. It supports an unlimited variety of datatypes, and
is designed for flexible and efficient I/O and for high volume and
@ -179,14 +180,14 @@ processing, visualization, and archiving.
This package contains the HDF5 runtime libraries.
%package -n %{libname}-%{sonum}-openmpi
%package -n libhdf5-%{sonum}-openmpi
Summary: Shared libraries for the HDF5 scientific data format
Group: Productivity/Scientific/Other
# To avoid unresolvable errors due to multiple providers of the library
Provides: %{libname}-openmpi = %{version}
Obsoletes: %{libname}-openmpi < %{version}
Provides: libhdf5-openmpi = %{version}
Obsoletes: libhdf5-openmpi < %{version}
%description -n %{libname}-%{sonum}-openmpi
%description -n libhdf5-%{sonum}-openmpi
HDF5 is a data model, library, and file format for storing and
managing data. It supports an unlimited variety of datatypes, and
is designed for flexible and efficient I/O and for high volume and
@ -206,14 +207,14 @@ processing, visualization, and archiving.
This package contains the openmpi version of the HDF5 runtime libraries.
%package -n %{libname}-%{sonum}-mvapich2
%package -n libhdf5-%{sonum}-mvapich2
Summary: Shared libraries for the HDF5 scientific data format
Group: Productivity/Scientific/Other
# To avoid unresolvable errors due to multiple providers of the library
Provides: %{libname}-mvapich2 = %{version}
Obsoletes: %{libname}-mvapich2 < %{version}
Provides: libhdf5-mvapich2 = %{version}
Obsoletes: libhdf5-mvapich2 < %{version}
%description -n %{libname}-%{sonum}-mvapich2
%description -n libhdf5-%{sonum}-mvapich2
HDF5 is a data model, library, and file format for storing and
managing data. It supports an unlimited variety of datatypes, and
is designed for flexible and efficient I/O and for high volume and
@ -233,14 +234,14 @@ processing, visualization, and archiving.
This package contains the mvapich2 version of the HDF5 runtime libraries.
%package -n %{libname}_hl%{sonum}
%package -n libhdf5_hl%{sonum_HL}
Summary: High-level shared libraries for the HDF5 scientific data format
Group: Productivity/Scientific/Other
# To avoid unresolvable errors due to multiple providers of the library
Provides: %{libname}_hl = %{version}
Obsoletes: %{libname}_hl < %{version}
Provides: libhdf5_hl = %{version}
Obsoletes: libhdf5_hl < %{version}
%description -n %{libname}_hl%{sonum}
%description -n libhdf5_hl%{sonum_HL}
HDF5 is a data model, library, and file format for storing and
managing data. It supports an unlimited variety of datatypes, and
is designed for flexible and efficient I/O and for high volume and
@ -260,14 +261,14 @@ processing, visualization, and archiving.
This package contains the the high-level HDF5 runtime libraries.
%package -n %{libname}_hl%{sonum}-openmpi
%package -n libhdf5_hl%{sonum_HL}-openmpi
Summary: High-level shared libraries for the HDF5 scientific data format
Group: Productivity/Scientific/Other
# To avoid unresolvable errors due to multiple providers of the library
Provides: %{libname}_hl-openmpi = %{version}
Obsoletes: %{libname}_hl-openmpi < %{version}
Provides: libhdf5_hl-openmpi = %{version}
Obsoletes: libhdf5_hl-openmpi < %{version}
%description -n %{libname}_hl%{sonum}-openmpi
%description -n libhdf5_hl%{sonum_HL}-openmpi
HDF5 is a data model, library, and file format for storing and
managing data. It supports an unlimited variety of datatypes, and
is designed for flexible and efficient I/O and for high volume and
@ -288,14 +289,232 @@ processing, visualization, and archiving.
This package contains the openmpi version of the high-level HDF5
runtime libraries.
%package -n %{libname}_hl%{sonum}-mvapich2
%package -n libhdf5_hl%{sonum_HL}-mvapich2
Summary: High-level shared libraries for the HDF5 scientific data format
Group: Productivity/Scientific/Other
# To avoid unresolvable errors due to multiple providers of the library
Provides: %{libname}_hl-mvapich2 = %{version}
Obsoletes: %{libname}_hl-mvapich2 < %{version}
Provides: libhdf5_hl-mvapich2 = %{version}
Obsoletes: libhdf5_hl-mvapich2 < %{version}
%description -n %{libname}_hl%{sonum}-mvapich2
%description -n libhdf5_hl%{sonum_HL}-mvapich2
HDF5 is a data model, library, and file format for storing and
managing data. It supports an unlimited variety of datatypes, and
is designed for flexible and efficient I/O and for high volume and
complex data. HDF5 is portable and is extensible, allowing
applications to evolve in their use of HDF5.
The HDF5 technology suite is designed to organize, store, discover,
access, analyze, share, and preserve diverse, complex data in
continuously evolving heterogeneous computing and storage environments.
HDF5 supports all types of data stored digitally, regardless of origin
or size. Petabytes of remote sensing data collected by satellites,
terabytes of computational results from nuclear testing models, and
megabytes of high-resolution MRI brain scans are stored in HDF5 files,
together with metadata necessary for efficient data sharing,
processing, visualization, and archiving.
This package contains the mvapich2 version of the high-level HDF5
runtime libraries.
%package -n libhdf5_cpp%{sonum_CXX}
Summary: Shared libraries for the HDF5 scientific data format
Group: Productivity/Scientific/Other
# To avoid unresolvable errors due to multiple providers of the library
Provides: libhdf5_cpp = %{version}
Obsoletes: libhdf5_cpp < %{version}
%description -n libhdf5_cpp%{sonum_CXX}
HDF5 is a data model, library, and file format for storing and
managing data. It supports an unlimited variety of datatypes, and
is designed for flexible and efficient I/O and for high volume and
complex data. HDF5 is portable and is extensible, allowing
applications to evolve in their use of HDF5.
The HDF5 technology suite is designed to organize, store, discover,
access, analyze, share, and preserve diverse, complex data in
continuously evolving heterogeneous computing and storage environments.
HDF5 supports all types of data stored digitally, regardless of origin
or size. Petabytes of remote sensing data collected by satellites,
terabytes of computational results from nuclear testing models, and
megabytes of high-resolution MRI brain scans are stored in HDF5 files,
together with metadata necessary for efficient data sharing,
processing, visualization, and archiving.
This package contains the HDF5 runtime libraries.
%package -n libhdf5_hl_cpp%{sonum_HL_CXX}
Summary: High-level shared libraries for the HDF5 scientific data format
Group: Productivity/Scientific/Other
# To avoid unresolvable errors due to multiple providers of the library
Provides: libhdf5_hl_cpp = %{version}
Obsoletes: libhdf5_hl_cpp < %{version}
%description -n libhdf5_hl_cpp%{sonum_HL_CXX}
HDF5 is a data model, library, and file format for storing and
managing data. It supports an unlimited variety of datatypes, and
is designed for flexible and efficient I/O and for high volume and
complex data. HDF5 is portable and is extensible, allowing
applications to evolve in their use of HDF5.
The HDF5 technology suite is designed to organize, store, discover,
access, analyze, share, and preserve diverse, complex data in
continuously evolving heterogeneous computing and storage environments.
HDF5 supports all types of data stored digitally, regardless of origin
or size. Petabytes of remote sensing data collected by satellites,
terabytes of computational results from nuclear testing models, and
megabytes of high-resolution MRI brain scans are stored in HDF5 files,
together with metadata necessary for efficient data sharing,
processing, visualization, and archiving.
This package contains the the high-level HDF5 runtime libraries.
%package -n libhdf5_fortran%{sonum_F}
Summary: Shared libraries for the HDF5 scientific data format
Group: Productivity/Scientific/Other
# To avoid unresolvable errors due to multiple providers of the library
Provides: libhdf5_fortran = %{version}
Obsoletes: libhdf5_fortran < %{version}
%description -n libhdf5_fortran%{sonum_F}
HDF5 is a data model, library, and file format for storing and
managing data. It supports an unlimited variety of datatypes, and
is designed for flexible and efficient I/O and for high volume and
complex data. HDF5 is portable and is extensible, allowing
applications to evolve in their use of HDF5.
The HDF5 technology suite is designed to organize, store, discover,
access, analyze, share, and preserve diverse, complex data in
continuously evolving heterogeneous computing and storage environments.
HDF5 supports all types of data stored digitally, regardless of origin
or size. Petabytes of remote sensing data collected by satellites,
terabytes of computational results from nuclear testing models, and
megabytes of high-resolution MRI brain scans are stored in HDF5 files,
together with metadata necessary for efficient data sharing,
processing, visualization, and archiving.
This package contains the HDF5 runtime libraries.
%package -n libhdf5_fortran%{sonum_F}-openmpi
Summary: Shared libraries for the HDF5 scientific data format
Group: Productivity/Scientific/Other
# To avoid unresolvable errors due to multiple providers of the library
Provides: libhdf5_fortran-openmpi = %{version}
Obsoletes: libhdf5_fortran-openmpi < %{version}
%description -n libhdf5_fortran%{sonum_F}-openmpi
HDF5 is a data model, library, and file format for storing and
managing data. It supports an unlimited variety of datatypes, and
is designed for flexible and efficient I/O and for high volume and
complex data. HDF5 is portable and is extensible, allowing
applications to evolve in their use of HDF5.
The HDF5 technology suite is designed to organize, store, discover,
access, analyze, share, and preserve diverse, complex data in
continuously evolving heterogeneous computing and storage environments.
HDF5 supports all types of data stored digitally, regardless of origin
or size. Petabytes of remote sensing data collected by satellites,
terabytes of computational results from nuclear testing models, and
megabytes of high-resolution MRI brain scans are stored in HDF5 files,
together with metadata necessary for efficient data sharing,
processing, visualization, and archiving.
This package contains the openmpi version of the HDF5 runtime libraries.
%package -n libhdf5_fortran%{sonum_F}-mvapich2
Summary: Shared libraries for the HDF5 scientific data format
Group: Productivity/Scientific/Other
# To avoid unresolvable errors due to multiple providers of the library
Provides: libhdf5_fortran-mvapich2 = %{version}
Obsoletes: libhdf5_fortran-mvapich2 < %{version}
%description -n libhdf5_fortran%{sonum_F}-mvapich2
HDF5 is a data model, library, and file format for storing and
managing data. It supports an unlimited variety of datatypes, and
is designed for flexible and efficient I/O and for high volume and
complex data. HDF5 is portable and is extensible, allowing
applications to evolve in their use of HDF5.
The HDF5 technology suite is designed to organize, store, discover,
access, analyze, share, and preserve diverse, complex data in
continuously evolving heterogeneous computing and storage environments.
HDF5 supports all types of data stored digitally, regardless of origin
or size. Petabytes of remote sensing data collected by satellites,
terabytes of computational results from nuclear testing models, and
megabytes of high-resolution MRI brain scans are stored in HDF5 files,
together with metadata necessary for efficient data sharing,
processing, visualization, and archiving.
This package contains the mvapich2 version of the HDF5 runtime libraries.
%package -n libhdf5hl_fortran%{sonum_HL_F}
Summary: High-level shared libraries for the HDF5 scientific data format
Group: Productivity/Scientific/Other
# To avoid unresolvable errors due to multiple providers of the library
Provides: libhdf5hl_fortran = %{version}
Obsoletes: libhdf5hl_fortran < %{version}
%description -n libhdf5hl_fortran%{sonum_HL_F}
HDF5 is a data model, library, and file format for storing and
managing data. It supports an unlimited variety of datatypes, and
is designed for flexible and efficient I/O and for high volume and
complex data. HDF5 is portable and is extensible, allowing
applications to evolve in their use of HDF5.
The HDF5 technology suite is designed to organize, store, discover,
access, analyze, share, and preserve diverse, complex data in
continuously evolving heterogeneous computing and storage environments.
HDF5 supports all types of data stored digitally, regardless of origin
or size. Petabytes of remote sensing data collected by satellites,
terabytes of computational results from nuclear testing models, and
megabytes of high-resolution MRI brain scans are stored in HDF5 files,
together with metadata necessary for efficient data sharing,
processing, visualization, and archiving.
This package contains the the high-level HDF5 runtime libraries.
%package -n libhdf5hl_fortran%{sonum_HL_F}-openmpi
Summary: High-level shared libraries for the HDF5 scientific data format
Group: Productivity/Scientific/Other
# To avoid unresolvable errors due to multiple providers of the library
Provides: libhdf5hl_fortran-openmpi = %{version}
Obsoletes: libhdf5hl_fortran-openmpi < %{version}
%description -n libhdf5hl_fortran%{sonum_HL_F}-openmpi
HDF5 is a data model, library, and file format for storing and
managing data. It supports an unlimited variety of datatypes, and
is designed for flexible and efficient I/O and for high volume and
complex data. HDF5 is portable and is extensible, allowing
applications to evolve in their use of HDF5.
The HDF5 technology suite is designed to organize, store, discover,
access, analyze, share, and preserve diverse, complex data in
continuously evolving heterogeneous computing and storage environments.
HDF5 supports all types of data stored digitally, regardless of origin
or size. Petabytes of remote sensing data collected by satellites,
terabytes of computational results from nuclear testing models, and
megabytes of high-resolution MRI brain scans are stored in HDF5 files,
together with metadata necessary for efficient data sharing,
processing, visualization, and archiving.
This package contains the openmpi version of the high-level HDF5
runtime libraries.
%package -n libhdf5hl_fortran%{sonum_HL_F}-mvapich2
Summary: High-level shared libraries for the HDF5 scientific data format
Group: Productivity/Scientific/Other
# To avoid unresolvable errors due to multiple providers of the library
Provides: libhdf5hl_fortran-mvapich2 = %{version}
Obsoletes: libhdf5hl_fortran-mvapich2 < %{version}
%description -n libhdf5hl_fortran%{sonum_HL_F}-mvapich2
HDF5 is a data model, library, and file format for storing and
managing data. It supports an unlimited variety of datatypes, and
is designed for flexible and efficient I/O and for high volume and
@ -347,8 +566,12 @@ Group: Development/Libraries/Other
Requires: %{name} = %{version}
Requires: %{name}-devel-data = %{version}
# Required by Fortran programs?
Requires: %{libname}-%{sonum} = %{version}
Requires: %{libname}_hl%{sonum} = %{version}
Requires: libhdf5-%{sonum} = %{version}
Requires: libhdf5_hl%{sonum_HL} = %{version}
Requires: libhdf5_cpp%{sonum_CXX} = %{version}
Requires: libhdf5_hl_cpp%{sonum_HL_CXX} = %{version}
Requires: libhdf5_fortran%{sonum_F} = %{version}
Requires: libhdf5hl_fortran%{sonum_HL_F} = %{version}
%description devel
HDF5 is a data model, library, and file format for storing and
@ -377,8 +600,10 @@ Group: Development/Libraries/Parallel
Requires: %{name}-devel-data = %{version}
Requires: %{name}-openmpi = %{version}
# Required by Fortran programs?
Requires: %{libname}-%{sonum}-openmpi = %{version}
Requires: %{libname}_hl%{sonum}-openmpi = %{version}
Requires: libhdf5-%{sonum}-openmpi = %{version}
Requires: libhdf5_hl%{sonum_HL}-openmpi = %{version}
Requires: libhdf5_fortran%{sonum_F}-openmpi = %{version}
Requires: libhdf5hl_fortran%{sonum_HL_F}-openmpi = %{version}
%description openmpi-devel
HDF5 is a data model, library, and file format for storing and
@ -407,8 +632,10 @@ Group: Development/Libraries/Parallel
Requires: %{name}-devel-data = %{version}
Requires: %{name}-mvapich2 = %{version}
# Required by Fortran programs?
Requires: %{libname}-%{sonum}-mvapich2 = %{version}
Requires: %{libname}_hl%{sonum}-mvapich2 = %{version}
Requires: libhdf5-%{sonum}-mvapich2 = %{version}
Requires: libhdf5_hl%{sonum_HL}-mvapich2 = %{version}
Requires: libhdf5_fortran%{sonum_F}-mvapich2 = %{version}
Requires: libhdf5hl_fortran%{sonum_HL_F}-mvapich2 = %{version}
%description mvapich2-devel
HDF5 is a data model, library, and file format for storing and
@ -509,8 +736,12 @@ This package provides the static libraries for the mvapich2 version of HDF5.
%package examples
Summary: Examples for %{name}
Group: Documentation/Other
Requires: %{libname}-%{sonum} = %{version}
Requires: %{libname}_hl%{sonum} = %{version}
Requires: libhdf5-%{sonum} = %{version}
Requires: libhdf5_hl%{sonum_HL} = %{version}
Requires: libhdf5_cpp%{sonum_CXX} = %{version}
Requires: libhdf5_hl_cpp%{sonum_HL_CXX} = %{version}
Requires: libhdf5_fortran%{sonum_F} = %{version}
Requires: libhdf5hl_fortran%{sonum_HL_F} = %{version}
%description examples
HDF5 is a data model, library, and file format for storing and
@ -534,9 +765,6 @@ This package provides examples of HDF5 library use.
%prep
%setup -q
# don't forget to increase sonum, see also baselibs.conf
LT_VERS_INTERFACE=$(sed -n 's/^ *LT_VERS_INTERFACE *= *//p' config/lt_vers.am)
test "%{sonum}" = "${LT_VERS_INTERFACE}" || exit 1
%patch0 -p1 -b .LD_LIBRARY_PATH
%patch1 -p0 -b .non_void_return
%patch2 -p0 -b .abort_unknown_host_config
@ -579,15 +807,14 @@ pushd build
%configure \
--docdir=%{_docdir}/%{name} \
--disable-dependency-tracking \
%if 0%{?suse_version} > 1140
--enable-fortran \
--enable-fortran2003 \
%endif
--enable-unsupported \
--enable-hl \
--enable-shared \
--enable-cxx \
--enable-threadsafe \
--enable-production \
--with-pthread
make V=1 %{?_smp_mflags}
@ -609,15 +836,14 @@ export LD_LIBRARY_PATH="%{_libdir}/mpi/gcc/$mpi/%_lib"
--datadir=%{_libdir}/mpi/gcc/$mpi/share \
--includedir=%{_libdir}/mpi/gcc/$mpi/include \
--disable-dependency-tracking \
%if 0%{?suse_version} > 1140
--enable-fortran \
--enable-fortran2003 \
%endif
--enable-unsupported \
--enable-hl \
--enable-shared \
--enable-threadsafe \
--enable-parallel \
--enable-production \
--with-pthread
make %{?_smp_mflags}
@ -662,26 +888,50 @@ for mpi in %_mpi; do
make -C $mpi check
done
%post -n %{libname}-%{sonum} -p /sbin/ldconfig
%postun -n %{libname}-%{sonum} -p /sbin/ldconfig
%post -n libhdf5-%{sonum} -p /sbin/ldconfig
%postun -n libhdf5-%{sonum} -p /sbin/ldconfig
%post -n %{libname}_hl%{sonum} -p /sbin/ldconfig
%postun -n %{libname}_hl%{sonum} -p /sbin/ldconfig
%post -n libhdf5_hl%{sonum_HL} -p /sbin/ldconfig
%postun -n libhdf5_hl%{sonum_HL} -p /sbin/ldconfig
%post -n libhdf5_cpp%{sonum_CXX} -p /sbin/ldconfig
%postun -n libhdf5_cpp%{sonum_CXX} -p /sbin/ldconfig
%post -n libhdf5_hl_cpp%{sonum_HL_CXX} -p /sbin/ldconfig
%postun -n libhdf5_hl_cpp%{sonum_HL_CXX} -p /sbin/ldconfig
%post -n libhdf5_fortran%{sonum_F} -p /sbin/ldconfig
%postun -n libhdf5_fortran%{sonum_F} -p /sbin/ldconfig
%post -n libhdf5hl_fortran%{sonum_HL_F} -p /sbin/ldconfig
%postun -n libhdf5hl_fortran%{sonum_HL_F} -p /sbin/ldconfig
%if 0%{?_openmpi}
%post -n %{libname}-%{sonum}-openmpi -p /sbin/ldconfig
%postun -n %{libname}-%{sonum}-openmpi -p /sbin/ldconfig
%post -n libhdf5-%{sonum}-openmpi -p /sbin/ldconfig
%postun -n libhdf5-%{sonum}-openmpi -p /sbin/ldconfig
%post -n %{libname}_hl%{sonum}-openmpi -p /sbin/ldconfig
%postun -n %{libname}_hl%{sonum}-openmpi -p /sbin/ldconfig
%post -n libhdf5_hl%{sonum_HL}-openmpi -p /sbin/ldconfig
%postun -n libhdf5_hl%{sonum_HL}-openmpi -p /sbin/ldconfig
%post -n libhdf5_fortran%{sonum_F}-openmpi -p /sbin/ldconfig
%postun -n libhdf5_fortran%{sonum_F}-openmpi -p /sbin/ldconfig
%post -n libhdf5hl_fortran%{sonum_HL_F}-openmpi -p /sbin/ldconfig
%postun -n libhdf5hl_fortran%{sonum_HL_F}-openmpi -p /sbin/ldconfig
%endif
%if 0%{?_mvapich2}
%post -n %{libname}-%{sonum}-mvapich2 -p /sbin/ldconfig
%postun -n %{libname}-%{sonum}-mvapich2 -p /sbin/ldconfig
%post -n libhdf5-%{sonum}-mvapich2 -p /sbin/ldconfig
%postun -n libhdf5-%{sonum}-mvapich2 -p /sbin/ldconfig
%post -n %{libname}_hl%{sonum}-mvapich2 -p /sbin/ldconfig
%postun -n %{libname}_hl%{sonum}-mvapich2 -p /sbin/ldconfig
%post -n libhdf5_hl%{sonum_HL}-mvapich2 -p /sbin/ldconfig
%postun -n libhdf5_hl%{sonum_HL}-mvapich2 -p /sbin/ldconfig
%post -n libhdf5_fortran%{sonum_F}-mvapich2 -p /sbin/ldconfig
%postun -n libhdf5_fortran%{sonum_F}-mvapich2 -p /sbin/ldconfig
%post -n libhdf5hl_fortran%{sonum_HL_F}-mvapich2 -p /sbin/ldconfig
%postun -n libhdf5hl_fortran%{sonum_HL_F}-mvapich2 -p /sbin/ldconfig
%endif
%files
@ -703,26 +953,50 @@ done
%{_bindir}/h5stat
%{_bindir}/h5unjam
%files -n %{libname}-%{sonum}
%files -n libhdf5-%{sonum}
%defattr(-,root,root)
%doc COPYING ACKNOWLEDGMENTS README.txt
%doc release_docs/HISTORY-1_0-1_8_0_rc3.txt
%doc release_docs/HISTORY-1_8.txt
%doc release_docs/RELEASE.txt
%defattr(0755,root,root)
%{_libdir}/libhdf5.so.*
%{_libdir}/libhdf5_cpp.so.*
%if 0%{?suse_version} > 1140
%{_libdir}/libhdf5_fortran.so.*
%endif
%{_libdir}/libhdf5.so.%{sonum}
%{_libdir}/libhdf5.so.%{sonum}.*
%files -n libhdf5_hl%{sonum}
%files -n libhdf5_hl%{sonum_HL}
%defattr(-,root,root)
%doc COPYING
%defattr(0755,root,root)
%{_libdir}/libhdf5_hl.so.*
%{_libdir}/libhdf5_hl_cpp.so.*
%if 0%{?suse_version} > 1140
%{_libdir}/libhdf5hl_fortran.so.*
%endif
%{_libdir}/libhdf5_hl.so.%{sonum_HL}
%{_libdir}/libhdf5_hl.so.%{sonum_HL}.*
%files -n libhdf5_cpp%{sonum_CXX}
%defattr(-,root,root)
%doc COPYING
%defattr(0755,root,root)
%{_libdir}/libhdf5_cpp.so.%{sonum_CXX}
%{_libdir}/libhdf5_cpp.so.%{sonum_CXX}.*
%files -n libhdf5_hl_cpp%{sonum_HL_CXX}
%defattr(-,root,root)
%doc COPYING
%defattr(0755,root,root)
%{_libdir}/libhdf5_hl_cpp.so.%{sonum_HL_CXX}
%{_libdir}/libhdf5_hl_cpp.so.%{sonum_HL_CXX}.*
%files -n libhdf5_fortran%{sonum_F}
%defattr(-,root,root)
%doc COPYING
%defattr(0755,root,root)
%{_libdir}/libhdf5_fortran.so.%{sonum_F}
%{_libdir}/libhdf5_fortran.so.%{sonum_F}.*
%files -n libhdf5hl_fortran%{sonum_HL_F}
%defattr(-,root,root)
%doc COPYING
%defattr(0755,root,root)
%{_libdir}/libhdf5hl_fortran.so.%{sonum_HL_F}
%{_libdir}/libhdf5hl_fortran.so.%{sonum_HL_F}.*
%files devel-data
%defattr(-,root,root,-)
@ -732,15 +1006,11 @@ done
%defattr(-,root,root)
%{_bindir}/h5c++
%{_bindir}/h5cc
%if 0%{?suse_version} > 1140
%{_bindir}/h5fc
%endif
%{_includedir}/*.h
%{_libdir}/*.so
%{_libdir}/*.settings
%if 0%{?suse_version} > 1140
%{_includedir}/*.mod
%endif
%files devel-static
%defattr(-,root,root)
@ -772,41 +1042,49 @@ done
%{_libdir}/mpi/gcc/openmpi/bin/h5unjam
%{_libdir}/mpi/gcc/openmpi/bin/ph5diff
%files -n %{libname}-%{sonum}-openmpi
%files -n libhdf5-%{sonum}-openmpi
%defattr(-,root,root)
%doc COPYING ACKNOWLEDGMENTS README.txt
%doc release_docs/HISTORY-1_0-1_8_0_rc3.txt
%doc release_docs/HISTORY-1_8.txt
%doc release_docs/RELEASE.txt
%defattr(0755,root,root)
%{_libdir}/mpi/gcc/openmpi/%_lib/libhdf5.so.*
%if 0%{?suse_version} > 1140
%{_libdir}/mpi/gcc/openmpi/%_lib/libhdf5_fortran.so.*
%endif
%{_libdir}/mpi/gcc/openmpi/%{_lib}/libhdf5.so.%{sonum}
%{_libdir}/mpi/gcc/openmpi/%{_lib}/libhdf5.so.%{sonum}.*
%files -n libhdf5_hl%{sonum}-openmpi
%files -n libhdf5_hl%{sonum_HL}-openmpi
%defattr(-,root,root)
%doc COPYING
%defattr(0755,root,root)
%{_libdir}/mpi/gcc/openmpi/%_lib/libhdf5_hl.so.*
%if 0%{?suse_version} > 1140
%{_libdir}/mpi/gcc/openmpi/%_lib/libhdf5hl_fortran.so.*
%endif
%{_libdir}/mpi/gcc/openmpi/%{_lib}/libhdf5_hl.so.%{sonum_HL}
%{_libdir}/mpi/gcc/openmpi/%{_lib}/libhdf5_hl.so.%{sonum_HL}.*
%files -n libhdf5_fortran%{sonum_F}-openmpi
%defattr(-,root,root)
%doc COPYING
%defattr(0755,root,root)
%{_libdir}/mpi/gcc/openmpi/%{_lib}/libhdf5_fortran.so.%{sonum_F}
%{_libdir}/mpi/gcc/openmpi/%{_lib}/libhdf5_fortran.so.%{sonum_F}.*
%files -n libhdf5hl_fortran%{sonum_HL_F}-openmpi
%defattr(-,root,root)
%doc COPYING
%defattr(0755,root,root)
%{_libdir}/mpi/gcc/openmpi/%{_lib}/libhdf5hl_fortran.so.%{sonum_HL_F}
%{_libdir}/mpi/gcc/openmpi/%{_lib}/libhdf5hl_fortran.so.%{sonum_HL_F}.*
%files openmpi-devel
%defattr(-,root,root)
%{_libdir}/mpi/gcc/openmpi/bin/h5pcc
%if 0%{?suse_version} > 1140
%{_libdir}/mpi/gcc/openmpi/bin/h5pfc
%endif
%{_libdir}/mpi/gcc/openmpi/include/*.h
%{_libdir}/mpi/gcc/openmpi/%_lib/*.so
%{_libdir}/mpi/gcc/openmpi/%_lib/*.settings
%if 0%{?suse_version} > 1140
%{_libdir}/mpi/gcc/openmpi/%{_lib}/*.so
%{_libdir}/mpi/gcc/openmpi/%{_lib}/*.settings
%{_libdir}/mpi/gcc/openmpi/include/*.mod
%endif
%files openmpi-devel-static
%defattr(-,root,root)
%{_libdir}/mpi/gcc/openmpi/%_lib/*.a
%{_libdir}/mpi/gcc/openmpi/%{_lib}/*.a
%endif
%if 0%{?_mvapich2}
@ -831,41 +1109,49 @@ done
%{_libdir}/mpi/gcc/mvapich2/bin/h5unjam
%{_libdir}/mpi/gcc/mvapich2/bin/ph5diff
%files -n %{libname}-%{sonum}-mvapich2
%files -n libhdf5-%{sonum}-mvapich2
%defattr(-,root,root)
%doc COPYING ACKNOWLEDGMENTS README.txt
%doc release_docs/HISTORY-1_0-1_8_0_rc3.txt
%doc release_docs/HISTORY-1_8.txt
%doc release_docs/RELEASE.txt
%defattr(0755,root,root)
%{_libdir}/mpi/gcc/mvapich2/%_lib/libhdf5.so.*
%if 0%{?suse_version} > 1140
%{_libdir}/mpi/gcc/mvapich2/%_lib/libhdf5_fortran.so.*
%endif
%{_libdir}/mpi/gcc/mvapich2/%{_lib}/libhdf5.so.%{sonum}
%{_libdir}/mpi/gcc/mvapich2/%{_lib}/libhdf5.so.%{sonum}.*
%files -n libhdf5_hl%{sonum}-mvapich2
%files -n libhdf5_hl%{sonum_HL}-mvapich2
%defattr(-,root,root)
%doc COPYING
%defattr(0755,root,root)
%{_libdir}/mpi/gcc/mvapich2/%_lib/libhdf5_hl.so.*
%if 0%{?suse_version} > 1140
%{_libdir}/mpi/gcc/mvapich2/%_lib/libhdf5hl_fortran.so.*
%endif
%{_libdir}/mpi/gcc/mvapich2/%{_lib}/libhdf5_hl.so.%{sonum_HL}
%{_libdir}/mpi/gcc/mvapich2/%{_lib}/libhdf5_hl.so.%{sonum_HL}.*
%files -n libhdf5_fortran%{sonum_F}-mvapich2
%defattr(-,root,root)
%doc COPYING
%defattr(0755,root,root)
%{_libdir}/mpi/gcc/mvapich2/%{_lib}/libhdf5_fortran.so.%{sonum_F}
%{_libdir}/mpi/gcc/mvapich2/%{_lib}/libhdf5_fortran.so.%{sonum_F}.*
%files -n libhdf5hl_fortran%{sonum_HL_F}-mvapich2
%defattr(-,root,root)
%doc COPYING
%defattr(0755,root,root)
%{_libdir}/mpi/gcc/mvapich2/%{_lib}/libhdf5hl_fortran.so.%{sonum_HL_F}
%{_libdir}/mpi/gcc/mvapich2/%{_lib}/libhdf5hl_fortran.so.%{sonum_HL_F}.*
%files mvapich2-devel
%defattr(-,root,root)
%{_libdir}/mpi/gcc/mvapich2/bin/h5pcc
%if 0%{?suse_version} > 1140
%{_libdir}/mpi/gcc/mvapich2/bin/h5pfc
%endif
%{_libdir}/mpi/gcc/mvapich2/include/*.h
%{_libdir}/mpi/gcc/mvapich2/%_lib/*.so
%{_libdir}/mpi/gcc/mvapich2/%_lib/*.settings
%if 0%{?suse_version} > 1140
%{_libdir}/mpi/gcc/mvapich2/%{_lib}/*.so
%{_libdir}/mpi/gcc/mvapich2/%{_lib}/*.settings
%{_libdir}/mpi/gcc/mvapich2/include/*.mod
%endif
%files mvapich2-devel-static
%defattr(-,root,root)
%{_libdir}/mpi/gcc/mvapich2/%_lib/*.a
%{_libdir}/mpi/gcc/mvapich2/%{_lib}/*.a
%endif
%changelog