diff --git a/baselibs.conf b/baselibs.conf index 26fe34f..37810ec 100644 --- a/baselibs.conf +++ b/baselibs.conf @@ -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 - - requires "libhdf5-11- = " - requires "libhdf5_hl11- = " -libhdf5-11-openmpi + requires "libhdf5-10- = " + requires "libhdf5_hl10- = " + requires "libhdf5_cpp11- = " + requires "libhdf5_hl_cpp11- = " + requires "libhdf5_fortran10- = " + requires "libhdf5_hl_fortran10- = " hdf5-openmpi-devel requires -openmpi- - requires "libhdf5-11-openmpi- = " - requires "libhdf5_hl11-openmpi- = " -libhdf5-11-mvapich2 -libhdf5_hl11 -libhdf5_hl11-mvapich2 -libhdf5_hl11-openmpi + requires "libhdf5-10-openmpi- = " + requires "libhdf5_hl10-openmpi- = " + requires "libhdf5_fortran10-openmpi- = " + requires "libhdf5_hl_fortran10-openmpi- = " hdf5-mvapich2-devel requires -openmpi- - requires "libhdf5-11-mvapich2- = " - requires "libhdf5_hl11-mvapich2- = " + requires "libhdf5-10-mvapich2- = " + requires "libhdf5_hl10-mvapich2- = " + requires "libhdf5_fortran10-mvapich2- = " + requires "libhdf5_hl_fortran10-mvapich2- = " diff --git a/baselibs.conf.in b/baselibs.conf.in index fa458eb..6568378 100644 --- a/baselibs.conf.in +++ b/baselibs.conf.in @@ -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 - requires "libhdf5-@sonum@- = " - requires "libhdf5_hl@sonum@- = " -libhdf5-@sonum@-openmpi + requires "libhdf5_hl@sonum_HL@- = " + requires "libhdf5_cpp@sonum_CXX@- = " + requires "libhdf5_hl_cpp@sonum_HL_CXX@- = " + requires "libhdf5_fortran@sonum_F@- = " + requires "libhdf5_hl_fortran@sonum_HL_F@- = " hdf5-openmpi-devel requires -openmpi- requires "libhdf5-@sonum@-openmpi- = " - requires "libhdf5_hl@sonum@-openmpi- = " -libhdf5-@sonum@-mvapich2 -libhdf5_hl@sonum@ -libhdf5_hl@sonum@-mvapich2 -libhdf5_hl@sonum@-openmpi + requires "libhdf5_hl@sonum_HL@-openmpi- = " + requires "libhdf5_fortran@sonum_F@-openmpi- = " + requires "libhdf5_hl_fortran@sonum_HL_F@-openmpi- = " hdf5-mvapich2-devel requires -openmpi- requires "libhdf5-@sonum@-mvapich2- = " - requires "libhdf5_hl@sonum@-mvapich2- = " + requires "libhdf5_hl@sonum_HL@-mvapich2- = " + requires "libhdf5_fortran@sonum_F@-mvapich2- = " + requires "libhdf5_hl_fortran@sonum_HL_F@-mvapich2- = " diff --git a/hdf5.changes b/hdf5.changes index 8cc178a..74f6f0c 100644 --- a/hdf5.changes +++ b/hdf5.changes @@ -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 diff --git a/hdf5.spec b/hdf5.spec index 0e74310..f594ea7 100644 --- a/hdf5.spec +++ b/hdf5.spec @@ -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 @@ -366,7 +589,7 @@ 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. +processing, visualization, and archiving. This package contains all files needed to create projects that use HDF5. @@ -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 @@ -567,27 +795,26 @@ test -e config/linux-gnueabi || cp config/linux-gnu config/linux-gnueabi # NOTE: --enable-unsupported is required when --enable-fortran # and/or --enable-cxx is enabled along with --enable-threadsafe. -# Building with thise combination results in thread-safe C -# libraries and non-thread-safe fotran and/or C++ libraries. So -# you have to explicitly allow building the thread-safe C -# library and the non-thread-safe C++ and fortran libraries in -# order to make sure people don't assume that their fotran or -# C++ code is thread-safe. Since our users are going to be +# Building with thise combination results in thread-safe C +# libraries and non-thread-safe fotran and/or C++ libraries. So +# you have to explicitly allow building the thread-safe C +# library and the non-thread-safe C++ and fortran libraries in +# order to make sure people don't assume that their fotran or +# C++ code is thread-safe. Since our users are going to be # accessing this through other programs, this doesn't matter. 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