[Git][debian-gis-team/mapserver][experimental] 7 commits: New upstream version 8.6.0~rc1

Bas Couwenberg (@sebastic) gitlab at salsa.debian.org
Thu Nov 27 16:35:05 GMT 2025



Bas Couwenberg pushed to branch experimental at Debian GIS Project / mapserver


Commits:
dff1bf7d by Bas Couwenberg at 2025-11-27T17:12:42+01:00
New upstream version 8.6.0~rc1
- - - - -
ecd0b150 by Bas Couwenberg at 2025-11-27T17:12:57+01:00
Update upstream source from tag 'upstream/8.6.0_rc1'

Update to upstream version '8.6.0~rc1'
with Debian dir 536736e0b0ca0edf84130ed7b47696d0c8410cf8
- - - - -
45a238f8 by Bas Couwenberg at 2025-11-27T17:13:11+01:00
New upstream release candidate.

- - - - -
a22044eb by Bas Couwenberg at 2025-11-27T17:15:53+01:00
Refresh patches.

- - - - -
dbe2a687 by Bas Couwenberg at 2025-11-27T17:25:56+01:00
Rename Java mapscript patch to better reflect content.

- - - - -
3139b3f7 by Bas Couwenberg at 2025-11-27T17:26:59+01:00
Update symbols for amd64.

- - - - -
4640c089 by Bas Couwenberg at 2025-11-27T17:27:13+01:00
Set distribution to experimental.

- - - - -


20 changed files:

- .github/workflows/build-mapscript-php.yml
- CITATION.cff
- CMakeLists.txt
- HISTORY.md
- ci/ubuntu/build.sh
- debian/changelog
- debian/libmapserver2t64.symbols
- debian/patches/java-hardening.patch → debian/patches/java-mapscript-install.patch
- debian/patches/series
- scripts/build-mapscript-php.sh
- src/mapcontour.c
- src/mapgdal.cpp
- src/mapogcapi.cpp
- src/mapogcapi.h
- src/mapscript/csharp/CMakeLists.txt
- src/mapscript/java/CMakeLists.txt
- src/mapscript/perl/CMakeLists.txt
- src/mapscript/phpng/CMakeLists.txt
- src/mapscript/python/CMakeLists.txt
- src/mapscript/ruby/CMakeLists.txt


Changes:

=====================================
.github/workflows/build-mapscript-php.yml
=====================================
@@ -24,7 +24,7 @@ jobs:
     runs-on: ubuntu-24.04
     strategy:
       matrix:
-        php-version: [8.4, 8.3]
+        php-version: [8.5, 8.4]
 
     steps:
       - name: Checkout code


=====================================
CITATION.cff
=====================================
@@ -1,8 +1,8 @@
 cff-version: 1.2.0
 title: MapServer
 message: If you use this software, please cite it using the metadata from this file.
-version: 8.6.0-beta2
-date-released: 2025-11-18
+version: 8.6.0-rc1
+date-released: 2025-11-27
 abstract: MapServer is an Open Source platform for publishing spatial data and interactive mapping applications to the web.
 type: software
 authors:


=====================================
CMakeLists.txt
=====================================
@@ -18,7 +18,7 @@ include(CheckCSourceCompiles)
 set (MapServer_VERSION_MAJOR 8)
 set (MapServer_VERSION_MINOR 6)
 set (MapServer_VERSION_REVISION 0)
-set (MapServer_VERSION_SUFFIX "-beta2")
+set (MapServer_VERSION_SUFFIX "-rc1")
 
 # Set C++ version
 # Make CMAKE_CXX_STANDARD available as cache option overridable by user


=====================================
HISTORY.md
=====================================
@@ -13,6 +13,13 @@ https://mapserver.org/development/changelog/
 
 The online Migration Guide can be found at https://mapserver.org/MIGRATION_GUIDE.html
 
