Compare commits

..

No commits in common. "master" and "f26" have entirely different histories.
master ... f26

6 changed files with 54 additions and 310 deletions

1
.gitignore vendored
View File

@ -7,4 +7,3 @@ hdf-4.2.5.tar.bz2
/hdf-4.2.11.tar.bz2
/hdf-4.2.12.tar.bz2
/hdf-4.2.13.tar.bz2
/hdf-4.2.14.tar.bz2

6
h4comp
View File

@ -1,6 +0,0 @@
#!/bin/bash
BITS=32
[ -d /usr/lib64 ] && BITS=64
exec $0-${BITS} "$@"

View File

@ -1,67 +0,0 @@
diff -up hdf-4.2.14/java/examples/Makefile.am.build hdf-4.2.14/java/examples/Makefile.am
--- hdf-4.2.14/java/examples/Makefile.am.build 2018-06-26 22:42:58.000000000 -0600
+++ hdf-4.2.14/java/examples/Makefile.am 2019-04-10 20:01:42.336828053 -0600
@@ -12,8 +12,8 @@ classes:
test -d $(@D)/$(JAVAROOT) || $(MKDIR_P) $(@D)/$(JAVAROOT)
pkgpath = examples
-hdfjarfile = jar$(PACKAGE_TARNAME)-$(PACKAGE_VERSION).jar
-jarfile = jar$(PACKAGE_TARNAME)examples.jar
+hdfjarfile = $(PACKAGE_TARNAME).jar
+jarfile = $(PACKAGE_TARNAME)examples.jar
CLASSPATH_ENV=CLASSPATH=.:$(JAVAROOT):$(top_builddir)/java/src/$(hdfjarfile):$(top_srcdir)/java/lib/slf4j-api-1.7.5.jar:$(top_srcdir)/java/lib/ext/slf4j-simple-1.7.5.jar:$$CLASSPATH
AM_JAVACFLAGS = $(H4_JAVACFLAGS) -deprecation
diff -up hdf-4.2.14/java/src/jni/Makefile.am.build hdf-4.2.14/java/src/jni/Makefile.am
--- hdf-4.2.14/java/src/jni/Makefile.am.build 2018-06-26 22:42:58.000000000 -0600
+++ hdf-4.2.14/java/src/jni/Makefile.am 2019-04-10 20:47:55.397873538 -0600
@@ -14,7 +14,10 @@ AM_CPPFLAGS=-I$(top_srcdir)/hdf/src
-I$(top_builddir)/mfhdf/libsrc -I$(top_srcdir)/java/src/jni $(JNIFLAGS)
# This is our main target
-lib_LTLIBRARIES=libhdf_java.la
+pkglib_LTLIBRARIES=libhdf_java.la
+
+# No soname for JNI library
+libhdf_java_la_LDFLAGS = -avoid-version
# Source files for the library
libhdf_java_la_SOURCES=hdfanImp.c hdfdfpalImp.c \
diff -up hdf-4.2.14/java/src/Makefile.am.build hdf-4.2.14/java/src/Makefile.am
--- hdf-4.2.14/java/src/Makefile.am.build 2018-06-26 22:42:58.000000000 -0600
+++ hdf-4.2.14/java/src/Makefile.am 2019-04-10 20:01:42.336828053 -0600
@@ -13,8 +13,8 @@ JAVAROOT = .classes
classes:
test -d $(@D)/$(JAVAROOT) || $(MKDIR_P) $(@D)/$(JAVAROOT)
-jarfile = jar$(PACKAGE_TARNAME)-$(PACKAGE_VERSION).jar
-hdf_javadir = $(libdir)
+jarfile = $(PACKAGE_TARNAME).jar
+hdf_javadir = $(prefix)/lib/java
pkgpath = hdf/hdflib
CLASSPATH_ENV=CLASSPATH=.:$(top_srcdir)/java/lib/slf4j-api-1.7.5.jar:$$CLASSPATH
diff -up hdf-4.2.14/java/test/junit.sh.in.build hdf-4.2.14/java/test/junit.sh.in
--- hdf-4.2.14/java/test/junit.sh.in.build 2018-06-26 22:42:58.000000000 -0600
+++ hdf-4.2.14/java/test/junit.sh.in 2019-04-10 20:01:42.337828056 -0600
@@ -40,7 +40,7 @@ HDFLIB_HOME="$top_srcdir/java/lib"
BLDLIBDIR="$top_builddir/java/lib"
BLDDIR="."
HDFTEST_HOME="$top_srcdir/java/test"
-JARFILE=jar@PACKAGE_TARNAME@-@PACKAGE_VERSION@.jar
+JARFILE=@PACKAGE_TARNAME@.jar
TESTJARFILE=jar@PACKAGE_TARNAME@test.jar
test -d $BLDLIBDIR || mkdir -p $BLDLIBDIR
diff -up hdf-4.2.14/java/test/Makefile.am.build hdf-4.2.14/java/test/Makefile.am
--- hdf-4.2.14/java/test/Makefile.am.build 2018-06-26 22:42:58.000000000 -0600
+++ hdf-4.2.14/java/test/Makefile.am 2019-04-10 20:01:42.337828056 -0600
@@ -12,7 +12,7 @@ classes:
test -d $(@D)/$(JAVAROOT) || $(MKDIR_P) $(@D)/$(JAVAROOT)
pkgpath = test
-hdfjarfile = jar$(PACKAGE_TARNAME)-$(PACKAGE_VERSION).jar
+hdfjarfile = $(PACKAGE_TARNAME).jar
CLASSPATH_ENV=CLASSPATH=.:$(JAVAROOT):$(top_builddir)/java/src/$(hdfjarfile):$(top_srcdir)/java/lib/junit.jar:$(top_srcdir)/java/lib/hamcrest-core.jar:$(top_srcdir)/java/lib/slf4j-api-1.7.5.jar:$(top_srcdir)/java/lib/ext/slf4j-simple-1.7.5.jar:$$CLASSPATH
jarfile = jar$(PACKAGE_TARNAME)test.jar

