diff --git a/.gitignore b/.gitignore index 71e0fa3..727c971 100644 --- a/.gitignore +++ b/.gitignore @@ -43,101 +43,3 @@ gdalautotest-1.7.0.tar.gz /gdal-2.3.2-fedora.tar.xz /gdalautotest-3.0.1.zip /gdal-3.0.1-fedora.tar.xz -/gdal-3.1.0-fedora.tar.xz -/gdalautotest-3.1.0.tar.gz -/gdal-3.1.1-fedora.tar.xz -/gdalautotest-3.1.1.tar.gz -/gdal-3.1.2-fedora.tar.xz -/gdalautotest-3.1.2.tar.gz -/gdal-3.1.3-fedora.tar.xz -/gdalautotest-3.1.3.tar.gz -/gdal-3.1.4-fedora.tar.xz -/gdalautotest-3.1.4.tar.gz -/gdalautotest-3.2.0.tar.gz -/gdal-3.2.0-fedora.tar.xz -/gdal-3.2.1-fedora.tar.xz -/gdalautotest-3.2.1.tar.gz -/gdalautotest-3.2.2.tar.gz -/gdal-3.2.2-fedora.tar.xz -/gdalautotest-3.3.0.tar.gz -/gdal-3.3.0-fedora.tar.xz -/gdal-3.3.1-fedora.tar.xz -/gdalautotest-3.3.1.tar.gz -/gdal-3.3.2-fedora.tar.xz -/gdalautotest-3.3.2.tar.gz -/gdal-3.3.3-fedora.tar.xz -/gdalautotest-3.3.3.tar.gz -/gdal-3.4.0-fedora.tar.xz -/gdalautotest-3.4.0.tar.gz -/gdal-3.4.1-fedora.tar.xz -/gdalautotest-3.4.1.tar.gz -/gdal-3.4.2-fedora.tar.xz -/gdalautotest-3.4.2.tar.gz -/gdal-3.4.3-fedora.tar.xz -/gdalautotest-3.4.3.tar.gz -/gdalautotest-3.5.0.tar.gz -/gdal-3.5.0-fedora.tar.xz -/gdalautotest-3.5.1.tar.gz -/gdal-3.5.1-fedora.tar.xz -/gdal-3.5.2-fedora.tar.xz -/gdalautotest-3.5.2.tar.gz -/gdal-3.5.3-fedora.tar.xz -/gdalautotest-3.5.3.tar.gz -/gdal-3.6.0-fedora.tar.xz -/gdalautotest-3.6.0.tar.gz -/gdalautotest-3.6.1.tar.gz -/gdal-3.6.1.tar.xz -/gdal-3.6.1-fedora.tar.xz -/gdal-3.6.2-fedora.tar.xz -/gdalautotest-3.6.2.tar.gz -/gdal-3.6.3-fedora.tar.xz -/gdalautotest-3.6.3.tar.gz -/gdal-3.6.4-fedora.tar.xz -/gdalautotest-3.6.4.tar.gz -/gdal-3.7.0-fedora.tar.xz -/gdalautotest-3.7.0.tar.gz -/gdal-3.7.1-fedora.tar.xz -/gdalautotest-3.7.1.tar.gz -/gdal-3.7.2-fedora.tar.xz -/gdalautotest-3.7.2.tar.gz -/gdal-3.7.3-fedora.tar.xz -/gdalautotest-3.7.3.tar.gz -/gdal-3.8.0-fedora.tar.xz -/gdalautotest-3.8.0.tar.gz -/gdal-3.8.1-fedora.tar.xz -/gdalautotest-3.8.1.tar.gz -/gdal-3.8.2-fedora.tar.xz -/gdalautotest-3.8.2.tar.gz -/gdal-3.8.3-fedora.tar.xz -/gdalautotest-3.8.3.tar.gz -/gdal-3.8.4-fedora.tar.xz -/gdalautotest-3.8.4.tar.gz -/gdal-3.8.5-fedora.tar.xz -/gdalautotest-3.8.5.tar.gz -/gdal-3.9.0-fedora.tar.xz -/gdalautotest-3.9.0.tar.gz -/gdal-3.9.1-fedora.tar.xz -/gdalautotest-3.9.1.tar.gz -/gdal-3.9.2-fedora.tar.xz -/gdalautotest-3.9.2.tar.gz -/gdalautotest-3.9.3.tar.gz -/gdal-3.9.3-fedora.tar.xz -/gdal-3.10.0-fedora.tar.xz -/gdalautotest-3.10.0.tar.gz -/gdal-3.10.1-fedora.tar.xz -/gdalautotest-3.10.1.tar.gz -/gdal-3.10.2-fedora.tar.xz -/gdalautotest-3.10.2.tar.gz -/gdal-3.10.3-fedora.tar.xz -/gdalautotest-3.10.3.tar.gz -/gdal-3.11.3-fedora.tar.xz -/gdalautotest-3.11.3.tar.gz -/gdal-3.11.4-fedora.tar.xz -/gdalautotest-3.11.4.tar.gz -/gdal-3.11.5-fedora.tar.xz -/gdalautotest-3.11.5.tar.gz -/gdal-3.12.0-fedora.tar.xz -/gdal-3.12.0.tar.xz -/gdalautotest-3.12.0.zip -/gdal-3.12.1-fedora.tar.xz -/gdalautotest-3.12.1.zip diff --git a/cpl-config.h b/cpl-config.h deleted file mode 100644 index 456693f..0000000 --- a/cpl-config.h +++ /dev/null @@ -1,11 +0,0 @@ -#include - -#if __WORDSIZE == 32 -#include "gdal/cpl_config-32.h" -#else -#if __WORDSIZE == 64 -#include "gdal/cpl_config-64.h" -#else -#error "Unknown word size" -#endif -#endif diff --git a/gdal-1.9.0-java.patch b/gdal-1.9.0-java.patch new file mode 100644 index 0000000..b0f1871 --- /dev/null +++ b/gdal-1.9.0-java.patch @@ -0,0 +1,11 @@ +diff -rupN --no-dereference gdal-3.0.4-fedora/swig/java/java.opt gdal-3.0.4-fedora-new/swig/java/java.opt +--- gdal-3.0.4-fedora/swig/java/java.opt 2020-01-28 11:13:12.000000000 +0100 ++++ gdal-3.0.4-fedora-new/swig/java/java.opt 2020-02-06 00:23:36.321286290 +0100 +@@ -7,6 +7,6 @@ JAVADOC=$(JAVA_HOME)/bin/javadoc + JAVAC=$(JAVA_HOME)/bin/javac + JAVA=$(JAVA_HOME)/bin/java + JAR=$(JAVA_HOME)/bin/jar +-JAVA_INCLUDE=-I$(JAVA_HOME)/include -I$(JAVA_HOME)/include/linux ++JAVA_INCLUDE=-I/usr/lib/jvm/java/include/ -I/usr/lib/jvm/java/include/linux + + diff --git a/gdal-cleaner.sh b/gdal-cleaner.sh index 2859e69..beb0059 100755 --- a/gdal-cleaner.sh +++ b/gdal-cleaner.sh @@ -1,38 +1,22 @@ #!/bin/bash -set -e +VERSION="3.0.4" -if [ $# -lt 1 ]; then - echo "Usage: $0 version pre" - exit 1 -fi +tar xvf gdal-"${VERSION}".tar.xz -VERSION="$1" -PRE="$2" +mv gdal-"${VERSION}"{,-fedora} && pushd gdal-"${VERSION}"-fedora -if [ ! -f "gdal-"${VERSION}${PRE}".tar.xz" ]; then - wget https://download.osgeo.org/gdal/${VERSION}/gdal-${VERSION}${PRE}.tar.xz -fi +rm data/cubewerx_extra.wkt +rm data/esri_extra.wkt +rm data/esri_Wisconsin_extra.wkt +rm data/esri_StatePlane_extra.wkt +rm data/ecw_cs.wkt -if [ -d gdal-"${VERSION}" ] || [ -d gdal-"${VERSION}"-fedora ]; then - echo "gdal-${VERSION} or gdal-${VERSION}-fedora in the way, please remove and rerun this script" - exit 1 -fi - -tar xvf gdal-"${VERSION}${PRE}".tar.xz -mv gdal-"${VERSION}${PRE}"{,-fedora} && pushd gdal-"${VERSION}${PRE}"-fedora - -rm ogr/data/cubewerx_extra.wkt -rm ogr/data/esri_StatePlane_extra.wkt -rm ogr/data/ecw_cs.wkt - - -sed -i 's|${CMAKE_CURRENT_SOURCE_DIR}/data/cubewerx_extra.wkt||' ogr/CMakeLists.txt -sed -i 's|${CMAKE_CURRENT_SOURCE_DIR}/data/esri_StatePlane_extra.wkt||' ogr/CMakeLists.txt -sed -i 's|${CMAKE_CURRENT_SOURCE_DIR}/data/ecw_cs.wkt||' ogr/CMakeLists.txt +#Really necessary? +rm -r swig/php popd #TODO: Insert Provenance file -tar cvfJ gdal-"${VERSION}${PRE}"-fedora.tar.xz gdal-"${VERSION}${PRE}"-fedora +tar cvfJ gdal-"${VERSION}"-fedora.tar.xz gdal-"${VERSION}"-fedora diff --git a/gdal-completion.patch b/gdal-completion.patch new file mode 100644 index 0000000..0c195f1 --- /dev/null +++ b/gdal-completion.patch @@ -0,0 +1,12 @@ +diff -rupN --no-dereference gdal-3.0.4-fedora/scripts/GNUmakefile gdal-3.0.4-fedora-new/scripts/GNUmakefile +--- gdal-3.0.4-fedora/scripts/GNUmakefile 2020-01-28 11:13:13.000000000 +0100 ++++ gdal-3.0.4-fedora-new/scripts/GNUmakefile 2020-02-06 00:23:36.089287463 +0100 +@@ -5,6 +5,6 @@ completion: + + install: + if test "x`pkg-config --version 2>/dev/null`" != "x" -a "x`pkg-config --variable=compatdir bash-completion`" != "x"; then \ +- $(INSTALL_DIR) $(DESTDIR)${prefix}`pkg-config --variable=compatdir bash-completion` ; \ +- cp gdal-bash-completion.sh $(DESTDIR)${prefix}`pkg-config --variable=compatdir bash-completion`; \ ++ $(INSTALL_DIR) $(DESTDIR)`pkg-config --variable=compatdir bash-completion` ; \ ++ $(INSTALL_DATA) gdal-bash-completion.sh $(DESTDIR)`pkg-config --variable=compatdir bash-completion`/gdal; \ + fi diff --git a/gdal-config b/gdal-config deleted file mode 100755 index 0a258a7..0000000 --- a/gdal-config +++ /dev/null @@ -1,11 +0,0 @@ -#!/bin/bash - -ARCH=$(uname -m) -case $ARCH in -x86_64 | ppc64 | ppc64le | ia64 | s390x | sparc64 | alpha | alphaev6 | aarch64 | riscv64 ) -gdal-config-64 ${*} -;; -*) -gdal-config-32 ${*} -;; -esac diff --git a/gdal.spec b/gdal.spec index 3cb8526..d7ca507 100644 --- a/gdal.spec +++ b/gdal.spec @@ -1,20 +1,19 @@ -# Without this the build time baloons from 1 hour to more than 46 on i686 -# https://bugzilla.redhat.com/show_bug.cgi?id=2390105 -%undefine _preserve_static_debuginfo -%define _find_debuginfo_opts --no-ar-files +#TODO: Create script to make clean tarball +#TODO: msg needs to have PublicDecompWT.zip from EUMETSAT, which is not free; +# Building without msg therefore +#TODO: e00compr bundled? +#TODO: There are tests for bindings -- at least for Perl +#TODO: Java has a directory with test data and a build target called test +# It uses %%{JAVA_RUN}; make test seems to work in the build directory +#TODO: e00compr source is the same in the package and bundled in GDAL +#TODO: Consider doxy patch from Suse, setting EXTRACT_LOCAL_CLASSES = NO -%global run_tests 1 +# Tests can be of a different version +%global testversion 3.0.4 +%global run_tests 0 %global bashcompletiondir %(pkg-config --variable=compatdir bash-completion) -# We have multilib triage -%if "%{_lib}" == "lib" - %global cpuarch 32 -%else - %global cpuarch 64 -%endif - - %if 0%{?bootstrap} %global with_mysql 0 %global mysql --without-mysql @@ -33,220 +32,150 @@ %global spatialite "--with-spatialite" %endif -%if 0%{?fedora} -%bcond_without mingw +%bcond_with python2 %bcond_without python3 -%ifarch %{java_arches} -%bcond_without java -%else -%bcond_with java -%endif -%else -%bcond_with mingw -%bcond_with python3 -%bcond_with java -%endif - -#global pre beta1 +# No ppc64 build for spatialite in EL6 +# https://bugzilla.redhat.com/show_bug.cgi?id=663938 +%if 0%{?rhel} == 6 +%ifnarch ppc64 +%global with_spatialite 0 +%global spatialite --without-spatialite +%endif +%endif Name: gdal -Version: 3.12.1 -Release: 1%{?dist} +Version: 3.0.4 +Release: 3%{?dist}%{?bootstrap:.%{bootstrap}.bootstrap} Summary: GIS file format library License: MIT URL: http://www.gdal.org # Source0: http://download.osgeo.org/gdal/%%{version}/gdal-%%{version}.tar.xz # See PROVENANCE.TXT-fedora and the cleaner script for details! -Source0: %{name}-%{version}%{?pre:%pre}-fedora.tar.xz -Source1: http://download.osgeo.org/%{name}/%{version}/%{name}autotest-%{version}%{?pre:%pre}.zip -# Multilib compatible cpl-config.h header -Source2: cpl-config.h -# Multilib compatible gdal-config script -Source3: gdal-config -Source4: PROVENANCE.TXT-fedora +Source0: %{name}-%{version}-fedora.tar.xz +Source1: http://download.osgeo.org/%{name}/%{testversion}/%{name}autotest-%{testversion}.tar.gz # Cleaner script for the tarball -Source5: %{name}-cleaner.sh +Source3: %{name}-cleaner.sh -# Add some utils to the default install target -Patch0: gdal_utils.patch +Source4: PROVENANCE.TXT-fedora -BuildRequires: cmake +# Fix bash-completion install dir +Patch1: %{name}-completion.patch +# Fedora uses Alternatives for Java +Patch2: %{name}-1.9.0-java.patch +# Ensure rpc/types.h is found by dods driver (indirectly required by libdap/XDRUtils.h) +Patch3: gdal_tirpcinc.patch +# Use libtool to create libiso8211.a, otherwise broken static lib is created since object files are compiled through libtool +Patch4: gdal_iso8211.patch +# Fix makefiles installing libtool wrappers instead of actual executables +Patch5: gdal_installapps.patch +# Fix build against 2.0.22 +Patch6: gdal_jasper.patch + +BuildRequires: gcc BuildRequires: gcc-c++ - -BuildRequires: bison -BuildRequires: curl-devel -BuildRequires: expat-devel -BuildRequires: geos-devel -BuildRequires: json-c-devel -BuildRequires: libarchive-devel -BuildRequires: libpng-devel -BuildRequires: libpq-devel -BuildRequires: libtiff-devel -BuildRequires: libtirpc-devel -BuildRequires: mariadb-connector-c-devel -BuildRequires: openjpeg2-devel -BuildRequires: pcre2-devel -BuildRequires: proj-devel >= 5.2.0 -BuildRequires: sqlite-devel -BuildRequires: swig -BuildRequires: unixODBC-devel -BuildRequires: unzip -BuildRequires: xz-devel -BuildRequires: zlib-devel - -%if 0%{?fedora} -# Fedora dependencies +BuildRequires: libtool +BuildRequires: automake +BuildRequires: autoconf +BuildRequires: ant +# No armadillo in EL5 BuildRequires: armadillo-devel -BuildRequires: blosc-devel +BuildRequires: bash-completion BuildRequires: cfitsio-devel -BuildRequires: CharLS-devel +# No CharLS in EL5 +#BuildRequires: CharLS-devel +BuildRequires: chrpath +BuildRequires: curl-devel +BuildRequires: doxygen +BuildRequires: expat-devel +BuildRequires: fontconfig-devel +# No freexl in EL5 BuildRequires: freexl-devel -BuildRequires: giflib-devel -BuildRequires: gtest-devel +BuildRequires: g2clib-static +BuildRequires: geos-devel >= 3.7.1 +BuildRequires: ghostscript BuildRequires: hdf-devel +BuildRequires: hdf-static BuildRequires: hdf5-devel -%ifnarch %{ix86} %{arm} -BuildRequires: libarrow-devel -BuildRequires: libarrow-dataset-devel -%endif -BuildRequires: libdap-devel -BuildRequires: libdeflate-devel +BuildRequires: java-devel >= 1:1.6.0 +BuildRequires: jasper-devel +BuildRequires: jpackage-utils +# For 'mvn_artifact' and 'mvn_install' +BuildRequires: javapackages-local +BuildRequires: json-c-devel BuildRequires: libgeotiff-devel +# No libgta in EL5 BuildRequires: libgta-devel + BuildRequires: libjpeg-devel +BuildRequires: libpng-devel +# No libkml in EL BuildRequires: libkml-devel -BuildRequires: liblerc-devel + %if %{with_spatialite} BuildRequires: libspatialite-devel %endif + +BuildRequires: libtiff-devel +# No libwebp in EL 5 and 6 BuildRequires: libwebp-devel -BuildRequires: libzstd-devel +BuildRequires: libtool +BuildRequires: giflib-devel +BuildRequires: netcdf-devel +BuildRequires: libdap-devel +BuildRequires: librx-devel %if 0%{?with_mysql} BuildRequires: mariadb-connector-c-devel %endif -BuildRequires: muParser-devel -BuildRequires: netcdf-devel -BuildRequires: openexr-devel -BuildRequires: openssl-devel-engine -%ifnarch %{ix86} %{arm} -BuildRequires: parquet-libs-devel -%endif +BuildRequires: pcre-devel +BuildRequires: ogdi-devel +BuildRequires: perl-devel +BuildRequires: perl-generators +BuildRequires: openjpeg2-devel +BuildRequires: perl(ExtUtils::MakeMaker) +BuildRequires: %{_bindir}/pkg-config %if 0%{?with_poppler} BuildRequires: poppler-devel %endif -BuildRequires: qhull-devel -BuildRequires: xerces-c-devel -%else -# RHEL dependencies -BuildRequires: libjpeg-turbo-devel -BuildRequires: openssl-devel +BuildRequires: libpq-devel +BuildRequires: proj-devel >= 5.2.0 +%if %{with python2} +BuildRequires: python2-devel +BuildRequires: python2-numpy %endif - -# Python %if %{with python3} BuildRequires: python3-devel -BuildRequires: python3-filelock BuildRequires: python3-numpy -BuildRequires: python3-setuptools -BuildRequires: python3dist(pytest) >= 3.6 -BuildRequires: python3dist(lxml) >= 4.5.1 %endif +BuildRequires: sqlite-devel +BuildRequires: swig +BuildRequires: unixODBC-devel +BuildRequires: xerces-c-devel +BuildRequires: xz-devel +BuildRequires: zlib-devel +BuildRequires: libtirpc-devel -# Java -%if %{with java} -# For 'mvn_artifact' and 'mvn_install' -BuildRequires: ant-openjdk25 -BuildRequires: java-devel >= 1:1.6.0 -BuildRequires: javapackages-local-openjdk25 -BuildRequires: jpackage-utils -%endif +BuildRequires: /usr/bin/epstopdf +BuildRequires: /usr/bin/latex +BuildRequires: /usr/bin/dvips +BuildRequires: tex(newunicodechar.sty) -# MinGW -%if %{with mingw} -BuildRequires: mingw32-filesystem -BuildRequires: mingw32-gcc-c++ -BuildRequires: mingw32-cfitsio -BuildRequires: mingw32-curl -BuildRequires: mingw32-dlfcn -BuildRequires: mingw32-expat -BuildRequires: mingw32-freexl -BuildRequires: mingw32-geos -BuildRequires: mingw32-giflib -BuildRequires: mingw32-json-c -BuildRequires: mingw32-libarchive -BuildRequires: mingw32-libgeotiff -BuildRequires: mingw32-libgta -BuildRequires: mingw32-libjpeg-turbo -BuildRequires: mingw32-libkml -BuildRequires: mingw32-liblerc -BuildRequires: mingw32-libpng -BuildRequires: mingw32-libspatialite -BuildRequires: mingw32-libtiff -BuildRequires: mingw32-libwebp -BuildRequires: mingw32-openexr -BuildRequires: mingw32-openjpeg2 -BuildRequires: mingw32-pcre2 -BuildRequires: mingw32-poppler -BuildRequires: mingw32-postgresql -BuildRequires: mingw32-proj -BuildRequires: mingw32-sqlite -BuildRequires: mingw32-xerces-c -BuildRequires: mingw32-xz-libs -BuildRequires: mingw32-zlib -BuildRequires: mingw32-zstd -%if %{with python3} -BuildRequires: mingw32-python3 -BuildRequires: mingw32-python3-numpy -BuildRequires: mingw32-python3-setuptools -%endif -BuildRequires: mingw64-filesystem -BuildRequires: mingw64-gcc-c++ -BuildRequires: mingw64-cfitsio -BuildRequires: mingw64-curl -BuildRequires: mingw64-dlfcn -BuildRequires: mingw64-expat -BuildRequires: mingw64-freexl -BuildRequires: mingw64-geos -BuildRequires: mingw64-giflib -BuildRequires: mingw64-json-c -BuildRequires: mingw64-libarchive -BuildRequires: mingw64-libgeotiff -BuildRequires: mingw64-libgta -BuildRequires: mingw64-libjpeg-turbo -BuildRequires: mingw64-libkml -BuildRequires: mingw64-liblerc -BuildRequires: mingw64-libpng -BuildRequires: mingw64-libspatialite -BuildRequires: mingw64-libtiff -BuildRequires: mingw64-libwebp -BuildRequires: mingw64-openexr -BuildRequires: mingw64-openjpeg2 -BuildRequires: mingw64-pcre2 -BuildRequires: mingw64-poppler -BuildRequires: mingw64-postgresql -BuildRequires: mingw64-proj -BuildRequires: mingw64-sqlite -BuildRequires: mingw64-xerces-c -BuildRequires: mingw64-xz-libs -BuildRequires: mingw64-zlib -BuildRequires: mingw64-zstd -%if %{with python3} -BuildRequires: mingw64-python3 -BuildRequires: mingw64-python3-numpy -BuildRequires: mingw64-python3-setuptools -%endif -%endif - -%if 0%{?fedora} +# Run time dependency for gpsbabel driver Requires: gpsbabel -%endif + Requires: %{name}-libs%{?_isa} = %{version}-%{release} +# We have multilib triage +%if "%{_lib}" == "lib" + %global cpuarch 32 +%else + %global cpuarch 64 +%endif +#TODO: Description on the lib? %description Geospatial Data Abstraction Library (GDAL/OGR) is a cross platform C++ translator library for raster and vector geospatial data formats. @@ -276,7 +205,6 @@ Provides: bundled(degrib) = 2.14 This package contains the GDAL file format library. -%if %{with java} %package java Summary: Java modules for the GDAL file format library Requires: jpackage-utils @@ -293,6 +221,30 @@ BuildArch: noarch %description javadoc This package contains the API documentation for %{name}. + + +%package perl +Summary: Perl modules for the GDAL file format library +Requires: %{name}-libs%{?_isa} = %{version}-%{release} +Requires: perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo $version)) + +%description perl +The GDAL Perl modules provide support to handle multiple GIS file formats. + +%if %{with python2} +%package -n python2-gdal +%{?python_provide:%python_provide python2-gdal} +# Remove before F30 +Provides: %{name}-python = %{version}-%{release} +Provides: %{name}-python%{?_isa} = %{version}-%{release} +Obsoletes: %{name}-python < %{version}-%{release} +Summary: Python modules for the GDAL file format library +Requires: numpy +Requires: %{name}-libs%{?_isa} = %{version}-%{release} + +%description -n python2-gdal +The GDAL Python modules provide support to handle multiple GIS file formats. +The package also includes a couple of useful utilities in Python. %endif @@ -302,1103 +254,443 @@ This package contains the API documentation for %{name}. Summary: Python modules for the GDAL file format library Requires: python3-numpy Requires: %{name}-libs%{?_isa} = %{version}-%{release} +Obsoletes: gdal-python3 < 2.3.1 +Provides: gdal-python3 = %version-%release %description -n python3-gdal The GDAL Python 3 modules provide support to handle multiple GIS file formats. +%endif +%if %{with python2} || %{with python3} %package python-tools Summary: Python tools for the GDAL file format library -Requires: python3-gdal +Requires: %{?with_python3:python3-gdal}%{?!with_python3:python2-gdal} %description python-tools The GDAL Python package provides number of tools for programming and manipulating GDAL file format library +%endif + + +%package doc +Summary: Documentation for GDAL +BuildArch: noarch + +%description doc +This package contains documentation for GDAL. # We don't want to provide private Python extension libs +%if %{with python2} && %{with python3} +%global __provides_exclude_from ^(%{python2_sitearch}|%{python3_sitearch})/.*\.so$ +%elif %{with python2} +%global __provides_exclude_from ^%{python2_sitearch}/.*\.so$ +%elif %{with_python3} %global __provides_exclude_from ^%{python3_sitearch}/.*\.so$ %endif -%if %{with mingw} -%package -n mingw32-%{name} -Summary: MinGW Windows GDAL library -# GDAL bundles a modified copy of g2clib and degrib -# See frmts/grib/degrib/README.TXT -Provides: bundled(g2lib) = 1.6.0 -Provides: bundled(degrib) = 2.14 -BuildArch: noarch - -%description -n mingw32-%{name} -MinGW Windows GDAL library. - - -%package -n mingw32-%{name}-tools -Summary: MinGW Windows GDAL library tools -BuildArch: noarch - -%description -n mingw32-%{name}-tools -MinGW Windows GDAL library tools. - - -%if %{with python3} -%package -n mingw32-python3-%{name} -Summary: MinGW Windows Python3 GDAL bindings - -%description -n mingw32-python3-%{name} -MinGW Windows Python3 GDAL bindings. -%endif - - -%package -n mingw64-%{name} -Summary: MinGW Windows GDAL library -# GDAL bundles a modified copy of g2clib and degrib -# See frmts/grib/degrib/README.TXT -Provides: bundled(g2lib) = 1.6.0 -Provides: bundled(degrib) = 2.14 -BuildArch: noarch - -%description -n mingw64-%{name} -MinGW Windows GDAL library. - - -%package -n mingw64-%{name}-tools -Summary: MinGW Windows GDAL library tools -BuildArch: noarch - -%description -n mingw64-%{name}-tools -MinGW Windows GDAL library tools. - - -%if %{with python3} -%package -n mingw64-python3-%{name} -Summary: MinGW Windows Python3 GDAL bindings - -%description -n mingw64-python3-%{name} -MinGW Windows Python3 GDAL bindings. -%endif - -%{?mingw_debug_package} -%endif %prep -%autosetup -N -p1 -n %{name}-%{version}%{?pre:%pre}-fedora +%autosetup -p1 -n %{name}-%{version}-fedora -a 1 # Delete bundled libraries -# rm -rf frmts/zlib +rm -rf frmts/zlib rm -rf frmts/png/libpng rm -rf frmts/gif/giflib rm -rf frmts/jpeg/libjpeg rm -rf frmts/jpeg/libjpeg12 rm -rf frmts/gtiff/libgeotiff -# FIXME: frmts/libertiff/libtiff_codecs.h requires tif_lzw.c, tif_packbits.c, tif_lerc.c -# rm -rf frmts/gtiff/libtiff -rm -rf mrf/LERCV1 -rm -rf third_party/LercLib - -# Setup autotest directory -unzip %{SOURCE1} -mv %{name}autotest-%{version}%{?pre:%pre} autotest - -# Need to patch autotest -%autopatch -p1 +rm -rf frmts/gtiff/libtiff # Copy in PROVENANCE.TXT-fedora -cp -a %{SOURCE4} . +cp -p %SOURCE4 . + +# Sanitize permissions +chmod 644 apps/gnmanalyse.cpp apps/gnmmanage.cpp + +# Adjust check for LibDAP version +# http://trac.osgeo.org/gdal/ticket/4545 +%if %cpuarch == 64 + sed -i 's|with_dods_root/lib|with_dods_root/lib64|' configure.ac +%endif + +# Fix mandir +sed -i "s|^mandir=.*|mandir='\${prefix}/share/man'|" configure.ac %build -%cmake \ - -DCMAKE_INSTALL_INCLUDEDIR=include/gdal \ - -DGDAL_USE_EXTERNAL_LIB=ON \ - -DGDAL_USE_INTERNAL_LIBS=OFF \ -%if %{with java} - -DGDAL_JAVA_INSTALL_DIR=%{_jnidir}/%{name} \ - -DGDAL_JAVA_JNI_INSTALL_DIR=%{_jnidir}/%{name} \ -%endif -%if ! 0%{?fedora} - -DGDAL_BUILD_OPTIONAL_DRIVERS=OFF \ - -DOGR_BUILD_OPTIONAL_DRIVERS=OFF \ - -DBUILD_PYTHON_BINDINGS=OFF \ - -DBUILD_TESTING=OFF -%endif -%cmake_build +# For future reference: +# epsilon: Stalled review -- https://bugzilla.redhat.com/show_bug.cgi?id=660024 +# Building without pgeo driver, because it drags in Java +autoreconf -ifv -%if %{with mingw} -%mingw_cmake \ - -DBUILD_TESTING=OFF \ - -DCMAKE_INSTALL_INCLUDEDIR=include/gdal \ - -DGDAL_USE_EXTERNAL_LIB=ON \ - -DGDAL_USE_INTERNAL_LIBS=OFF -%mingw_make_build -%endif +%configure \ + --with-autoload=%{_libdir}/%{name}plugins \ + --datadir=%{_datadir}/%{name}/ \ + --includedir=%{_includedir}/%{name}/ \ + --prefix=%{_prefix} \ + --with-armadillo \ + --with-curl \ + --with-cfitsio \ + --with-dods-root=%{_prefix} \ + --with-expat \ + --with-freexl \ + --with-geos \ + --with-geotiff \ + --with-gif \ + --with-gta \ + --with-hdf4 \ + --with-hdf5 \ + --with-jasper \ + --with-java \ + --with-jpeg \ + --with-libjson-c \ + --without-jpeg12 \ + --with-liblzma \ + --with-libtiff \ + --with-libz \ + --without-mdb \ + --without-msg \ + %{mysql} \ + --with-netcdf \ + --with-odbc \ + --with-ogdi \ + --with-openjpeg \ + --with-pcraster \ + --with-pg \ + --with-png \ + %{poppler} \ + --with-proj \ + %{spatialite} \ + --with-sqlite3 \ + --with-threads \ + --with-webp \ + --with-xerces \ + --enable-shared \ + --with-libkml + +%make_build +make man +make docs + +# Build some utilities, as requested in BZ #1271906 +make -C ogr/ogrsf_frmts/s57 all +make -C frmts/iso8211 all + +# Make Java module and documentation +pushd swig/java + make + ant maven +popd +%mvn_artifact swig/java/build/maven/gdal-%version.pom swig/java/build/maven/gdal-%version.jar + +# Make Python modules +pushd swig/python + %{?with_python2:%py2_build} + %{?with_python3:%py3_build} +popd + +# Make Perl modules +pushd swig/perl + perl Makefile.PL INSTALLDIRS=vendor + %make_build +popd + +# --------- Documentation ---------- + +# No useful documentation in swig +%global docdirs apps doc doc/br doc/ru ogr ogr/ogrsf_frmts frmts/gxf frmts/iso8211 frmts/pcidsk frmts/sdts frmts/vrt ogr/ogrsf_frmts/dgn/ +for docdir in %{docdirs}; do + pushd $docdir + if [ ! -f Doxyfile ]; then + doxygen -g + else + doxygen -u + fi + if [ $docdir == "doc/ru" ]; then + sed -i -e 's|^OUTPUT_LANGUAGE|OUTPUT_LANGUAGE = Russian\n#OUTPUT_LANGUAGE |' Doxyfile + fi + rm -rf html + doxygen + popd +done %install -%cmake_install +pushd swig/python + %{?with_python2:%py2_install} + %{?with_python3:%py3_install} +popd -%if %{with mingw} -%mingw_make_install -# Delete data from cross packages -rm -r %{buildroot}%{mingw32_datadir} -rm -r %{buildroot}%{mingw64_datadir} +%make_install -C swig/perl + +%make_install install-man + +install -pm 755 ogr/ogrsf_frmts/s57/s57dump %{buildroot}%{_bindir} +install -pm 755 frmts/iso8211/8211createfromxml %{buildroot}%{_bindir} +install -pm 755 frmts/iso8211/8211dump %{buildroot}%{_bindir} +install -pm 755 frmts/iso8211/8211view %{buildroot}%{_bindir} + +# Directory for auto-loading plugins +mkdir -p %{buildroot}%{_libdir}/%{name}plugins + +#TODO: Don't do that? +find %{buildroot}%{perl_vendorarch} -name "*.dox" -exec rm -rf '{}' \; +rm %{buildroot}%{perl_archlib}/perllocal.pod + +%if %{without python} && %{without python3} +rm %buildroot%_mandir/man1/{pct2rgb,rgb2pct}.1 %endif -# Multilib -# - cpl_config.h is arch-dependent (contains various SIZEOF defines) -# - gdal-config stores arch-specific information -mv %{buildroot}%{_includedir}/%{name}/cpl_config.h %{buildroot}%{_includedir}/%{name}/cpl_config-%{cpuarch}.h -cp -a %{SOURCE2} %{buildroot}%{_includedir}/%{name}/cpl_config.h -mv %{buildroot}%{_bindir}/%{name}-config %{buildroot}%{_bindir}/%{name}-config-%{cpuarch} -cp -a %{SOURCE3} %{buildroot}%{_bindir}/%{name}-config +# Correct permissions +#TODO and potential ticket: Why are the permissions not correct? +find %{buildroot}%{perl_vendorarch} -name "*.so" -exec chmod 755 '{}' \; +find %{buildroot}%{perl_vendorarch} -name "*.pm" -exec chmod 644 '{}' \; -# FIXME Fix shebangs -find %{buildroot} -name '*.py' -exec sed -i 's|^#!python$|#!/usr/bin/python3|g' {} \; +# install Java plugin +%mvn_install -J swig/java/java -%if %{without python3} -# completions and manpages for python scripts regardless of BUILD_PYTHON_BINDINGS -for p in gdal2tiles gdal2xyz gdal_calc gdal_edit gdal_fillnodata gdal_merge gdal_pansharpen \ - gdal_polygonize gdal_proximity gdal_retile gdal_sieve gdalchksum gdalcompare \ - gdalident gdalimport gdalmove ogr_layer_algebra ogrmerge pct2rgb rgb2pct ; do - rm -f %{buildroot}%{_datadir}/bash-completion/completions/${p}.py - rm -f %{buildroot}%{_mandir}/man1/${p}.1* +# 775 on the .so? +# copy JNI libraries and links, non versioned link needed by JNI +# What is linked here? +mkdir -p %{buildroot}%{_jnidir}/%{name} +cp -pl swig/java/.libs/*.so* \ + %{buildroot}%{_jnidir}/%{name}/ +chrpath --delete %{buildroot}%{_jnidir}/%{name}/*jni.so* + +# Install Java API documentation in the designated place +mkdir -p %{buildroot}%{_javadocdir}/%{name} +cp -pr swig/java/java/org %{buildroot}%{_javadocdir}/%{name} + +# Install refmans +for docdir in %{docdirs}; do + pushd $docdir + path=%{_builddir}/%{name}-%{version}-fedora/refman + mkdir -p $path/html/$docdir + cp -r html $path/html/$docdir + popd done -%endif -%if %{with mingw} -%mingw_debug_install_post -%endif +# Install formats documentation +for dir in gdal_frmts ogrsf_frmts; do + mkdir -p $dir + find frmts -name "*.html" -exec install -p -m 644 '{}' $dir \; +done + +#TODO: Header date lost during installation +# Install multilib cpl_config.h bz#430894 +install -p -D -m 644 port/cpl_config.h %{buildroot}%{_includedir}/%{name}/cpl_config-%{cpuarch}.h +# Create universal multilib cpl_config.h bz#341231 +# The problem is still there in 1.9. +#TODO: Ticket? + +#>>>>>>>>>>>>> +cat > %{buildroot}%{_includedir}/%{name}/cpl_config.h < + +#if __WORDSIZE == 32 +#include "gdal/cpl_config-32.h" +#else +#if __WORDSIZE == 64 +#include "gdal/cpl_config-64.h" +#else +#error "Unknown word size" +#endif +#endif +EOF +#<<<<<<<<<<<<< +touch -r NEWS port/cpl_config.h + + +# Multilib gdal-config +# Rename the original script to gdal-config-$arch (stores arch-specific information) +# and create a script to call one or the other -- depending on detected architecture +# TODO: The extra script will direct you to 64 bit libs on +# 64 bit systems -- whether you like that or not +mv %{buildroot}%{_bindir}/%{name}-config %{buildroot}%{_bindir}/%{name}-config-%{cpuarch} +#>>>>>>>>>>>>> +cat > %{buildroot}%{_bindir}/%{name}-config < - 3.12.1-1 -- Update to 3.12.1 - -* Mon Dec 08 2025 Sandro Mani - 3.12.0-2 -- Rebuild (libtiff) - -* Sun Nov 16 2025 Sandro Mani - 3.12.0-1 -- Update to 3.12.0 - -* Fri Nov 07 2025 Sandro Mani - 3.11.5-1 -- Update to 3.11.5 - -* Wed Oct 29 2025 Stephen Gallagher - 3.11.4-6 -- Rebuild for libarrow 22 - -* Thu Oct 09 2025 Yaakov Selkowitz - 3.11.4-5 -- Rebuilt for java-25-openjdk as system jdk - -* Fri Sep 19 2025 Python Maint - 3.11.4-4 -- Rebuilt for Python 3.14.0rc3 bytecode - -* Thu Sep 18 2025 Yaakov Selkowitz - 3.11.4-3 -- Package manpages and shell completions together with the respective commands - -* Wed Sep 17 2025 Sandro Mani - 3.11.4-2 -- BR: muparser-devel - -* Sun Sep 14 2025 Sandro Mani - 3.11.4-1 -- Update to 3.11.4 - -* Fri Aug 22 2025 Orion Poplawski - 3.11.3-7 -- Rebuild for netcdf 4.9.3 soname bump - -* Fri Aug 22 2025 Orion Poplawski - 3.11.3-6 -- Rebuild for netcdf 4.9.3 soname bump - -* Thu Aug 21 2025 Orion Poplawski - 3.11.3-5 -- Undefine _preserve_static_debuginfo to prevent huge build times - -* Mon Aug 18 2025 Python Maint - 3.11.3-4 -- Rebuilt for Python 3.14.0rc2 bytecode - -* Wed Aug 13 2025 Orion Poplawski - 3.11.3-3 -- Rebuild for libarrow 21 - -* Thu Jul 31 2025 Sandro Mani - 3.11.3-2 -- Rebuild (mingw-poppler) - -* Sun Jul 27 2025 Sandro Mani - 3.11.3-1 -- Update to 3.11.3 - -* Wed Jul 23 2025 Fedora Release Engineering - 3.10.3-6 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild - -* Fri Jul 18 2025 Sandro Mani - 3.10.3-5 -- Rebuild (poppler) - -* Thu Jul 10 2025 Stephen Gallagher - 3.10.3-4 -- Rebuilt for libarrow 20 - -* Tue Jun 03 2025 Python Maint - 3.10.3-3 -- Rebuilt for Python 3.14 - -* Fri May 16 2025 Sandro Mani - 3.10.3-2 -- Fix *.py scripts packaging - -* Mon Apr 07 2025 Sandro Mani - 3.10.3-1 -- Update to 3.10.3 - -* Thu Feb 27 2025 Laurențiu Nicola - 3.10.2-5 -- Enable blosc - -* Wed Feb 26 2025 Sandro Mani - 3.10.2-4 -- Rebuild (poppler) - -* Thu Feb 20 2025 Marek Kasik - 3.10.2-3 -- Add definitions of missing int16_t and int32_t - -* Thu Feb 20 2025 Marek Kasik - 3.10.2-2 -- Rebuild for libarrow 19 in poppler's sidetag - -* Sat Feb 15 2025 Sandro Mani - 3.10.2-1 -- Update to 3.10.2 - -* Fri Feb 14 2025 Benjamin A. Beasley - 3.10.1-4 -- Rebuilt for libarrow 19 - -* Tue Feb 11 2025 Sandro Mani - 3.10.1-3 -- Rebuild (poppler) - -* Thu Jan 16 2025 Fedora Release Engineering - 3.10.1-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild - -* Tue Jan 14 2025 Sandro Mani - 3.10.1-1 -- Update to 3.10.1 - -* Wed Nov 27 2024 Richard W.M. Jones - 3.10.0-4 -- Rebuild for libarrow 18 - -* Wed Nov 20 2024 Sandro Mani - 3.10.0-3 -- Drop fedora conditional for gpsbabel requires - -* Tue Nov 19 2024 Sandro Mani - 3.10.0-2 -- Require gpsbabel only on Fedora - -* Wed Nov 06 2024 Sandro Mani - 3.10.0-1 -- Update to 3.10.0 - -* Fri Oct 25 2024 Orion Poplawski - 3.9.3-5 -- Rebuild for hdf5 1.14.5 - -* Tue Oct 22 2024 Sandro Mani - 3.9.3-4 -- Rebuild (mingw-xerces-c) - -* Mon Oct 21 2024 Pete Walter - 3.9.3-3 -- Rebuild for xerces-c 3.3 - -* Fri Oct 18 2024 Pete Walter - 3.9.3-2 -- Rebuild for xerces-c 3.3 - -* Tue Oct 15 2024 Sandro Mani - 3.9.3-1 -- Update to 3.9.3 - -* Mon Sep 16 2024 Sandro Mani - 3.9.2-4 -- Rebuild (proj) - -* Fri Aug 23 2024 Sandro Mani - 3.9.2-3 -- Rebuild (mingw-poppler) - -* Thu Aug 22 2024 Marek Kasik - 3.9.2-2 -- Rebuild for poppler 24.08.0 - -* Sat Aug 17 2024 Sandro Mani - 3.9.2-1 -- Update to 3.9.2 - -* Thu Jul 18 2024 Fedora Release Engineering - 3.9.1-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild - -* Wed Jun 26 2024 Sandro Mani - 3.9.1-1 -- Update to 3.9.1 - -* Sun Jun 09 2024 Python Maint - 3.9.0-4 -- Rebuilt for Python 3.13 - -* Wed May 15 2024 Sandro Mani - 3.9.0-3 -- Rebuild (libarrow) - -* Tue May 14 2024 Sandro Mani - 3.9.0-2 -- BR: libarrow-dataset-devel - -* Sat May 11 2024 Sandro Mani - 3.9.0-1 -- Update to 3.9.0 - -* Wed Apr 24 2024 Benjamin A. Beasley - 3.8.5-4 -- Rebuilt for openexr 3.2.4 - -* Tue Apr 23 2024 Sandro Mani - 3.8.5-3 -- Rebuild (libarrow) - -* Sun Apr 14 2024 Sandro Mani - 3.8.5-2 -- BR: parquet-libs-devel - -* Mon Apr 08 2024 Sandro Mani - 3.8.5-1 -- Update to 3.8.5 - -* Thu Mar 21 2024 Sandro Mani - 3.8.4-5 -- Rebuild (libarrow) - -* Tue Mar 19 2024 Sandro Mani - 3.8.4-4 -- Rebuild (libarrow) - -* Tue Mar 05 2024 Sandro Mani - 3.8.4-3 -- Rebuild (proj) - -* Mon Feb 26 2024 Sandro Mani - 3.8.4-2 -- BR: libarchive - -* Sun Feb 18 2024 Sandro Mani - 3.8.4-1 -- Update to 3.8.4 - -* Fri Feb 02 2024 Sandro Mani - 3.8.3-5 -- Rebuild (poppler) - -* Sat Jan 27 2024 Sandro Mani - 3.8.3-4 -- Enable libarrow, libdeflate - -* Wed Jan 24 2024 Fedora Release Engineering - 3.8.3-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild - -* Fri Jan 19 2024 Fedora Release Engineering - 3.8.3-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild - -* Mon Jan 08 2024 Sandro Mani - 3.8.3-1 -- Update to 3.8.3 - -* Thu Dec 21 2023 Sandro Mani - 3.8.2-2 -- Rebuild (armadillo) - -* Wed Dec 20 2023 Sandro Mani - 3.8.2-1 -- Update to 3.8.2 - -* Wed Dec 20 2023 Sandro Mani - 3.8.1-2 -- Rebuild (armadillo) - -* Thu Nov 30 2023 Sandro Mani - 3.8.1-1 -- Update to 3.8.1 - -* Tue Nov 14 2023 Sandro Mani - 3.8.0-1 -- Update to 3.8.0 - -* Fri Nov 03 2023 Sandro Mani - 3.7.3-1 -- Update to 3.7.3 - -* Wed Sep 13 2023 Sandro Mani - 3.7.2-1 -- Update to 3.7.2 - -* Sun Sep 03 2023 Sandro Mani - 3.7.1-7 -- Rebuild (proj) - -* Tue Aug 15 2023 Sandro Mani - 3.7.1-6 -- Rebuild (libspatialite) - -* Mon Aug 14 2023 Sandro Mani - 3.7.1-5 -- Rebuild (mingw-poppler) - -* Wed Aug 9 2023 Tom Callaway - 3.7.1-4 -- rebuild for new qhull - -* Mon Aug 07 2023 Marek Kasik - 3.7.1-3 -- Rebuild for poppler 23.08.0 - -* Wed Jul 19 2023 Fedora Release Engineering - 3.7.1-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild - -* Tue Jul 18 2023 Sandro Mani - 3.7.1-1 -- Update to 3.7.1 - -* Mon Jul 03 2023 Python Maint - 3.7.0-2 -- Rebuilt for Python 3.12 - -* Thu May 11 2023 Sandro Mani - 3.7.0-1 -- Update to 3.7.0 - -* Tue May 09 2023 Markus Neteler - 3.6.4-3 -- SPDX migration - -* Tue May 02 2023 Sandro Mani - 3.6.4-2 -- Drop unused librx BR - -* Sat Apr 22 2023 Sandro Mani - 3.6.4-1 -- Update to 3.6.4 - -* Tue Mar 14 2023 Sandro Mani - 3.6.3-1 -- Update to 3.6.3 - -* Sat Mar 04 2023 Sandro Mani - 3.6.2-6 -- Rebuild (proj) - -* Tue Feb 07 2023 Sandro Mani - 3.6.2-5 -- Rebuild (mingw-poppler) - -* Sat Feb 04 2023 Sandro Mani - 3.6.2-4 -- Rebuild (poppler) - -* Thu Jan 19 2023 Fedora Release Engineering - 3.6.2-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild - -* Thu Jan 12 2023 Maxwell G - 3.6.2-2 -- Rebuild for cfitsio 4.2 - -* Thu Jan 05 2023 Sandro Mani - 3.6.2-1 -- Update to 3.6.2 - -* Mon Jan 02 2023 Sandro Mani - 3.6.1-3 -- Rebuild (mingw-cfitsio) - -* Thu Dec 29 2022 Maxwell G - 3.6.1-2 -- Rebuild for cfitsio 4.2 - -* Thu Dec 15 2022 Sandro Mani - 3.6.1-1 -- Update to 3.6.1 - -* Mon Dec 05 2022 Sandro Mani - 3.6.0-4 -- Rebuild (mingw-xerces-c) - -* Mon Dec 05 2022 Sandro Mani - 3.6.0-3 -- Switch to pcre2 for mingw build - -* Fri Nov 18 2022 Sandro Mani - 3.6.0-2 -- Rebuild (mingw-postgresql) - -* Fri Nov 11 2022 Sandro Mani - 3.6.0-1 -- Update to 3.6.0 - -* Thu Nov 03 2022 Sandro Mani - 3.6.0-0.1.rc1 -- Update to 3.6.0-rc1 - -* Thu Nov 03 2022 Sandro Mani - 3.5.3-2 -- Re-enable java - -* Tue Nov 01 2022 Sandro Mani - 3.5.3-1 -- Update to 3.5.3 - -* Wed Oct 19 2022 Sandro Mani - 3.5.2-3 -- Rebuild (python-3.11) - -* Fri Oct 7 2022 Tom Rix - 3.5.2-2 -- Add mingw build conditional -- Reduce java build condition to rhel 8 - -* Tue Sep 13 2022 Sandro Mani - 3.5.2-1 -- Update to 3.5.2 - -* Sun Sep 04 2022 Sandro Mani - 3.5.1-6 -- Rebuild (proj) - -* Tue Aug 02 2022 Sandro Mani - 3.5.1-5 -- Rebuild (poppler) - -* Wed Jul 27 2022 Sandro Mani - 3.5.1-4 -- Rebuild (liblerc) - -* Thu Jul 21 2022 Sandro Mani - 3.5.1-3 -- Rebuild (liblerc) - -* Thu Jul 21 2022 Fedora Release Engineering - 3.5.1-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild - -* Wed Jul 06 2022 Sandro Mani - 3.5.1-1 -- Update to 3.5.1 -- Limit -java subpackage to %%java_arches - -* Mon Jun 13 2022 Python Maint - 3.5.0-5 -- Rebuilt for Python 3.11 - -* Mon May 30 2022 Jitka Plesnikova - 3.5.0-4 -- Perl 5.36 rebuild - -* Sat May 21 2022 Sandro Mani - 3.5.0-3 -- Fix gdal-config take two - -* Fri May 20 2022 Sandro Mani - 3.5.0-2 -- Fix gdal-config - -* Fri May 13 2022 Sandro Mani - 3.5.0-1 -- Update to 3.5.0 - -* Wed May 04 2022 Sandro Mani - 3.4.3-1 -- Update to 3.4.3 - -* Mon Mar 14 2022 Sandro Mani - 3.4.2-1 -- Update to 3.4.2 - -* Thu Mar 10 2022 Sandro Mani - 3.4.1-6 -- Rebuild for proj-9.0.0 - -* Sun Feb 13 2022 Josef Ridky - 3.4.1-5 -- Rebuilt for libjasper.so.6 - -* Sat Feb 05 2022 Jiri Vanek - 3.4.1-4 -- Rebuilt for java-17-openjdk as system jdk - -* Thu Jan 20 2022 Fedora Release Engineering - 3.4.1-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild - -* Thu Jan 13 2022 Sandro Mani - 3.4.1-2 -- Rebuild (poppler) - -* Tue Jan 04 2022 Sandro Mani - 3.4.1-1 -- Update to 3.4.1 - -* Sun Nov 21 2021 Orion Poplawski - 3.4.0-2 -- Rebuild for hdf5 1.12.1 - -* Mon Nov 08 2021 Sandro Mani - 3.4.0-1 -- Update to 3.4.0 - -* Fri Oct 29 2021 Sandro Mani - 3.3.3-1 -- Update to 3.3.3 - -* Thu Oct 21 2021 Sandro Mani - 3.3.2-3 -- Rebuild (geos) - -* Tue Sep 14 2021 Sahana Prasad - 3.3.2-2 -- Rebuilt with OpenSSL 3.0.0 - -* Tue Sep 07 2021 Sandro Mani - 3.3.2-1 -- Update to 3.3.2 - -* Tue Aug 10 2021 Orion Poplawski - 3.3.1-5 -- Rebuild for hdf5 1.10.7/netcdf 4.8.0 - -* Mon Aug 02 2021 Sandro Mani - 3.3.1-4 -- Rebuild (poppler) - -* Wed Jul 21 2021 Fedora Release Engineering - 3.3.1-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild - -* Sat Jul 10 2021 Björn Esser - 3.3.1-2 -- Rebuild for versioned symbols in json-c - -* Mon Jul 05 2021 Sandro Mani - 3.3.1-1 -- Update to 3.3.1 - -* Fri Jun 04 2021 Python Maint - 3.3.0-7 -- Rebuilt for Python 3.10 - -* Mon May 24 2021 Jitka Plesnikova - 3.3.0-6 -- Perl 5.34 re-rebuild updated packages - -* Fri May 21 2021 Sandro Mani - 3.3.0-5 -- Rebuild (libgta) - -* Fri May 21 2021 Jitka Plesnikova - 3.3.0-4 -- Perl 5.34 rebuild - -* Thu May 20 2021 Richard Shaw - 3.3.0-3 -- Rebuilding for libgta 1.2.1. - -* Fri May 07 2021 Sandro Mani - 3.3.0-2 -- Rebuild (gdal) - -* Mon May 03 2021 Sandro Mani - 3.3.0-1 -- Update to 3.3.0 - -* Wed Mar 24 2021 Sandro Mani - 3.2.2-1 -- Update to 3.2.2 - -* Sun Mar 07 2021 Sandro Mani - 3.2.1-10 -- Rebuild (proj) - -* Tue Feb 23 2021 Elliott Sales de Andrade - 3.2.1-9 -- Fix compile against GEOS on s390x - -* Sat Feb 13 2021 Sandro Mani - 3.2.1-8 -- Rebuild (geos) - -* Sat Feb 13 2021 Sandro Mani - 3.2.1-7 -- Rebuild (geos) - -* Mon Feb 08 2021 Pavel Raiskup - 3.2.1-6 -- rebuild for libpq ABI fix rhbz#1908268 - -* Mon Feb 01 2021 Orion Poplawski - 3.2.1-5 -- Rebuild for cfitsio 3.490 - -* Tue Jan 26 2021 Fedora Release Engineering - 3.2.1-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild - -* Fri Jan 15 11:51:40 CET 2021 Sandro Mani - 3.2.1-3 -- Rebuild (poppler) - -* Tue Jan 5 18:08:07 WET 2021 José Matos - 3.2.1-2 +* Wed Jan 6 09:26:27 WET 2021 José Matos - 3.0.4-3 - rebuild for armadillo 10 -* Mon Jan 04 2021 Sandro Mani - 3.2.1-1 -- Update to 3.2.1 - -* Thu Nov 05 2020 Sandro Mani - 3.2.0-1 -- Update to 3.2.0 - -* Mon Nov 02 2020 Sandro Mani - 3.1.4-1 -- Update to 3.1.4 - -* Wed Oct 28 2020 Jeff Law - 3.1.3-3 -- Fix missing #include for gcc-11 - -* Fri Oct 16 21:25:24 CEST 2020 Sandro Mani - 3.1.3-2 -- Rebuild (jasper) - -* Mon Sep 07 2020 Sandro Mani - 3.1.3-1 -- Update to 3.1.3 - -* Mon Jul 27 2020 Fedora Release Engineering - 3.1.2-6 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild - -* Wed Jul 22 09:48:50 GMT 2020 Sandro Mani - 3.1.2-5 -- Rebuild (poppler) - -* Thu Jul 16 2020 Jiri Vanek - 3.1.2-4 -- Rebuilt for JDK-11, see https://fedoraproject.org/wiki/Changes/Java11 - -* Wed Jul 15 15:55:55 GMT 2020 Sandro Mani - 3.1.2-3 -- Rebuild (poppler) - -* Fri Jul 10 2020 Jiri Vanek - 3.1.2-2 -- Rebuilt for JDK-11, see https://fedoraproject.org/wiki/Changes/Java11 - -* Tue Jul 07 2020 Sandro Mani - 3.1.2-1 -- Update to 3.1.2 - -* Tue Jun 30 2020 Sandro Mani - 3.1.1-1 -- Update to 3.1.1 - -* Sat Jun 27 2020 Jitka Plesnikova - 3.1.0-5 -- Perl 5.32 re-rebuild updated packages - -* Fri Jun 26 2020 Orion Poplawski - 3.1.0-4 -- Rebuild for hdf5 1.10.6 - -* Thu Jun 25 2020 Jitka Plesnikova - 3.1.0-3 -- Perl 5.32 rebuild - -* Tue May 26 2020 Miro Hrončok - 3.1.0-2 -- Rebuilt for Python 3.9 - -* Tue May 12 2020 Sandro Mani - 3.1.0-1 -- Update to 3.1.0 - -* Sat May 09 2020 Markus Neteler - 3.0.4-5 -* disabled JAVA and LaTeX support for EPEL8, due to (yet) missing dependencies - -* Wed Apr 22 2020 Björn Esser - 3.0.4-4 -- Re-enable annobin - -* Tue Apr 21 2020 Björn Esser - 3.0.4-3 -- Rebuild (json-c) -- Temporarily disable annobin, as it is broken - * Tue Mar 03 2020 Sandro Mani - 3.0.4-2 - Fix libtool wrappers installed for gdal utilities instead of actual binaries @@ -2050,7 +1342,7 @@ done - Added jnis - Patches updated with proper version info - Added suggestions from Ralph Apel - + Versionless symlink for gdal.jar - + Maven2 pom - + JPP-style depmap - + Use -f XX.files for ruby and python + + Versionless symlink for gdal.jar + + Maven2 pom + + JPP-style depmap + + Use -f XX.files for ruby and python diff --git a/gdal_installapps.patch b/gdal_installapps.patch new file mode 100644 index 0000000..6102657 --- /dev/null +++ b/gdal_installapps.patch @@ -0,0 +1,11 @@ +diff -rupN --no-dereference gdal-3.0.4-fedora/apps/GNUmakefile gdal-3.0.4-fedora-new/apps/GNUmakefile +--- gdal-3.0.4-fedora/apps/GNUmakefile 2020-01-28 11:13:12.000000000 +0100 ++++ gdal-3.0.4-fedora-new/apps/GNUmakefile 2020-03-03 23:17:41.032487778 +0100 +@@ -216,6 +216,7 @@ gdal-config-inst: gdal-config.in ../GDAL + + install: default + for f in $(BIN_LIST) ; do $(INSTALL) $$f $(DESTDIR)$(INST_BIN) ; done ++ for f in $(BIN_LIST) ; do $(INSTALL) .libs/$$f $(DESTDIR)$(INST_BIN) ; done + $(INSTALL_DATA) gdal_utils.h $(DESTDIR)$(INST_INCLUDE) + $(INSTALL) gdal-config-inst $(DESTDIR)$(INST_BIN)/gdal-config + diff --git a/gdal_iso8211.patch b/gdal_iso8211.patch new file mode 100644 index 0000000..ee1c4c5 --- /dev/null +++ b/gdal_iso8211.patch @@ -0,0 +1,13 @@ +diff -rupN gdal-3.0.4-fedora/frmts/iso8211/GNUmakefile gdal-3.0.4-fedora-new/frmts/iso8211/GNUmakefile +--- gdal-3.0.4-fedora/frmts/iso8211/GNUmakefile 2020-01-28 11:13:11.000000000 +0100 ++++ gdal-3.0.4-fedora-new/frmts/iso8211/GNUmakefile 2020-02-06 00:24:10.382117696 +0100 +@@ -23,8 +23,7 @@ dist-clean: clean + rm -rf $(DISTDIR) + + $(ISOLIB): $(OBJ:.o=.$(OBJ_EXT)) +- $(AR) r $(ISOLIB) $? +- $(RANLIB) $(ISOLIB) ++ $(SHELL) $(top_builddir)/libtool --mode=link gcc -static -o $(ISOLIB) $? + + 8211createfromxml$(EXE): 8211createfromxml.$(OBJ_EXT) + $(LD) $(LDFLAGS) 8211createfromxml.$(OBJ_EXT) $(CONFIG_LIBS) -o 8211createfromxml$(EXE) diff --git a/gdal_jasper.patch b/gdal_jasper.patch new file mode 100644 index 0000000..deb5098 --- /dev/null +++ b/gdal_jasper.patch @@ -0,0 +1,31 @@ +diff -rupN --no-dereference gdal-3.0.4-fedora/frmts/jpeg2000/jpeg2000dataset.cpp gdal-3.0.4-fedora-new/frmts/jpeg2000/jpeg2000dataset.cpp +--- gdal-3.0.4-fedora/frmts/jpeg2000/jpeg2000dataset.cpp 2020-01-28 11:17:22.000000000 +0100 ++++ gdal-3.0.4-fedora-new/frmts/jpeg2000/jpeg2000dataset.cpp 2021-01-15 11:45:46.293701348 +0100 +@@ -595,7 +595,7 @@ GDALDataset *JPEG2000Dataset::Open( GDAL + + { + int iFormat; +- char *pszFormatName = nullptr; ++ const char *pszFormatName = nullptr; + + if (!Identify(poOpenInfo)) + return nullptr; +diff -rupN --no-dereference gdal-3.0.4-fedora/frmts/jpeg2000/jpeg2000_vsil_io.cpp gdal-3.0.4-fedora-new/frmts/jpeg2000/jpeg2000_vsil_io.cpp +--- gdal-3.0.4-fedora/frmts/jpeg2000/jpeg2000_vsil_io.cpp 2020-01-28 11:17:22.000000000 +0100 ++++ gdal-3.0.4-fedora-new/frmts/jpeg2000/jpeg2000_vsil_io.cpp 2021-01-15 11:45:46.294701417 +0100 +@@ -94,13 +94,13 @@ typedef struct { + * File stream object. + \******************************************************************************/ + +-static int JPEG2000_VSIL_read(jas_stream_obj_t *obj, char *buf, int cnt) ++static int JPEG2000_VSIL_read(jas_stream_obj_t *obj, char *buf, unsigned int cnt) + { + jas_stream_VSIFL_t *fileobj = JAS_CAST(jas_stream_VSIFL_t *, obj); + return static_cast(VSIFReadL(buf, 1, cnt, fileobj->fp)); + } + +-static int JPEG2000_VSIL_write(jas_stream_obj_t *obj, char *buf, int cnt) ++static int JPEG2000_VSIL_write(jas_stream_obj_t *obj, const char *buf, unsigned int cnt) + { + jas_stream_VSIFL_t *fileobj = JAS_CAST(jas_stream_VSIFL_t *, obj); + return static_cast(VSIFWriteL(buf, 1, cnt, fileobj->fp)); diff --git a/gdal_tirpcinc.patch b/gdal_tirpcinc.patch new file mode 100644 index 0000000..5b55069 --- /dev/null +++ b/gdal_tirpcinc.patch @@ -0,0 +1,24 @@ +diff -rupN --no-dereference gdal-3.0.4-fedora/frmts/dods/GNUmakefile gdal-3.0.4-fedora-new/frmts/dods/GNUmakefile +--- gdal-3.0.4-fedora/frmts/dods/GNUmakefile 2020-01-28 11:13:11.000000000 +0100 ++++ gdal-3.0.4-fedora-new/frmts/dods/GNUmakefile 2020-02-06 00:23:36.543285168 +0100 +@@ -4,7 +4,7 @@ include ../../GDALmake.opt + + OBJ = dodsdataset2.o + +-CPPFLAGS := $(CPPFLAGS) $(DODS_INC) ++CPPFLAGS := $(CPPFLAGS) $(DODS_INC) -I/usr/include/tirpc + + default: $(OBJ:.o=.$(OBJ_EXT)) + +diff -rupN --no-dereference gdal-3.0.4-fedora/ogr/ogrsf_frmts/dods/GNUmakefile gdal-3.0.4-fedora-new/ogr/ogrsf_frmts/dods/GNUmakefile +--- gdal-3.0.4-fedora/ogr/ogrsf_frmts/dods/GNUmakefile 2020-01-28 11:13:11.000000000 +0100 ++++ gdal-3.0.4-fedora-new/ogr/ogrsf_frmts/dods/GNUmakefile 2020-02-06 00:23:36.543285168 +0100 +@@ -5,7 +5,7 @@ include ../../../GDALmake.opt + OBJ = ogrdodsdriver.o ogrdodsdatasource.o ogrdodslayer.o \ + ogrdodssequencelayer.o ogrdodsfielddefn.o ogrdodsgrid.o + +-CPPFLAGS := -I.. $(CPPFLAGS) $(DODS_INC) -DDO_NOT_USE_DEBUG_BOOL ++CPPFLAGS := -I.. $(CPPFLAGS) $(DODS_INC) -DDO_NOT_USE_DEBUG_BOOL -I/usr/include/tirpc + + default: $(O_OBJ:.o=.$(OBJ_EXT)) + diff --git a/gdal_utils.patch b/gdal_utils.patch deleted file mode 100644 index e0eee7c..0000000 --- a/gdal_utils.patch +++ /dev/null @@ -1,37 +0,0 @@ -diff -rupN --no-dereference gdal-3.12.1-fedora/frmts/iso8211/CMakeLists.txt gdal-3.12.1-fedora-new/frmts/iso8211/CMakeLists.txt ---- gdal-3.12.1-fedora/frmts/iso8211/CMakeLists.txt 2025-12-18 15:15:18.000000000 +0100 -+++ gdal-3.12.1-fedora-new/frmts/iso8211/CMakeLists.txt 2025-12-18 16:35:42.369730740 +0100 -@@ -14,14 +14,17 @@ target_sources(${GDAL_LIB_TARGET_NAME} P - gdal_standard_includes(gdal_iso8211) - - # Because linking an OBJECT library --add_executable(8211dump EXCLUDE_FROM_ALL 8211dump.cpp) -+add_executable(8211dump 8211dump.cpp) - target_include_directories(8211dump PRIVATE $) - target_link_libraries(8211dump PRIVATE $ gdal_iso8211) -+install(TARGETS 8211dump RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) - --add_executable(8211view EXCLUDE_FROM_ALL 8211view.cpp) -+add_executable(8211view 8211view.cpp) - target_include_directories(8211view PRIVATE $) - target_link_libraries(8211view PRIVATE $ gdal_iso8211) -+install(TARGETS 8211view RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) - --add_executable(8211createfromxml EXCLUDE_FROM_ALL 8211createfromxml.cpp) -+add_executable(8211createfromxml 8211createfromxml.cpp) - target_include_directories(8211createfromxml PRIVATE $) - target_link_libraries(8211createfromxml PRIVATE $ gdal_iso8211) -+install(TARGETS 8211createfromxml RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) -diff -rupN --no-dereference gdal-3.12.1-fedora/ogr/ogrsf_frmts/s57/CMakeLists.txt gdal-3.12.1-fedora-new/ogr/ogrsf_frmts/s57/CMakeLists.txt ---- gdal-3.12.1-fedora/ogr/ogrsf_frmts/s57/CMakeLists.txt 2025-12-18 15:15:18.000000000 +0100 -+++ gdal-3.12.1-fedora-new/ogr/ogrsf_frmts/s57/CMakeLists.txt 2025-12-18 16:35:42.369966573 +0100 -@@ -38,7 +38,8 @@ if (USE_ONLY_EMBEDDED_RESOURCE_FILES) - target_compile_definitions(ogr_S57 PRIVATE USE_ONLY_EMBEDDED_RESOURCE_FILES) - endif() - --add_executable(s57dump EXCLUDE_FROM_ALL s57dump.cpp) -+add_executable(s57dump s57dump.cpp) - gdal_standard_includes(s57dump) - target_include_directories(s57dump PRIVATE $) - target_link_libraries(s57dump PRIVATE $ ogr_S57 gdal_iso8211) -+install(TARGETS s57dump RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) diff --git a/sources b/sources index 18aa636..1ac9d4c 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (gdal-3.12.1-fedora.tar.xz) = 311005e3f577b09360b2a0bb9f6e3b97668f320a5833fe27753690f9067620460b1317ba615c7e59c01047782507ed7ebadf696ed951b477e4f53d0a4a402fc5 -SHA512 (gdalautotest-3.12.1.zip) = fb54eddf8b34d4bd9d308ec0e7b3b9947e07b4a0615f688daf933668b0faf4fd44c2bc716cce8045433ca894ff5dde60e75acd42d5a4aa5e2999b9fd5cd4d6a5 +SHA512 (gdal-3.0.4-fedora.tar.xz) = f880a763cbf3e846789df4c45a68be11121fdc66252dab126d95b79141589435ef7712ed0efcb7d633643f2c82cde88f9663bb15b624e69f362ed2e10a79a110 +SHA512 (gdalautotest-3.0.4.tar.gz) = d205c6eba1c68ade3cd55b9ae77c9a885f1ff87f6964ea4e71799bc98393ddcf92081a5319afd3d0d9d0cf8862d140eb59ad2ccf7e70a955cad2732f55c28e72