+8.6.0-rc1 release (2025-11-27)
+------------------------------
+
+- OGCAPI: return OGC-NumberReturned, OGC-NumberMatched and Link HTTP headers (#7390)
+
+- output GDAL files: fix from init=epsg:xxxx layers (#7392)
+
 8.6.0-beta2 release (2025-11-18)
 --------------------------------
 
@@ -21,6 +28,8 @@ The online Migration Guide can be found at https://mapserver.org/MIGRATION_GUIDE
 8.6.0-beta1 release (2025-11-13)
 --------------------------------
 
+- allow append of additional query parameters for OGCAPI: Features (#7360)
+
 - new MapServer index page (#7350)
 
 - WMS GetFeatureInfo: add options to precisely identify points through their symbols (#7318)


=====================================
ci/ubuntu/build.sh
=====================================
@@ -47,10 +47,10 @@ python -m http.server &> /dev/null &
 echo "PHP version"
 php -v
 PHPVersionMinor=$(php --version | head -n 1 | cut -d " " -f 2 | cut -c 1,3)
-if [ ${PHPVersionMinor} -gt 81 ]; then
-    cd php && curl -LO https://phar.phpunit.de/phpunit-11.phar
+if [ ${PHPVersionMinor} -gt 82 ]; then
+    cd php && curl -LO https://phar.phpunit.de/phpunit-12.phar
     echo "PHPUnit version"
-    php phpunit-11.phar --version
+    php phpunit-12.phar --version
 else
     cd php && curl -LO https://phar.phpunit.de/phpunit-10.phar
     echo "PHPUnit version"


=====================================
debian/changelog
=====================================
@@ -1,8 +1,10 @@
-mapserver (8.6.0~beta2-1~exp2) UNRELEASED; urgency=medium
+mapserver (8.6.0~rc1-1~exp1) experimental; urgency=medium
 
-  * Update symbols for other architectures.
+  * New upstream release candidate.
+  * Refresh patches.
+  * Update symbols for amd64.
 
- -- Bas Couwenberg <sebastic at debian.org>  Tue, 18 Nov 2025 20:21:46 +0100
+ -- Bas Couwenberg <sebastic at debian.org>  Thu, 27 Nov 2025 17:27:00 +0100
 
 mapserver (8.6.0~beta2-1~exp1) experimental; urgency=medium
 


=====================================
debian/libmapserver2t64.symbols
=====================================
@@ -1,4 +1,4 @@
-# SymbolsHelper-Confirmed: 8.6.0~beta2 armhf i386 powerpc
+# SymbolsHelper-Confirmed: 8.6.0~rc1 amd64
 libmapserver.so.2 #PACKAGE# #MINVER#
 * Build-Depends-Package: libmapserver-dev
  CompareEllipseRegion at Base 6.2.1
@@ -117,6 +117,7 @@ libmapserver.so.2 #PACKAGE# #MINVER#
  _Z17msStdStringEscapeB5cxx11PKc at Base 8.0.0
  _Z17msUnionLayerCloseP8layerObj at Base 8.0.0
  _Z18FLTGetGeosOperatorPc at Base 8.0.0
+ _Z18msOGCAPIOutputJsonRKN11ms_nlohmann10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerES2_IhSaIhEEEEPKcRKS1_IS8_S2_IS8_SaIS8_EESt4lessIS8_ESaISt4pairIKS8_SI_EEE at Base 8.6.0~rc1
  (arch=armhf i386 powerpc)_Z18msOGCAPIOutputJsonRKN11ms_nlohmann10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEbxydSaNS_14adl_serializerES2_IhSaIhEEEEPKcRKS1_IS8_S8_St4lessIS8_ESaISt4pairIKS8_S8_EEE at Base 8.6.0~beta1
  _Z18msSLDGetGraphicSLDP8styleObjP8layerObjii at Base 8.2.0
  _Z18msStringTrimBlanksRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE at Base 8.0.0
@@ -146,6 +147,7 @@ libmapserver.so.2 #PACKAGE# #MINVER#
  _Z22agg2RenderVectorSymbolP8imageObjddP9symbolObjP14symbolStyleObj at Base 6.2.1
  _Z22aggGetRasterBufferCopyP8imageObjP15rasterBufferObj at Base 6.2.1
  _Z22msLibXml2GetFirstChildP8_xmlNodePKc at Base 8.0.0
+ _Z22msOGCAPIOutputTemplatePKcS0_RKN11ms_nlohmann10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS1_14adl_serializerES4_IhSaIhEEEES0_ at Base 8.6.0~rc1
  (arch=armhf i386 powerpc)_Z22msOGCAPIOutputTemplatePKcS0_RKN11ms_nlohmann10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEbxydSaNS1_14adl_serializerES4_IhSaIhEEEES0_ at Base 8.6.0~beta1
  _Z22msOGRRecursiveFileListPKc at Base 7.6.0
  _Z22msRasterLabelLayerOpenP8layerObj at Base 8.4.0
@@ -498,6 +500,8 @@ libmapserver.so.2 #PACKAGE# #MINVER#
  (optional=templinst|arch=alpha amd64 arm64 ia64 loong64 mips64el ppc64 ppc64el riscv64 s390x sparc64)_ZN11ms_nlohmann6detail9iter_implIKNS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerES4_IhSaIhEEEEE9set_beginEv at Base 8.0.0
  (optional=templinst|arch=armel armhf i386 m68k powerpc)_ZN11ms_nlohmann6detail9iter_implIKNS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEbxydSaNS_14adl_serializerES4_IhSaIhEEEEE7set_endEv at Base 8.0.0
  (optional=templinst|arch=armel armhf i386 m68k mipsel powerpc)_ZN11ms_nlohmann6detail9iter_implIKNS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEbxydSaNS_14adl_serializerES4_IhSaIhEEEEE9set_beginEv at Base 8.0.0
+ (optional=templinst)_ZN11ms_nlohmann6detail9iter_implINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerES4_IhSaIhEEEEE7set_endEv at Base 8.6.0~rc1
+ (optional=templinst)_ZN11ms_nlohmann6detail9iter_implINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerES4_IhSaIhEEEEE9set_beginEv at Base 8.6.0~rc1
  (arch=!armel !armhf !i386 !m68k !mipsel !powerpc)_ZN11ms_nlohmanneqERKNS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerES2_IhSaIhEEEESE_ at Base 8.0.0
  (arch=armel armhf i386 m68k mipsel powerpc)_ZN11ms_nlohmanneqERKNS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEbxydSaNS_14adl_serializerES2_IhSaIhEEEESE_ at Base 8.0.0
  (arch=!armel !armhf !i386 !m68k !mipsel !powerpc)_ZN11ms_nlohmannltERKNS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerES2_IhSaIhEEEESE_ at Base 8.0.0
@@ -1023,12 +1027,16 @@ libmapserver.so.2 #PACKAGE# #MINVER#
  (optional=templinst|arch=armel riscv64|subst)_ZNSt10shared_ptrIN11ms_nlohmann10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEb{int64_t}{uint64_t}dSaNS0_14adl_serializerES3_IhSaIhEEEEEC2ISaIvEJiEEESt20_Sp_alloc_shared_tagIT_EDpOT0_ at Base 8.4.0
  (optional=templinst)_ZNSt10unique_ptrI10msExprNodeSt14default_deleteIS0_EED1Ev at Base 8.0.0
  (optional=templinst)_ZNSt10unique_ptrI10msExprNodeSt14default_deleteIS0_EED2Ev at Base 8.0.0
+ (optional=templinst)_ZNSt10unique_ptrINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEZN11ms_nlohmann10basic_jsonISt3mapSt6vectorS5_blmdSaNS6_14adl_serializerES9_IhSaIhEEE6createIS5_JRA10_KcEEEPT_DpOT0_EUlPS5_E_ED1Ev at Base 8.6.0~rc1
+ (optional=templinst)_ZNSt10unique_ptrINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEZN11ms_nlohmann10basic_jsonISt3mapSt6vectorS5_blmdSaNS6_14adl_serializerES9_IhSaIhEEE6createIS5_JRA10_KcEEEPT_DpOT0_EUlPS5_E_ED2Ev at Base 8.6.0~rc1
  (optional=templinst|arch=!armhf !i386 !powerpc)_ZNSt10unique_ptrINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEZN11ms_nlohmann10basic_jsonISt3mapSt6vectorS5_blmdSaNS6_14adl_serializerES9_IhSaIhEEE6createIS5_JRA15_KcEEEPT_DpOT0_EUlPS5_E_ED1Ev at Base 8.4.0
  (optional=templinst|arch=!armhf !i386 !powerpc)_ZNSt10unique_ptrINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEZN11ms_nlohmann10basic_jsonISt3mapSt6vectorS5_blmdSaNS6_14adl_serializerES9_IhSaIhEEE6createIS5_JRA15_KcEEEPT_DpOT0_EUlPS5_E_ED2Ev at Base 8.4.0
  (optional=templinst|arch=!armhf !i386 !powerpc)_ZNSt10unique_ptrINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEZN11ms_nlohmann10basic_jsonISt3mapSt6vectorS5_blmdSaNS6_14adl_serializerES9_IhSaIhEEE6createIS5_JRA18_KcEEEPT_DpOT0_EUlPS5_E_ED1Ev at Base 8.4.0
  (optional=templinst|arch=!armhf !i386 !powerpc)_ZNSt10unique_ptrINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEZN11ms_nlohmann10basic_jsonISt3mapSt6vectorS5_blmdSaNS6_14adl_serializerES9_IhSaIhEEE6createIS5_JRA18_KcEEEPT_DpOT0_EUlPS5_E_ED2Ev at Base 8.4.0
  (optional=templinst|arch=!armhf !i386 !powerpc)_ZNSt10unique_ptrINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEZN11ms_nlohmann10basic_jsonISt3mapSt6vectorS5_blmdSaNS6_14adl_serializerES9_IhSaIhEEE6createIS5_JRA1_KcEEEPT_DpOT0_EUlPS5_E_ED1Ev at Base 8.4.0
  (optional=templinst|arch=!armhf !i386 !powerpc)_ZNSt10unique_ptrINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEZN11ms_nlohmann10basic_jsonISt3mapSt6vectorS5_blmdSaNS6_14adl_serializerES9_IhSaIhEEE6createIS5_JRA1_KcEEEPT_DpOT0_EUlPS5_E_ED2Ev at Base 8.4.0
+ (optional=templinst)_ZNSt10unique_ptrINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEZN11ms_nlohmann10basic_jsonISt3mapSt6vectorS5_blmdSaNS6_14adl_serializerES9_IhSaIhEEE6createIS5_JRA25_KcEEEPT_DpOT0_EUlPS5_E_ED1Ev at Base 8.6.0~rc1
+ (optional=templinst)_ZNSt10unique_ptrINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEZN11ms_nlohmann10basic_jsonISt3mapSt6vectorS5_blmdSaNS6_14adl_serializerES9_IhSaIhEEE6createIS5_JRA25_KcEEEPT_DpOT0_EUlPS5_E_ED2Ev at Base 8.6.0~rc1
  (optional=templinst|arch=!armhf !i386 !powerpc)_ZNSt10unique_ptrINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEZN11ms_nlohmann10basic_jsonISt3mapSt6vectorS5_blmdSaNS6_14adl_serializerES9_IhSaIhEEE6createIS5_JRA27_KcEEEPT_DpOT0_EUlPS5_E_ED1Ev at Base 8.4.0
  (optional=templinst|arch=!armhf !i386 !powerpc)_ZNSt10unique_ptrINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEZN11ms_nlohmann10basic_jsonISt3mapSt6vectorS5_blmdSaNS6_14adl_serializerES9_IhSaIhEEE6createIS5_JRA27_KcEEEPT_DpOT0_EUlPS5_E_ED2Ev at Base 8.4.0
  (optional=templinst|arch=!armhf !i386 !powerpc)_ZNSt10unique_ptrINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEZN11ms_nlohmann10basic_jsonISt3mapSt6vectorS5_blmdSaNS6_14adl_serializerES9_IhSaIhEEE6createIS5_JRA31_KcEEEPT_DpOT0_EUlPS5_E_ED1Ev at Base 8.4.0
@@ -1037,6 +1045,12 @@ libmapserver.so.2 #PACKAGE# #MINVER#
  (optional=templinst|arch=!armhf !i386 !powerpc)_ZNSt10unique_ptrINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEZN11ms_nlohmann10basic_jsonISt3mapSt6vectorS5_blmdSaNS6_14adl_serializerES9_IhSaIhEEE6createIS5_JRA34_KcEEEPT_DpOT0_EUlPS5_E_ED2Ev at Base 8.4.0
  (optional=templinst|arch=!armhf !i386 !powerpc)_ZNSt10unique_ptrINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEZN11ms_nlohmann10basic_jsonISt3mapSt6vectorS5_blmdSaNS6_14adl_serializerES9_IhSaIhEEE6createIS5_JRA37_KcEEEPT_DpOT0_EUlPS5_E_ED1Ev at Base 8.4.0
  (optional=templinst|arch=!armhf !i386 !powerpc)_ZNSt10unique_ptrINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEZN11ms_nlohmann10basic_jsonISt3mapSt6vectorS5_blmdSaNS6_14adl_serializerES9_IhSaIhEEE6createIS5_JRA37_KcEEEPT_DpOT0_EUlPS5_E_ED2Ev at Base 8.4.0
+ (optional=templinst)_ZNSt10unique_ptrINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEZN11ms_nlohmann10basic_jsonISt3mapSt6vectorS5_blmdSaNS6_14adl_serializerES9_IhSaIhEEE6createIS5_JRA4_KcEEEPT_DpOT0_EUlPS5_E_ED1Ev at Base 8.6.0~rc1
+ (optional=templinst)_ZNSt10unique_ptrINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEZN11ms_nlohmann10basic_jsonISt3mapSt6vectorS5_blmdSaNS6_14adl_serializerES9_IhSaIhEEE6createIS5_JRA4_KcEEEPT_DpOT0_EUlPS5_E_ED2Ev at Base 8.6.0~rc1
+ (optional=templinst)_ZNSt10unique_ptrINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEZN11ms_nlohmann10basic_jsonISt3mapSt6vectorS5_blmdSaNS6_14adl_serializerES9_IhSaIhEEE6createIS5_JRA9_KcEEEPT_DpOT0_EUlPS5_E_ED1Ev at Base 8.6.0~rc1
+ (optional=templinst)_ZNSt10unique_ptrINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEZN11ms_nlohmann10basic_jsonISt3mapSt6vectorS5_blmdSaNS6_14adl_serializerES9_IhSaIhEEE6createIS5_JRA9_KcEEEPT_DpOT0_EUlPS5_E_ED2Ev at Base 8.6.0~rc1
+ (optional=templinst)_ZNSt10unique_ptrINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEZN11ms_nlohmann10basic_jsonISt3mapSt6vectorS5_blmdSaNS6_14adl_serializerES9_IhSaIhEEE6createIS5_JRKPcEEEPT_DpOT0_EUlPS5_E_ED1Ev at Base 8.6.0~rc1
+ (optional=templinst)_ZNSt10unique_ptrINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEZN11ms_nlohmann10basic_jsonISt3mapSt6vectorS5_blmdSaNS6_14adl_serializerES9_IhSaIhEEE6createIS5_JRKPcEEEPT_DpOT0_EUlPS5_E_ED2Ev at Base 8.6.0~rc1
  (optional=templinst|arch=!armhf !i386 !powerpc)_ZNSt10unique_ptrINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEZN11ms_nlohmann10basic_jsonISt3mapSt6vectorS5_blmdSaNS6_14adl_serializerES9_IhSaIhEEE6createIS5_JRKS5_EEEPT_DpOT0_EUlPS5_E_ED1Ev at Base 8.4.0
  (optional=templinst|arch=!armhf !i386 !powerpc)_ZNSt10unique_ptrINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEZN11ms_nlohmann10basic_jsonISt3mapSt6vectorS5_blmdSaNS6_14adl_serializerES9_IhSaIhEEE6createIS5_JRKS5_EEEPT_DpOT0_EUlPS5_E_ED2Ev at Base 8.4.0
  (optional=templinst|arch=armhf i386 powerpc)_ZNSt10unique_ptrINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEZN11ms_nlohmann10basic_jsonISt3mapSt6vectorS5_bxydSaNS6_14adl_serializerES9_IhSaIhEEE6createIS5_JRA10_KcEEEPT_DpOT0_EUlPS5_E_ED1Ev at Base 8.6.0~beta1
@@ -1328,7 +1342,6 @@ libmapserver.so.2 #PACKAGE# #MINVER#
  (optional=templinst|arch=!armhf !i386 !powerpc)_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN11ms_nlohmann10basic_jsonIS_St6vectorS5_blmdSaNS6_14adl_serializerES8_IhSaIhEEEESt4lessIvESaISt4pairIKS5_SC_EEEixERSG_ at Base 8.4.0
  (optional=templinst|arch=armel armhf i386 powerpc)_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN11ms_nlohmann10basic_jsonIS_St6vectorS5_bxydSaNS6_14adl_serializerES8_IhSaIhEEEESt4lessIvESaISt4pairIKS5_SC_EEEixERSG_ at Base 8.4.0
  (optional=templinst)_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN4inja8TemplateESt4lessIS5_ESaISt4pairIKS5_S7_EEEixERSB_ at Base 8.0.1
- (optional=templinst|arch=amd64 arm64 loong64 m68k mips64el ppc64el riscv64 sparc64)_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_St4lessIS5_ESaISt4pairIKS5_S5_EEEixEOS5_ at Base 8.2.0
  (optional=templinst)_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorIS5_SaIS5_EESt4lessIS5_ESaISt4pairIKS5_S8_EEEixEOS5_ at Base 8.6.0~beta1
  (optional=templinst|arch=!amd64 !arm64 !loong64 !mips64el !ppc64el !riscv64 !sparc64)_ZNSt3mapISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiEN4inja15FunctionStorage12FunctionDataESt4lessIS7_ESaIS0_IKS7_SA_EEEC1ESt16initializer_listISE_ERKSC_RKSF_ at Base 8.4.0
  (optional=templinst|arch=!amd64 !arm64 !loong64 !mips64el !ppc64el !riscv64 !sparc64)_ZNSt3mapISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiEN4inja15FunctionStorage12FunctionDataESt4lessIS7_ESaIS0_IKS7_SA_EEEC2ESt16initializer_listISE_ERKSC_RKSF_ at Base 8.4.0
@@ -1362,6 +1375,8 @@ libmapserver.so.2 #PACKAGE# #MINVER#
  (optional=templinst|arch=alpha amd64 arm64 ia64 kfreebsd-amd64 loong64 mips64el ppc64 ppc64el riscv64 s390x sparc64)_ZNSt6vectorIN10ClipperLib9ExPolygonESaIS1_EE17_M_default_appendEm at Base 7.0.2
  (optional=templinst)_ZNSt6vectorIN10ClipperLib9ExPolygonESaIS1_EE17_M_realloc_appendIJRKS1_EEEvDpOT_ at Base 8.2.2
  (optional=templinst|arch=!armel !armhf !i386 !m68k !mipsel !powerpc)_ZNSt6vectorIN11ms_nlohmann10basic_jsonISt3mapS_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS0_14adl_serializerES_IhSaIhEEEESaISC_EE17_M_default_appendEm at Base 8.0.0
+ (optional=templinst)_ZNSt6vectorIN11ms_nlohmann10basic_jsonISt3mapS_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS0_14adl_serializerES_IhSaIhEEEESaISC_EE17_M_realloc_appendIJRKSC_EEEvDpOT_ at Base 8.6.0~rc1
+ (optional=templinst)_ZNSt6vectorIN11ms_nlohmann10basic_jsonISt3mapS_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS0_14adl_serializerES_IhSaIhEEEESaISC_EE17_M_realloc_appendIJSC_EEEvDpOT_ at Base 8.6.0~rc1
  (optional=templinst|arch=!armel !armhf !i386 !m68k !mipsel !powerpc)_ZNSt6vectorIN11ms_nlohmann10basic_jsonISt3mapS_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS0_14adl_serializerES_IhSaIhEEEESaISC_EE7reserveEm at Base 8.0.0
  (optional=templinst|arch=!armel !armhf !i386 !m68k !mipsel !powerpc)_ZNSt6vectorIN11ms_nlohmann10basic_jsonISt3mapS_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS0_14adl_serializerES_IhSaIhEEEESaISC_EED1Ev at Base 8.0.0
  (optional=templinst|arch=!armel !armhf !i386 !m68k !mipsel !powerpc)_ZNSt6vectorIN11ms_nlohmann10basic_jsonISt3mapS_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS0_14adl_serializerES_IhSaIhEEEESaISC_EED2Ev at Base 8.0.0
@@ -1445,8 +1460,8 @@ libmapserver.so.2 #PACKAGE# #MINVER#
  (optional=templinst)_ZNSt8__detail18__to_chars_10_implIjEEvPcjT_ at Base 8.0.0
  (optional=templinst|arch=!armel !armhf !i386 !m68k !mipsel !powerpc)_ZNSt8__detail18__to_chars_10_implImEEvPcjT_ at Base 8.0.0
  (optional=templinst|arch=armel armhf i386 m68k mipsel powerpc)_ZNSt8__detail18__to_chars_10_implIyEEvPcjT_ at Base 8.0.0
- (optional=templinst|arch=arm64 riscv64 s390x sparc64)_ZNSt8functionIFN11ms_nlohmann10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS0_14adl_serializerES3_IhSaIhEEEERS3_IPKSD_SaISF_EEEEC1ERKSK_ at Base 8.6.0~beta1
- (optional=templinst|arch=arm64 riscv64 s390x sparc64)_ZNSt8functionIFN11ms_nlohmann10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS0_14adl_serializerES3_IhSaIhEEEERS3_IPKSD_SaISF_EEEEC2ERKSK_ at Base 8.6.0~beta1
+ (optional=templinst|arch=amd64 arm64 riscv64 s390x sparc64)_ZNSt8functionIFN11ms_nlohmann10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS0_14adl_serializerES3_IhSaIhEEEERS3_IPKSD_SaISF_EEEEC1ERKSK_ at Base 8.6.0~beta1
+ (optional=templinst|arch=amd64 arm64 riscv64 s390x sparc64)_ZNSt8functionIFN11ms_nlohmann10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS0_14adl_serializerES3_IhSaIhEEEERS3_IPKSD_SaISF_EEEEC2ERKSK_ at Base 8.6.0~beta1
  (optional=templinst|arch=!armel !armhf !i386 !m68k !mipsel !powerpc)_ZSt13__adjust_heapIN11ms_nlohmann6detail9iter_implINS0_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS0_14adl_serializerES5_IhSaIhEEEEEElSF_N9__gnu_cxx5__ops15_Iter_less_iterEEvT_T0_SL_T1_T2_ at Base 8.0.0
  (optional=templinst|arch=armel armhf i386 m68k mipsel powerpc)_ZSt13__adjust_heapIN11ms_nlohmann6detail9iter_implINS0_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEbxydSaNS0_14adl_serializerES5_IhSaIhEEEEEEiSF_N9__gnu_cxx5__ops15_Iter_less_iterEEvT_T0_SL_T1_T2_ at Base 8.0.0
  (optional=templinst|arch=!alpha !amd64 !arm64 !ia64 !kfreebsd-amd64 !loong64 !mips64el !ppc64 !ppc64el !riscv64 !s390x !sparc64)_ZSt13__adjust_heapIN9__gnu_cxx17__normal_iteratorIPPN10ClipperLib6OutRecESt6vectorIS4_SaIS4_EEEEiS4_NS0_5__ops15_Iter_comp_iterIPFbS4_S4_EEEEvT_T0_SG_T1_T2_ at Base 6.4.1


=====================================
debian/patches/java-hardening.patch → debian/patches/java-mapscript-install.patch
=====================================
@@ -1,36 +1,11 @@
-Description: fixes hardened java
- Java doesn't compile with hardened options. Adapted from ruby mapscript
+Description: Fix Java mapscript installation directories.
 Author: Ezequiel Lara Gómez <ezequiel.lara at qualitasremos.com>
 Bug-Debian: https://bugs.debian.org/740351
 Forwarded: not-needed
 
 --- a/src/mapscript/java/CMakeLists.txt
 +++ b/src/mapscript/java/CMakeLists.txt
-@@ -27,6 +27,23 @@ else ()
-     swig_add_module(javamapscript java ../mapscript.i)
- endif ()
- 
-+# Java mapscript fails to build with -Werror=format-security
-+
-+if(${CMAKE_C_FLAGS} MATCHES "-Werror=format-security")
-+  string(REPLACE "-Werror=format-security" "" TMP "${CMAKE_C_FLAGS}")
-+  set(CMAKE_C_FLAGS "${TMP}")
-+endif(${CMAKE_C_FLAGS} MATCHES "-Werror=format-security")
-+
-+if(${CMAKE_CXX_FLAGS} MATCHES "-Werror=format-security")
-+  string(REPLACE "-Werror=format-security" "" TMP "${CMAKE_CXX_FLAGS}")
-+  set(CMAKE_CXX_FLAGS "${TMP}")
-+endif(${CMAKE_CXX_FLAGS} MATCHES "-Werror=format-security")
-+
-+if(${CMAKE_CPP_FLAGS} MATCHES "-Werror=format-security")
-+  string(REPLACE "-Werror=format-security" "" TMP "${CMAKE_CPP_FLAGS}")
-+  set(CMAKE_CPP_FLAGS "${TMP}")
-+endif(${CMAKE_CPP_FLAGS} MATCHES "-Werror=format-security")
-+
- swig_link_libraries(javamapscript ${MAPSERVER_LIBMAPSERVER})
- 
- add_custom_command(TARGET javamapscript
-@@ -38,4 +55,5 @@ add_custom_command(TARGET javamapscript
+@@ -38,4 +38,5 @@ add_custom_command(TARGET javamapscript
                        )
  
  set(mapscript_files $<TARGET_FILE:${SWIG_MODULE_javamapscript_REAL_NAME}>)


=====================================
debian/patches/series
=====================================
@@ -1,2 +1,2 @@
 perl-mapscript-install.patch
-java-hardening.patch
+java-mapscript-install.patch


=====================================
scripts/build-mapscript-php.sh
=====================================
@@ -3,7 +3,7 @@ set -eu  # Exit on error and treat unset variables as errors
 
 cd "$WORK_DIR"
 
-# Ensure the Python version is provided
+# Ensure the PHP version is provided
 if [ -z "${PHP_VERSION:-}" ]; then
     echo "Error: PHP version not specified. Make sure to pass it as an environment variable."
     exit 1
@@ -29,7 +29,7 @@ add-apt-repository ppa:ondrej/php -y
 LC_ALL=C.UTF-8 add-apt-repository ppa:ondrej/php -y
 
 sudo apt-get -qq update
-sudo apt-get -qq install php"${PHP_VERSION}"-cli php"${PHP_VERSION}"-dev php"${PHP_VERSION}"-mbstring php"${PHP_VERSION}"-xml php"${PHP_VERSION}"-pcov php"${PHP_VERSION}"-xdebug
+sudo apt-get -qq install php"${PHP_VERSION}"-cli php"${PHP_VERSION}"-dev php"${PHP_VERSION}"-mbstring php"${PHP_VERSION}"-xml php"${PHP_VERSION}"-pcov
 
 # install build dependencies
 ci/ubuntu/setup.sh


=====================================
src/mapcontour.c
=====================================
@@ -593,10 +593,16 @@ static int msContourLayerGenerateContour(layerObj *layer) {
   }
 
   /* Create the OGR DataSource */
-  hDriver = OGRGetDriverByName("Memory");
+#if GDAL_VERSION_MAJOR > 3 ||                                                  \
+    (GDAL_VERSION_MAJOR == 3 && GDAL_VERSION_MINOR >= 11)
+  const char *pszDrvName = "MEM";
+#else
+  const char *pszDrvName = "Memory";
+#endif
+  hDriver = OGRGetDriverByName(pszDrvName);
   if (hDriver == NULL) {
-    msSetError(MS_OGRERR, "Unable to get OGR driver 'Memory'.",
-               "msContourLayerCreateOGRDataSource()");
+    msSetError(MS_OGRERR, "Unable to get OGR driver '%s'.",
+               "msContourLayerCreateOGRDataSource()", pszDrvName);
     return MS_FAILURE;
   }
 


=====================================
src/mapgdal.cpp
=====================================
@@ -638,8 +638,14 @@ char *msProjectionObj2OGCWKT(projectionObj *projection)
        (projection->numargs == 2 &&
         strstr(projection->args[1], "epsgaxis=") != NULL)) &&
       (pszInitEpsg = strcasestr(projection->args[0], "init=epsg:"))) {
-    int nEpsgCode = atoi(pszInitEpsg + strlen("init=epsg:"));
+    const int nEpsgCode = atoi(pszInitEpsg + strlen("init=epsg:"));
     eErr = OSRImportFromEPSG(hSRS, nEpsgCode);
+    if (eErr != OGRERR_NONE) {
+      // In case this is a pseudo EPSG code only defined in a text 'epsg'
+      // file and not in proj.db
+      eErr = OSRSetFromUserInput(
+          hSRS, std::string("+").append(projection->args[0]).c_str());
+    }
   } else {
     /* -------------------------------------------------------------------- */
     /*      Form arguments into a full Proj.4 definition string.            */


=====================================
src/mapogcapi.cpp
=====================================
@@ -928,7 +928,7 @@ static json getCollection(mapObj *map, layerObj *layer, OGCAPIFormat format,
 
 void msOGCAPIOutputJson(
     const json &j, const char *mimetype,
-    const std::map<std::string, std::string> &extraHeaders) {
+    const std::map<std::string, std::vector<std::string>> &extraHeaders) {
   std::string js;
 
   try {
@@ -941,7 +941,9 @@ void msOGCAPIOutputJson(
 
   msIO_setHeader("Content-Type", "%s", mimetype);
   for (const auto &kvp : extraHeaders) {
-    msIO_setHeader(kvp.first.c_str(), "%s", kvp.second.c_str());
+    for (const auto &value : kvp.second) {
+      msIO_setHeader(kvp.first.c_str(), "%s", value.c_str());
+    }
   }
   msIO_sendHeaders();
   msIO_printf("%s\n", js.c_str());
@@ -998,11 +1000,11 @@ void msOGCAPIOutputTemplate(const char *directory, const char *filename,
 /*
 ** Generic response output.
 */
-static void
-outputResponse(mapObj *map, cgiRequestObj *request, OGCAPIFormat format,
-               const char *filename, const json &response,
-               const std::map<std::string, std::string> &extraHeaders =
-                   std::map<std::string, std::string>()) {
+static void outputResponse(
+    mapObj *map, cgiRequestObj *request, OGCAPIFormat format,
+    const char *filename, const json &response,
+    const std::map<std::string, std::vector<std::string>> &extraHeaders =
+        std::map<std::string, std::vector<std::string>>()) {
   std::string path;
   char fullpath[MS_MAXPATHLEN];
 
@@ -1218,7 +1220,7 @@ static int processCollectionItemsRequest(mapObj *map, cgiRequestObj *request,
   std::string outputCrs = "EPSG:4326";
   bool outputCrsAxisInverted =
       false; // because above EPSG:4326 is meant to be OGC:CRS84 actually
-  std::map<std::string, std::string> extraHeaders;
+  std::map<std::string, std::vector<std::string>> extraHeaders;
   if (crs) {
     bool isExpectedCrs = false;
     for (const auto &crsItem : getCrsList(map, layer)) {
@@ -1231,7 +1233,7 @@ static int processCollectionItemsRequest(mapObj *map, cgiRequestObj *request,
       msOGCAPIOutputError(OGCAPI_PARAM_ERROR, "Bad value for crs.");
       return MS_SUCCESS;
     }
-    extraHeaders["Content-Crs"] = '<' + std::string(crs) + '>';
+    extraHeaders["Content-Crs"].push_back('<' + std::string(crs) + '>');
     if (std::string(crs) != CRS84_URL) {
       if (std::string(crs).find(EPSG_PREFIX_URL) == 0) {
         const char *code = crs + strlen(EPSG_PREFIX_URL);
@@ -1240,7 +1242,7 @@ static int processCollectionItemsRequest(mapObj *map, cgiRequestObj *request,
       }
     }
   } else {
-    extraHeaders["Content-Crs"] = '<' + std::string(CRS84_URL) + '>';
+    extraHeaders["Content-Crs"].push_back('<' + std::string(CRS84_URL) + '>');
   }
 
   struct ReprojectionObjects {
@@ -1466,6 +1468,19 @@ static int processCollectionItemsRequest(mapObj *map, cgiRequestObj *request,
                 other_extra_kvp + extra_params}});
     }
 
+    extraHeaders["OGC-NumberReturned"].push_back(
+        std::to_string(layer->resultcache->numresults));
+    extraHeaders["OGC-NumberMatched"].push_back(std::to_string(numberMatched));
+    std::vector<std::string> linksHeaders;
+    for (auto &link : response["links"]) {
+      linksHeaders.push_back("<" + link["href"].get<std::string>() +
+                             ">; rel=\"" + link["rel"].get<std::string>() +
+                             "\"; title=\"" + link["title"].get<std::string>() +
+                             "\"; type=\"" + link["type"].get<std::string>() +
+                             "\"");
+    }
+    extraHeaders["Link"] = std::move(linksHeaders);
+
     msFree(id_encoded); // done
   }
 


=====================================
src/mapogcapi.h
=====================================
@@ -70,8 +70,9 @@ std::string msOGCAPIGetApiRootUrl(mapObj *map, cgiRequestObj *request,
 void msOGCAPIOutputError(OGCAPIErrorType errorType,
                          const std::string &description);
 
-void msOGCAPIOutputJson(const nlohmann::json &j, const char *mimetype,
-                        const std::map<std::string, std::string> &extraHeaders);
+void msOGCAPIOutputJson(
+    const nlohmann::json &j, const char *mimetype,
+    const std::map<std::string, std::vector<std::string>> &extraHeaders);
 
 void msOGCAPIOutputTemplate(const char *directory, const char *filename,
                             const nlohmann::json &j, const char *mimetype);


=====================================
src/mapscript/csharp/CMakeLists.txt
=====================================
@@ -53,7 +53,7 @@ else()
 	set_target_properties(mapscript PROPERTIES OUTPUT_NAME "libmapscript")
 endif()
 
-SWIG_LINK_LIBRARIES(mapscript ${MAPSERVER_LIBMAPSERVER})
+target_link_libraries(mapscript PRIVATE ${MAPSERVER_LIBMAPSERVER})
 
 
 


=====================================
src/mapscript/java/CMakeLists.txt
=====================================
@@ -27,7 +27,7 @@ else ()
     swig_add_module(javamapscript java ../mapscript.i)
 endif ()
 
-swig_link_libraries(javamapscript ${MAPSERVER_LIBMAPSERVER})
+target_link_libraries(javamapscript PRIVATE ${MAPSERVER_LIBMAPSERVER})
 
 add_custom_command(TARGET javamapscript
                       WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}


=====================================
src/mapscript/perl/CMakeLists.txt
=====================================
@@ -17,7 +17,7 @@ else ()
     swig_add_module(perlmapscript perl5 ../mapscript.i)
 endif ()
 
-SWIG_LINK_LIBRARIES(perlmapscript ${PERL_LIBRARIES} ${MAPSERVER_LIBMAPSERVER})
+target_link_libraries(perlmapscript PRIVATE ${PERL_LIBRARIES} ${MAPSERVER_LIBMAPSERVER})
 set_target_properties(perlmapscript PROPERTIES OUTPUT_NAME mapscript)
 set_target_properties(perlmapscript PROPERTIES PREFIX "")
 if(APPLE)


=====================================
src/mapscript/phpng/CMakeLists.txt
=====================================
@@ -57,7 +57,7 @@ if(WIN32)
   if(WITH_THREAD_SAFETY)
     target_compile_options(php_mapscriptng PRIVATE /DZTS=1)
   endif(WITH_THREAD_SAFETY)
-  SWIG_LINK_LIBRARIES(php_mapscriptng ${PHP_LIBRARY})
+  target_link_libraries(php_mapscriptng PRIVATE ${PHP_LIBRARY})
 endif(WIN32)
 
 IF(APPLE)


=====================================
src/mapscript/python/CMakeLists.txt
=====================================
@@ -27,7 +27,7 @@ else ()
     swig_add_module(pythonmapscript python ${SwigFile})
 endif ()
 
-swig_link_libraries(pythonmapscript ${Python_LIBRARIES} ${MAPSERVER_LIBMAPSERVER})
+target_link_libraries(pythonmapscript ${Python_LIBRARIES} ${MAPSERVER_LIBMAPSERVER})
 
 set_target_properties(${SWIG_MODULE_pythonmapscript_REAL_NAME} PROPERTIES PREFIX "")
 set_target_properties(${SWIG_MODULE_pythonmapscript_REAL_NAME} PROPERTIES OUTPUT_NAME _mapscript)


=====================================
src/mapscript/ruby/CMakeLists.txt
=====================================
@@ -13,7 +13,7 @@ else ()
     swig_add_module(rubymapscript ruby ../mapscript.i)
 endif ()
 
-swig_link_libraries(rubymapscript ${RUBY_LIBRARY} ${MAPSERVER_LIBMAPSERVER})
+target_link_libraries(rubymapscript PRIVATE ${RUBY_LIBRARY} ${MAPSERVER_LIBMAPSERVER})
 
 set_target_properties(${SWIG_MODULE_rubymapscript_REAL_NAME} PROPERTIES PREFIX "")
 set_target_properties(${SWIG_MODULE_rubymapscript_REAL_NAME} PROPERTIES OUTPUT_NAME mapscript)



View it on GitLab: https://salsa.debian.org/debian-gis-team/mapserver/-/compare/3ef05e340234385f1042cb5742d52af2cd73909e...4640c0892bac76c7f6aaf74923a288c27a15f9d1

-- 
View it on GitLab: https://salsa.debian.org/debian-gis-team/mapserver/-/compare/3ef05e340234385f1042cb5742d52af2cd73909e...4640c0892bac76c7f6aaf74923a288c27a15f9d1
You're receiving this email because of your account on salsa.debian.org.


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://alioth-lists.debian.net/pipermail/pkg-grass-devel/attachments/20251127/40749649/attachment-0001.htm>


More information about the Pkg-grass-devel mailing list