View File

@ -1,6 +1,6 @@
diff -up a/hdf/examples/Makefile.am b/hdf/examples/Makefile.am
--- a/hdf/examples/Makefile.am 2017-01-31 14:41:51.947802481 -0700
+++ b/hdf/examples/Makefile.am 2017-01-31 14:42:34.883572782 -0700
diff -up hdf/examples/Makefile.am hdf-4.2.12/hdf/examples/Makefile.am
--- hdf/examples/Makefile.am 2017-01-31 14:41:51.947802481 -0700
+++ hdf/examples/Makefile.am 2017-01-31 14:42:34.883572782 -0700
@@ -46,8 +46,8 @@
INSTALL_TOP_FILES = README
@ -12,9 +12,9 @@ diff -up a/hdf/examples/Makefile.am b/hdf/examples/Makefile.am
# How to build C programs using h4cc
$(EXTRA_PROG): $(H4CC)
diff -up a/hdf/fortran/examples/Makefile.am b/hdf/fortran/examples/Makefile.am
--- a/hdf/fortran/examples/Makefile.am 2017-01-31 14:41:51.949802471 -0700
+++ b/hdf/fortran/examples/Makefile.am 2017-01-31 14:43:07.968395906 -0700
diff -up hdf/fortran/examples/Makefile.am hdf/fortran/examples/Makefile.am
--- hdf/fortran/examples/Makefile.am 2017-01-31 14:41:51.949802471 -0700
+++ hdf/fortran/examples/Makefile.am 2017-01-31 14:43:07.968395906 -0700
@@ -41,7 +41,7 @@
INSTALL_SCRIPT_FILES = run-fortran-ex.sh
@ -24,9 +24,9 @@ diff -up a/hdf/fortran/examples/Makefile.am b/hdf/fortran/examples/Makefile.am
# How to build Fortran programs using h4fc
$(EXTRA_PROG): $(H4FC)
diff -up a/mfhdf/examples/Makefile.am b/mfhdf/examples/Makefile.am
--- a/mfhdf/examples/Makefile.am 2017-01-31 14:41:51.950802465 -0700
+++ b/mfhdf/examples/Makefile.am 2017-01-31 14:43:23.376314066 -0700
diff -up mfhdf/examples/Makefile.am mfhdf/examples/Makefile.am
--- mfhdf/examples/Makefile.am 2017-01-31 14:41:51.950802465 -0700
+++ mfhdf/examples/Makefile.am 2017-01-31 14:43:23.376314066 -0700
@@ -23,7 +23,7 @@
SD_get_info.c SD_find_sds_by_name.c SD_set_get_dim_info.c \
SD_dimscale_vs_sds.c SD_set_attr.c SD_get_attr.c SD_chunking_example.c
@ -36,9 +36,9 @@ diff -up a/mfhdf/examples/Makefile.am b/mfhdf/examples/Makefile.am
# How to build programs using h4cc
$(EXTRA_PROG): $(H4CC)
diff -up a/mfhdf/fortran/examples/Makefile.am b/mfhdf/fortran/examples/Makefile.am
--- a/mfhdf/fortran/examples/Makefile.am 2017-01-31 14:41:51.952802455 -0700
+++ b/mfhdf/fortran/examples/Makefile.am 2017-01-31 14:43:40.206224672 -0700
diff -up mfhdf/fortran/examples/Makefile.am mfhdf/fortran/examples/Makefile.am
--- mfhdf/fortran/examples/Makefile.am 2017-01-31 14:41:51.952802455 -0700
+++ mfhdf/fortran/examples/Makefile.am 2017-01-31 14:43:40.206224672 -0700
@@ -24,7 +24,7 @@
SD_set_attr.f SD_get_attr.f SD_compress_sds.f SD_chunking_example.f

