!40 [sync] PR-17: Update to 3.10.1

From: @openeuler-sync-bot 
Reviewed-by: @desert-sailor 
Signed-off-by: @desert-sailor
This commit is contained in:
openeuler-ci-bot 2025-04-28 13:41:19 +00:00 committed by Gitee
commit cd40f80a6e
No known key found for this signature in database
GPG Key ID: 173E9B9CA92EEF8F
7 changed files with 85 additions and 144 deletions

View File

@ -1,44 +0,0 @@
From befb52ff36b58582c8afb262041eeab718f6a013 Mon Sep 17 00:00:00 2001
From: desert-sailor <dongxing.wang_a@thundersoft.com>
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<int>(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<char *>(ctx);
char *pszStrDup = CPLStrdup(pszStr);
int nLen = static_cast<int>(strlen(pszStrDup));
--
2.43.0

View File

@ -1,55 +0,0 @@
From 83075c1bd26890ef8e5a1186246e965db89b487b Mon Sep 17 00:00:00 2001
From: desert-sailor <dongxing.wang_a@thundersoft.com>
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

View File

@ -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 <dongxing.wang_a@thundersoft.com> - 3.10.1-1
- Update to 3.10.1
* Fri Nov 15 2024 Dongxing Wang <dongxing.wang_a@thundersoft.com> - 3.7.3-2
- Fix gdal-config-64 missing

View File

@ -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<struct _stat64 *>(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<struct _stat64 *>(pStatBuf));
}
}

View File

@ -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_PROPERTY:gdal_iso8211,SOURCE_DIR>)
target_link_libraries(8211dump PRIVATE $<TARGET_NAME:${GDAL_LIB_TARGET_NAME}> 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_PROPERTY:gdal_iso8211,SOURCE_DIR>)
target_link_libraries(8211dump PRIVATE $<TARGET_NAME:${GDAL_LIB_TARGET_NAME}> 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_PROPERTY:gdal_iso8211,SOURCE_DIR>)
target_link_libraries(8211view PRIVATE $<TARGET_NAME:${GDAL_LIB_TARGET_NAME}> 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_PROPERTY:gdal_iso8211,SOURCE_DIR>)
target_link_libraries(8211view PRIVATE $<TARGET_NAME:${GDAL_LIB_TARGET_NAME}> 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_PROPERTY:gdal_iso8211,SOURCE_DIR>)
target_link_libraries(8211createfromxml PRIVATE $<TARGET_NAME:${GDAL_LIB_TARGET_NAME}> 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_PROPERTY:gdal_iso8211,SOURCE_DIR>)
target_link_libraries(8211createfromxml PRIVATE $<TARGET_NAME:${GDAL_LIB_TARGET_NAME}> 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_PROPERTY:gdal_iso8211,SOURCE_DIR>)
target_link_libraries(s57dump PRIVATE $<TARGET_NAME:${GDAL_LIB_TARGET_NAME}> 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_PROPERTY:gdal_iso8211,SOURCE_DIR>)
target_link_libraries(s57dump PRIVATE $<TARGET_NAME:${GDAL_LIB_TARGET_NAME}> ogr_S57 gdal_iso8211)
+install(TARGETS s57dump RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})