diff --git a/0001-Fix-build-error-with-libxml2-2.12.patch b/0001-Fix-build-error-with-libxml2-2.12.patch deleted file mode 100644 index c189438c7bb0dbf1c1f220af8343c04a1f49c2e4..0000000000000000000000000000000000000000 --- a/0001-Fix-build-error-with-libxml2-2.12.patch +++ /dev/null @@ -1,44 +0,0 @@ -From befb52ff36b58582c8afb262041eeab718f6a013 Mon Sep 17 00:00:00 2001 -From: desert-sailor -Date: Fri, 22 Mar 2024 10:08:42 +0800 -Subject: [PATCH 1/2] Fix build error with libxml2 2.12 - ---- - gcore/gdaljp2metadatagenerator.cpp | 7 ++++++- - port/cpl_xml_validate.cpp | 2 +- - 2 files changed, 7 insertions(+), 2 deletions(-) - -diff --git a/gcore/gdaljp2metadatagenerator.cpp b/gcore/gdaljp2metadatagenerator.cpp -index b6caa2d..751fa3d 100644 ---- a/gcore/gdaljp2metadatagenerator.cpp -+++ b/gcore/gdaljp2metadatagenerator.cpp -@@ -357,7 +357,12 @@ static CPLString GDALGMLJP2EvalExpr(const CPLString &osTemplate, - /************************************************************************/ - - static void GDALGMLJP2XPathErrorHandler(void * /* userData */, -- xmlErrorPtr error) -+#if LIBXML_VERSION >= 21200 -+ const xmlError *error -+#else -+ xmlErrorPtr error -+#endif -+) - { - if (error->domain == XML_FROM_XPATH && error->str1 != nullptr && - error->int1 < static_cast(strlen(error->str1))) -diff --git a/port/cpl_xml_validate.cpp b/port/cpl_xml_validate.cpp -index 7eb49ff..29070d9 100644 ---- a/port/cpl_xml_validate.cpp -+++ b/port/cpl_xml_validate.cpp -@@ -914,7 +914,7 @@ static void CPLLibXMLWarningErrorCallback(void *ctx, const char *msg, ...) - - if (strstr(pszStr, "since this namespace was already imported") == nullptr) - { -- xmlErrorPtr pErrorPtr = xmlGetLastError(); -+ const xmlError *pErrorPtr = xmlGetLastError(); - const char *pszFilename = static_cast(ctx); - char *pszStrDup = CPLStrdup(pszStr); - int nLen = static_cast(strlen(pszStrDup)); --- -2.43.0 - diff --git a/0002-Fix-build-error-with-pre-installed-version-in-the-PA.patch b/0002-Fix-build-error-with-pre-installed-version-in-the-PA.patch deleted file mode 100644 index 14dec5bbc5ae88db8aa9211cd29944843164842a..0000000000000000000000000000000000000000 --- a/0002-Fix-build-error-with-pre-installed-version-in-the-PA.patch +++ /dev/null @@ -1,55 +0,0 @@ -From 83075c1bd26890ef8e5a1186246e965db89b487b Mon Sep 17 00:00:00 2001 -From: desert-sailor -Date: Fri, 22 Mar 2024 11:26:53 +0800 -Subject: [PATCH 2/2] Fix build error with pre-installed version in the PATH - ---- - swig/python/CMakeLists.txt | 7 ++++++- - swig/python/install_python.cmake.in | 9 +++++++-- - 2 files changed, 13 insertions(+), 3 deletions(-) - -diff --git a/swig/python/CMakeLists.txt b/swig/python/CMakeLists.txt -index b9c35c9..ca2bd0e 100644 ---- a/swig/python/CMakeLists.txt -+++ b/swig/python/CMakeLists.txt -@@ -270,9 +270,14 @@ if (Python_Interpreter_FOUND) - set(GDAL_LIB_DEP_FOR_PY_SO "${GDAL_LIB_TARGET_NAME}") - endif() - -+ if(WIN32) -+ set(PATH_SEP ";") -+ else() -+ set(PATH_SEP ":") -+ endif() - add_custom_command( - OUTPUT ${PY_SO_LIST} -- COMMAND ${CMAKE_COMMAND} ${WERROR_DEV_FLAG} -P "${BUILD_EXT_FILENAME}" -+ COMMAND ${CMAKE_COMMAND} -E env "\"PATH=${PROJECT_BINARY_DIR}/apps${PATH_SEP}$ENV{PATH}\"" ${CMAKE_COMMAND} ${WERROR_DEV_FLAG} -P "${BUILD_EXT_FILENAME}" - WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} - DEPENDS ${GDAL_LIB_DEP_FOR_PY_SO} ${GDAL_PYTHON_PYSOURCES} ${GDAL_PYTHON_CSOURCES} "${BUILD_EXT_FILENAME}" - ${PROJECT_SOURCE_DIR}/gcore/gdal_priv.h) -diff --git a/swig/python/install_python.cmake.in b/swig/python/install_python.cmake.in -index 7c812b5..f24bd19 100644 ---- a/swig/python/install_python.cmake.in -+++ b/swig/python/install_python.cmake.in -@@ -17,10 +17,15 @@ endif() - if(NOT "@SETUPTOOLS_USE_DISTUTILS@x" STREQUAL "x") - set(ENV{SETUPTOOLS_USE_DISTUTILS} @SETUPTOOLS_USE_DISTUTILS@) - endif() -+if(WIN32) -+ set(PATH_SEP ";") -+else() -+ set(PATH_SEP ":") -+endif() - if(DEFINED INSTALL_PREFIX) -- execute_process(COMMAND "@Python_EXECUTABLE_CMAKE@" "@SETUP_PY_FILENAME@" install ${ROOT_DIR_ARG} @INSTALL_ARGS@ "${INSTALL_PREFIX}" -+ execute_process(COMMAND ${CMAKE_COMMAND} -E env "PATH=@PROJECT_BINARY_DIR@/apps${PATH_SEP}$ENV{PATH}" "@Python_EXECUTABLE_CMAKE@" "@SETUP_PY_FILENAME@" install ${ROOT_DIR_ARG} @INSTALL_ARGS@ "${INSTALL_PREFIX}" - WORKING_DIRECTORY "@CMAKE_CURRENT_BINARY_DIR@") - else() -- execute_process(COMMAND "@Python_EXECUTABLE_CMAKE@" "@SETUP_PY_FILENAME@" install ${ROOT_DIR_ARG} @INSTALL_ARGS@ -+ execute_process(COMMAND ${CMAKE_COMMAND} -E env "PATH=@PROJECT_BINARY_DIR@/apps${PATH_SEP}$ENV{PATH}" "@Python_EXECUTABLE_CMAKE@" "@SETUP_PY_FILENAME@" install ${ROOT_DIR_ARG} @INSTALL_ARGS@ - WORKING_DIRECTORY "@CMAKE_CURRENT_BINARY_DIR@") - endif() --- -2.43.0 - diff --git a/gdal-3.7.3.tar.xz b/gdal-3.10.1.tar.xz similarity index 51% rename from gdal-3.7.3.tar.xz rename to gdal-3.10.1.tar.xz index 49d31048112bf6c36b20b77e3dc58090fb798c13..93610dbd3260655c8846d7497e2210d696e1fc57 100644 Binary files a/gdal-3.7.3.tar.xz and b/gdal-3.10.1.tar.xz differ diff --git a/gdal.spec b/gdal.spec index 73ac7c3a17950c64d436914e5d0585ebcbea4c7a..95875385bde399f2d4f8d3abf76cae4933c5cc34 100644 --- a/gdal.spec +++ b/gdal.spec @@ -22,8 +22,8 @@ %endif Name: gdal -Version: 3.7.3 -Release: 2 +Version: 3.10.1 +Release: 1 Summary: GIS file format library License: MIT URL: http://www.gdal.org @@ -36,9 +36,7 @@ Source3: gdal-config # Add some utils to the default install target Patch0: gdal_utils.patch -Patch1: 0001-Fix-build-error-with-libxml2-2.12.patch -Patch2: 0002-Fix-build-error-with-pre-installed-version-in-the-PA.patch - +Patch1: gdal_incompatible-pointer-types.patch BuildRequires: cmake BuildRequires: gcc-c++ @@ -98,6 +96,7 @@ BuildRequires: python3-numpy BuildRequires: python3-setuptools BuildRequires: python3-pytest >= 3.6 BuildRequires: python3-lxml >= 4.5.1 +BuildRequires: python3-filelock BuildRequires: python3-pyproj # Java @@ -196,16 +195,18 @@ tar xf %{SOURCE1} mv %{name}autotest-%{version} autotest # Need to patch autotest -%autopatch -p1 +# autotest/cpp uses private -O0 where it does not like any level of FORTIFY_SOURCE +sed -i -e 's/-D_FORTIFY_SOURCE=2/%{?_fortify_level_flags}%{!?_fortify_level_flags:-Wp,-D_FORTIFY_SOURCE=2}/g' autotest/cpp/CMakeLists.txt +sed -i "s/ \-O0)/)/g" ./autotest/cpp/CMakeLists.txt %build %cmake \ -DCMAKE_INSTALL_INCLUDEDIR=include/gdal \ -DGDAL_JAVA_INSTALL_DIR=%{_jnidir}/%{name} \ + -DGDAL_JAVA_JNI_INSTALL_DIR=%{_jnidir}/%{name} \ -DGDAL_USE_JPEG12_INTERNAL=OFF \ -DENABLE_DEFLATE64=OFF \ -DGDAL_USE_LERC_INTERNAL=OFF -sed -i "s#-Wp, -Wp,#-Wp,#g" `grep "Wp, -Wp," -rl ./` %cmake_build %if %{with mingw} @@ -246,7 +247,25 @@ cp -a %{SOURCE3} %{buildroot}%{_bindir}/%{name}-config %files -f gdal_python_manpages_excludes.txt -%{_bindir}/8211* +%{_bindir}/gdal2tiles +%{_bindir}/gdal2xyz +%{_bindir}/gdal_calc +%{_bindir}/gdal_edit +%{_bindir}/gdal_fillnodata +%{_bindir}/gdal_footprint +%{_bindir}/gdal_merge +%{_bindir}/gdal_pansharpen +%{_bindir}/gdal_polygonize +%{_bindir}/gdal_proximity +%{_bindir}/gdal_retile +%{_bindir}/gdal_sieve +%{_bindir}/gdalattachpct +%{_bindir}/gdalcompare +%{_bindir}/gdalmove +%{_bindir}/ogr_layer_algebra +%{_bindir}/ogrmerge +%{_bindir}/pct2rgb +%{_bindir}/rgb2pct %{_bindir}/gdal_contour %{_bindir}/gdal_create %{_bindir}/gdal_grid @@ -273,7 +292,6 @@ cp -a %{SOURCE3} %{buildroot}%{_bindir}/%{name}-config %{_bindir}/ogrinfo %{_bindir}/ogrlineref %{_bindir}/ogrtindex -%{_bindir}/s57dump %{_bindir}/sozip %{_datadir}/bash-completion/completions/* %exclude %{_datadir}/bash-completion/completions/*.py @@ -284,8 +302,8 @@ cp -a %{SOURCE3} %{buildroot}%{_bindir}/%{name}-config %files libs %license LICENSE.TXT %doc NEWS.md PROVENANCE.TXT COMMITTERS -%{_libdir}/libgdal.so.33 -%{_libdir}/libgdal.so.33.* +%{_libdir}/libgdal.so.36 +%{_libdir}/libgdal.so.36.* %{_datadir}/%{name}/ %{_libdir}/gdalplugins/ @@ -335,6 +353,9 @@ cp -a %{SOURCE3} %{buildroot}%{_bindir}/%{name}-config %{_jnidir}/%{name}/gdal-%{version}-javadoc.jar %changelog +* Tue Feb 11 2025 Dongxing Wang - 3.10.1-1 +- Update to 3.10.1 + * Fri Nov 15 2024 Dongxing Wang - 3.7.3-2 - Fix gdal-config-64 missing diff --git a/gdal_incompatible-pointer-types.patch b/gdal_incompatible-pointer-types.patch new file mode 100644 index 0000000000000000000000000000000000000000..4cbb9f2fc176159a1b5ebc741abf9bfa75bdd90b --- /dev/null +++ b/gdal_incompatible-pointer-types.patch @@ -0,0 +1,21 @@ +diff -rupN --no-dereference gdal-3.10.1-fedora/port/cpl_vsil_win32.cpp gdal-3.10.1-fedora-new/port/cpl_vsil_win32.cpp +--- gdal-3.10.1-fedora/port/cpl_vsil_win32.cpp 2025-01-08 15:54:06.000000000 +0100 ++++ gdal-3.10.1-fedora-new/port/cpl_vsil_win32.cpp 2025-01-14 22:27:26.805886705 +0100 +@@ -896,7 +896,7 @@ int VSIWin32FilesystemHandler::Stat(cons + pwszFilename[nLen - 1] = 0; + #endif + +- int nResult = _wstat64(pwszFilename, pStatBuf); ++ int nResult = _wstat64(pwszFilename, reinterpret_cast(pStatBuf)); + + // If _wstat64() fails and the original name is not an extended one, + // then retry with an extended filename +@@ -907,7 +907,7 @@ int VSIWin32FilesystemHandler::Stat(cons + nLastError == ERROR_FILENAME_EXCED_RANGE) + { + VSIWin32TryLongFilename(pwszFilename); +- nResult = _wstat64(pwszFilename, pStatBuf); ++ nResult = _wstat64(pwszFilename, reinterpret_cast(pStatBuf)); + } + } + diff --git a/gdal_utils.patch b/gdal_utils.patch index 5a7126bd123cf4b9c50534fc52f15e6b1a146f86..a6f07e7e59ceb943fe0d7215f53bc44a13a3a9c0 100644 --- a/gdal_utils.patch +++ b/gdal_utils.patch @@ -1,39 +1,37 @@ -diff -rupN --no-dereference gdal-3.7.2-fedora/frmts/iso8211/CMakeLists.txt gdal-3.7.2-fedora-new/frmts/iso8211/CMakeLists.txt ---- gdal-3.7.2-fedora/frmts/iso8211/CMakeLists.txt 2023-09-05 11:06:01.000000000 +0200 -+++ gdal-3.7.2-fedora-new/frmts/iso8211/CMakeLists.txt 2023-09-13 18:08:12.415548075 +0200 -@@ -15,15 +15,18 @@ gdal_standard_includes(gdal_iso8211) +diff -rupN --no-dereference gdal-3.10.1-fedora/frmts/iso8211/CMakeLists.txt gdal-3.10.1-fedora-new/frmts/iso8211/CMakeLists.txt +--- gdal-3.10.1-fedora/frmts/iso8211/CMakeLists.txt 2025-01-08 15:54:06.000000000 +0100 ++++ gdal-3.10.1-fedora-new/frmts/iso8211/CMakeLists.txt 2025-01-14 22:27:26.561168120 +0100 +@@ -14,14 +14,17 @@ target_sources(${GDAL_LIB_TARGET_NAME} P + gdal_standard_includes(gdal_iso8211) # Because linking an OBJECT library - if (CMAKE_VERSION VERSION_GREATER_EQUAL 3.12) -- 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(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(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}) - endif () -diff -rupN --no-dereference gdal-3.7.2-fedora/ogr/ogrsf_frmts/s57/CMakeLists.txt gdal-3.7.2-fedora-new/ogr/ogrsf_frmts/s57/CMakeLists.txt ---- gdal-3.7.2-fedora/ogr/ogrsf_frmts/s57/CMakeLists.txt 2023-09-05 11:06:01.000000000 +0200 -+++ gdal-3.7.2-fedora-new/ogr/ogrsf_frmts/s57/CMakeLists.txt 2023-09-13 18:08:12.417548017 +0200 -@@ -17,8 +17,9 @@ target_include_directories(ogr_S57 PRIVA - gdal_standard_includes(ogr_S57) +-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.10.1-fedora/ogr/ogrsf_frmts/s57/CMakeLists.txt gdal-3.10.1-fedora-new/ogr/ogrsf_frmts/s57/CMakeLists.txt +--- gdal-3.10.1-fedora/ogr/ogrsf_frmts/s57/CMakeLists.txt 2025-01-08 15:54:06.000000000 +0100 ++++ gdal-3.10.1-fedora-new/ogr/ogrsf_frmts/s57/CMakeLists.txt 2025-01-14 22:27:26.561517435 +0100 +@@ -27,7 +27,8 @@ set_property( + APPEND + PROPERTY RESOURCE "${GDAL_DATA_FILES}") - if (CMAKE_VERSION VERSION_GREATER_EQUAL 3.12) -- 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}) - 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/gdalautotest-3.7.3.tar.gz b/gdalautotest-3.10.1.tar.gz similarity index 57% rename from gdalautotest-3.7.3.tar.gz rename to gdalautotest-3.10.1.tar.gz index 7eb8959690e34843ea18e36f01b87accb1f980ff..febab78be3e08d466b3bf4ed3cc473b774c19503 100644 Binary files a/gdalautotest-3.7.3.tar.gz and b/gdalautotest-3.10.1.tar.gz differ