264
hdf.spec
View File

@ -1,15 +1,11 @@
%if 0%{?rhel} && 0%{?rhel} < 7
%{!?__global_ldflags: %global __global_ldflags -Wl,-z,relro}
%endif
Name: hdf
Version: 4.2.14
Release: 9%{?dist}
Version: 4.2.13
Release: 1%{?dist}
Summary: A general purpose library and file format for storing scientific data
License: BSD
URL: https://portal.hdfgroup.org/
Source0: https://support.hdfgroup.org/ftp/HDF/releases/HDF%{version}/src/%{name}-%{version}.tar.bz2
Source1: h4comp
Group: System Environment/Libraries
URL: http://hdfgroup.org/products/hdf4/index.html
Source0: ftp://ftp.hdfgroup.org/HDF/HDF_Current/src/%{name}-%{version}.tar.bz2
Patch0: hdf-4.2.5-maxavailfiles.patch
Patch1: hdf-ppc.patch
Patch2: hdf-4.2.4-sparc.patch
@ -29,145 +25,72 @@ Patch9: hdf-ppc64le.patch
# Use only if java is disabled
Patch10: hdf-avoid_syntax_error_el6.patch
# Fix java build
Patch11: hdf-build.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
# For destdir/examplesdir patches
BuildRequires: automake, libtool, gcc, gcc-c++
BuildRequires: chrpath
BuildRequires: flex byacc libjpeg-devel zlib-devel %{!?el6:libaec-devel}
BuildRequires: libtirpc-devel
BuildRequires: gcc-gfortran, gcc
BuildRequires: java-devel
BuildRequires: javapackages-tools
BuildRequires: hamcrest
BuildRequires: junit
BuildRequires: slf4j
Requires: %{name}-libs%{?_isa} = %{version}-%{release}
BuildRequires: automake libtool
BuildRequires: flex byacc libjpeg-devel zlib-devel
%if "%{?dist}" != ".el4"
BuildRequires: gcc-gfortran
%else
BuildRequires: gcc-g77
%endif
%description
HDF4 is a general purpose library and file format for storing scientific data.
HDF4 can store two primary objects: datasets and groups. A dataset is
essentially a multidimensional array of data elements, and a group is a
structure for organizing objects in an HDF4 file. Using these two basic
objects, one can create and store almost any kind of scientific data
structure, such as images, arrays of vectors, and structured and unstructured
grids. You can also mix and match them in HDF4 files according to your needs.
HDF is a general purpose library and file format for storing scientific data.
HDF can store two primary objects: datasets and groups. A dataset is
essentially a multidimensional array of data elements, and a group is a
structure for organizing objects in an HDF file. Using these two basic
objects, one can create and store almost any kind of scientific data
structure, such as images, arrays of vectors, and structured and unstructured
grids. You can also mix and match them in HDF files according to your needs.
%package devel
Summary: HDF4 development files
Summary: HDF development files
Group: Development/Libraries
Provides: %{name}-static = %{version}-%{release}
Requires: %{name}-libs%{?_isa} = %{version}-%{release}
Requires: libjpeg-devel%{?_isa}
Requires: libtirpc-devel%{?_isa}
Requires: zlib-devel%{?_isa}
Requires: %{name} = %{version}-%{release}
Requires: libjpeg-devel zlib-devel
%description devel
HDF4 development headers and libraries.
%package libs
Summary: HDF4 shared libraries
%description libs
HDF4 shared libraries.
%package static
Summary: HDF4 static libraries
Requires: %{name}-devel = %{version}-%{release}
%description static
HDF4 static libraries.
%package -n java-hdf
Summary: HDF4 java library
Requires: slf4j
Obsoletes: jhdf < 3.3.1-2
%description -n java-hdf
HDF4 java library
HDF development headers and libraries.
%prep
%setup -q
%patch0 -p1 -b .maxavailfiles
%patch1 -p1 -b .ppc
%patch2 -p1 -b .sparc
%patch3 -p1 -b .s390
%patch4 -p1 -b .arm
%patch5 -p1 -b .destdir
%patch6 -p1 -b .examplesdir
%patch6 -p0 -b .examplesdir
%patch8 -p1 -b .aarch64
%patch9 -p1 -b .ppc64le
%patch11 -p1 -b .build
# Replace jars with system versions
find -name \*.jar -delete
ln -s %{_javadir}/hamcrest/core.jar java/lib/hamcrest-core.jar
ln -s %{_javadir}/junit.jar java/lib/junit.jar
ln -s %{_javadir}/slf4j/api.jar java/lib/slf4j-api-1.7.5.jar
ln -s %{_javadir}/slf4j/nop.jar java/lib/ext/slf4j-nop-1.7.5.jar
ln -s %{_javadir}/slf4j/simple.jar java/lib/ext/slf4j-simple-1.7.5.jar
# Fix test output
junit_ver=$(sed -n '/<version>/{s/^.*>\([0-9]\.[0-9]*\)<.*/\1/;p;q}' /usr/share/maven-poms/junit.pom)
sed -i -e "s/JUnit version .*/JUnit version $junit_ver/" java/test/testfiles/JUnit-*.txt
## Fix syntax error bacause 'CLASSPATH_ENV=$H4_CLASSPATH' line on epel6 builds
# Use only if java is disabled
%if 0%{?rhel} && 0%{?rhel} < 7
%if 0%{?rhel} < 7
%patch10 -p0
%endif
find . -type f -name "*.h" -exec chmod 0644 '{}' \;
find . -type f -name "*.c" -exec chmod 0644 '{}' \;
chmod a-x *hdf/*/*.c hdf/*/*.h
# restore include file timestamps modified by patching
touch -c -r ./hdf/src/hdfi.h.ppc ./hdf/src/hdfi.h
%build
# For destdir/examplesdir patches
autoreconf -vif
# avoid upstream compiler flags settings
rm config/*linux-gnu
# TODO: upstream fix
# libmfhdf.so is link to libdf.so
export CFLAGS="%{optflags} -I%{_includedir}/tirpc"
export LIBS="-ltirpc"
%global _configure ../configure
# Java test needs this but doesn't create it
mkdir -p build-shared/java/lib
cd build-shared
# Java requires shared libraries, fortran requires static
%configure --disable-production --enable-java --disable-netcdf \
--enable-shared=yes --enable-static=no --disable-fortran %{!?el6:--with-szlib} \
--includedir=%{_includedir}/%{name}
%make_build
cd -
mkdir build-static
cd build-static
# Java requires shared libraries, fortran requires static
# Temporary workaround for compiling on GCC-10
%if 0%{?fedora} && 0%{?fedora} > 31
export FCFLAGS="%{build_fflags} -fallow-argument-mismatch"
export FFLAGS="%{build_fflags} -fallow-argument-mismatch"
%endif
export CFLAGS="$RPM_OPT_FLAGS -fPIC"
export FFLAGS="$RPM_OPT_FLAGS -fPIC -ffixed-line-length-none"
%configure --disable-production --disable-java --disable-netcdf \
--enable-shared=no --enable-static=yes --enable-fortran %{!?el6:--with-szlib} \
--includedir=%{_includedir}/%{name}
%make_build
cd -
--includedir=%{_includedir}/%{name} --libdir=%{_libdir}/%{name}
make
# correct the timestamps based on files used to generate the header files
touch -c -r hdf/src/hdf.inc hdf/src/hdf.f90
touch -c -r hdf/src/dffunc.inc hdf/src/dffunc.f90
@ -176,15 +99,8 @@ touch -c -r mfhdf/fortran/mffunc.inc mfhdf/fortran/mffunc.f90
%install
%make_install -C build-static
%make_install -C build-shared
chrpath --delete --keepgoing %{buildroot}%{_bindir}/* %{buildroot}%{_libdir}/%{name}/*.so.* || :
install -pm 644 MANIFEST README.txt release_notes/*.txt %{buildroot}%{_pkgdocdir}/
rm -f %{buildroot}%{_libdir}/%{name}/*.la
rm -f %{buildroot}%{_libdir}/*.la
make install DESTDIR=%{buildroot} INSTALL='install -p'
rm %{buildroot}%{_libdir}/%{name}/*.la
#Don't conflict with netcdf
for file in ncdump ncgen; do
mv %{buildroot}%{_bindir}/$file %{buildroot}%{_bindir}/h$file
@ -193,133 +109,35 @@ for file in ncdump ncgen; do
done
# this is done to have the same timestamp on multiarch setups
touch -c -r README.txt %{buildroot}%{_includedir}/hdf/h4config.h
touch -c -r README.txt %{buildroot}/%{_includedir}/hdf/h4config.h
# Remove an autoconf conditional from the API that is unused and cause
# the API to be different on x86 and x86_64
pushd %{buildroot}%{_includedir}/hdf
pushd %{buildroot}/%{_includedir}/hdf
grep -v 'H4_SIZEOF_INTP' h4config.h > h4config.h.tmp
touch -c -r h4config.h h4config.h.tmp
mv h4config.h.tmp h4config.h
popd
#Fixup headers and scripts for multiarch
%if "%{_lib}" == "lib64"
#sed -i -e s/H5pubconf.h/H5pubconf-64.h/ %{buildroot}%{_includedir}/H5public.h
#mv %{buildroot}%{_includedir}/H5pubconf.h \
#%{buildroot}%{_includedir}/H5pubconf-64.h
for x in h4cc h4fc
do
mv %{buildroot}%{_bindir}/${x} \
%{buildroot}%{_bindir}/${x}-64
install -m 0755 %SOURCE1 %{buildroot}%{_bindir}/${x}
done
%else
#sed -i -e s/H5pubconf.h/H5pubconf-32.h/ %{buildroot}%{_includedir}/H5public.h
#mv %{buildroot}%{_includedir}/H5pubconf.h \
#%{buildroot}%{_includedir}/H5pubconf-32.h
for x in h4cc h4fc
do
mv %{buildroot}%{_bindir}/${x} \
%{buildroot}%{_bindir}/${x}-32
install -m 0755 %SOURCE1 %{buildroot}%{_bindir}/${x}
done
%endif
%check
make -j1 -C build-shared check
make -j1 -C build-static check
make check
%files
%license COPYING
%{_pkgdocdir}/
%exclude %{_pkgdocdir}/examples
%doc MANIFEST README.txt release_notes/*.txt
%exclude %{_defaultdocdir}/%{name}/examples
%{_bindir}/*
%exclude %{_bindir}/h4?c*
%{_libdir}/*.so.0*
%{_mandir}/man1/*.gz
%files devel
%{_bindir}/h4?c*
%{_includedir}/%{name}/
%{_libdir}/*.so
%{_libdir}/*.settings
%{_pkgdocdir}/examples/
%files libs
%{_libdir}/*.so.0*
%files static
%{_libdir}/*.a
%files -n java-hdf
%{_jnidir}/hdf.jar
%{_libdir}/%{name}/libhdf_java.so
%{_libdir}/%{name}/
%{_defaultdocdir}/%{name}/examples
%changelog
* Thu Apr 02 2020 Björn Esser <besser82@fedoraproject.org> - 4.2.14-9
- Fix string quoting for rpm >= 4.16
* Sun Feb 02 2020 Antonio Trande <sagitter@fedoraproject.org> 4.2.14-8
- Temporary workaround for compiling with GCC-10
* Wed Jan 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 4.2.14-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Fri Nov 8 2019 Orion Poplawski <orion@nwra.com> - 4.2.14-6
- Move compile scripts to hdf-devel and allow multilib install (bz#1769326)
- Split shared libraries into hdf-libs sub-package
* Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org> - 4.2.14-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Wed Apr 10 2019 Orion Poplawski <orion@nwra.com> - 4.2.14-4
- Move libraries into %%{_libdir}
* Tue Apr 9 2019 Orion Poplawski <orion@nwra.com> - 4.2.14-3
- Build shared libraries
- Enable java
* Fri Feb 01 2019 Fedora Release Engineering <releng@fedoraproject.org> - 4.2.14-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
* Sat Nov 03 2018 Antonio Trande <sagitter@fedoraproject.org> 4.2.14-1
- Release 4.2.14
* Sun Oct 7 2018 Orion Poplawski <orion@nwra.com> - 4.2.13-11
- Use LIBS instead of LDFLAGS for -ltirpc
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 4.2.13-10
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
* Thu Feb 22 2018 Antonio Trande <sagitter@fedoraproject.org> - 4.2.13-9
- Add gcc BR
* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 4.2.13-8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
* Mon Feb 5 2018 Orion Poplawski <orion@nwra.com> - 4.2.13-7
- Make hdf-devel require libtirpc-devel
* Fri Feb 02 2018 Orion Poplawski <orion@cora.nwra.com> - 4.2.13-6
- Rebuild for gcc 8.0
* Sat Jan 20 2018 Antonio Trande <sagitter@fedoraproject.org> 4.2.13-5
- Enable szlib support
* Wed Jan 17 2018 Pavel Raiskup <praiskup@redhat.com> - 4.2.13-4
- rpc api moved from glibc to libtirpc:
https://fedoraproject.org/wiki/Changes/SunRPCRemoval
* Wed Aug 02 2017 Fedora Release Engineering <releng@fedoraproject.org> - 4.2.13-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 4.2.13-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
* Fri Jul 21 2017 Antonio Trande <sagitter@fedoraproject.org> 4.2.13-1
- Update to 4.2.13

View File

@ -1 +1 @@
SHA512 (hdf-4.2.14.tar.bz2) = 5689525e18bfc6be205a0a21cded68d66630020c9a1445ce5afae41d58246e26ed9ba349da1bb197c31557aba127f51a2b697a868ec7e2747ac6153858171718
SHA512 (hdf-4.2.13.tar.bz2) = d7be2b3650255590b72db4a6931325ec0af256db4b846cfe886c76bf24034901b2ba7a7e546566f426d265b1793287ea3f95d8fbd818a3d018fa6813a4541657