[Git][debian-gis-team/postgis][master] Add patch to fix FTBFS with SFCGAL 2.3.0.

Bas Couwenberg (@sebastic) gitlab at salsa.debian.org
Fri Jun 12 19:04:06 BST 2026



Bas Couwenberg pushed to branch master at Debian GIS Project / postgis


Commits:
cc887084 by Bas Couwenberg at 2026-06-12T19:56:24+02:00
Add patch to fix FTBFS with SFCGAL 2.3.0.

- - - - -


4 changed files:

- debian/changelog
- debian/control
- debian/patches/series
- + debian/patches/sfcgal-2.3.0.patch


Changes:

=====================================
debian/changelog
=====================================
@@ -1,3 +1,9 @@
+postgis (3.6.4+dfsg-2) UNRELEASED; urgency=medium
+
+  * Add patch to fix FTBFS with SFCGAL 2.3.0.
+
+ -- Bas Couwenberg <sebastic at debian.org>  Fri, 12 Jun 2026 19:38:52 +0200
+
 postgis (3.6.4+dfsg-1) unstable; urgency=medium
 
   * New upstream release.


=====================================
debian/control
=====================================
@@ -51,15 +51,15 @@ Description: Geographic objects support for PostgreSQL
  This package contains the PostGIS userland binaries for importing and
  exporting shape and raster files: pgsql2shp, raster2pgsql, and shp2pgsql.
 
-Package: postgresql-18-postgis-3
+Package: postgresql-17-postgis-3
 Architecture: any
-Depends: postgresql-18,
-         postgresql-18-postgis-3-scripts,
+Depends: postgresql-17,
+         postgresql-17-postgis-3-scripts,
          ${shlibs:Depends},
          ${misc:Depends}
 Suggests: postgis
-Provides: postgresql-18-postgis
-Description: Geographic objects support for PostgreSQL 18
+Provides: postgresql-17-postgis
+Description: Geographic objects support for PostgreSQL 17
  PostGIS adds support for geographic objects to the PostgreSQL
  object-relational database. In effect, PostGIS "spatially enables"
  the PostgreSQL server, allowing it to be used as a backend spatial
@@ -67,13 +67,13 @@ Description: Geographic objects support for PostgreSQL 18
  SDE or Oracle's Spatial extension. PostGIS follows the OpenGIS
  "Simple Features Specification for SQL".
 
-Package: postgresql-18-postgis-3-scripts
+Package: postgresql-17-postgis-3-scripts
 Architecture: all
 Multi-Arch: foreign
 Depends: ${misc:Depends}
-Recommends: postgresql-18-postgis-3
-Provides: postgresql-18-postgis-scripts
-Description: Geographic objects support for PostgreSQL 18 -- SQL scripts
+Recommends: postgresql-17-postgis-3
+Provides: postgresql-17-postgis-scripts
+Description: Geographic objects support for PostgreSQL 17 -- SQL scripts
  PostGIS adds support for geographic objects to the PostgreSQL
  object-relational database. In effect, PostGIS "spatially enables"
  the PostgreSQL server, allowing it to be used as a backend spatial
@@ -82,13 +82,13 @@ Description: Geographic objects support for PostgreSQL 18 -- SQL scripts
  "Simple Features Specification for SQL".
  .
  This package contains the SQL scripts for installing PostGIS in a PostgreSQL
- 18 database, and for upgrading from earlier PostGIS versions.
+ 17 database, and for upgrading from earlier PostGIS versions.
 
 Package: postgresql-postgis
 Architecture: any
 Section: metapackages
 Depends: postgresql-postgis-scripts,
-         postgresql-18-postgis-3,
+         postgresql-17-postgis-3,
          ${misc:Depends}
 Description: Geographic objects support for PostgreSQL -- Metapackage
  PostGIS adds support for geographic objects to the PostgreSQL
@@ -98,12 +98,12 @@ Description: Geographic objects support for PostgreSQL -- Metapackage
  SDE or Oracle's Spatial extension. PostGIS follows the OpenGIS
  "Simple Features Specification for SQL".
  .
- This metapackage depends on the PostGIS package for PostgreSQL 18.
+ This metapackage depends on the PostGIS package for PostgreSQL 17.
 
 Package: postgresql-postgis-scripts
 Architecture: all
 Multi-Arch: foreign
-Depends: postgresql-18-postgis-3-scripts,
+Depends: postgresql-17-postgis-3-scripts,
          ${misc:Depends}
 Description: Geographic objects support for PostgreSQL -- SQL scripts metapackage
  PostGIS adds support for geographic objects to the PostgreSQL
@@ -114,4 +114,4 @@ Description: Geographic objects support for PostgreSQL -- SQL scripts metapackag
  "Simple Features Specification for SQL".
  .
  This metapackage depends on the PostGIS scripts package for
- PostgreSQL 18.
+ PostgreSQL 17.


=====================================
debian/patches/series
=====================================
@@ -1,3 +1,4 @@
 relax-test-timing-constraints.patch
 chaikin
 incorrect-path-for-interpreter.patch
+sfcgal-2.3.0.patch


=====================================
debian/patches/sfcgal-2.3.0.patch
=====================================
@@ -0,0 +1,95 @@
+Description: Remove tests that fail with SFCGAL 2.3.0.
+Author: Bas Couwenberg <sebastic at debian.org>
+Bug: https://trac.osgeo.org/postgis/ticket/6081
+
+--- a/sfcgal/regress/tests.mk.in
++++ b/sfcgal/regress/tests.mk.in
+@@ -17,15 +17,9 @@ TESTS += \
+ 		$(top_srcdir)/sfcgal/regress/regress_sfcgal \
+ 		$(top_srcdir)/sfcgal/regress/approximatemedialaxis.sql
+ 
+-ifeq ($(shell expr "$(POSTGIS_SFCGAL_VERSION)" ">=" 10401),1)
+-	TESTS += \
+-		$(top_srcdir)/sfcgal/regress/alphashape.sql
+-endif
+-
+ ifeq ($(shell expr "$(POSTGIS_SFCGAL_VERSION)" ">=" 10500),1)
+ 	TESTS += \
+-		$(top_srcdir)/sfcgal/regress/partition.sql \
+-		$(top_srcdir)/sfcgal/regress/extrudestraigthskeleton.sql
++		$(top_srcdir)/sfcgal/regress/partition.sql
+ endif
+ 
+ ifeq ($(shell expr "$(POSTGIS_SFCGAL_VERSION)" ">=" 10501),1)
+--- a/sfcgal/regress/alphashape.sql
++++ /dev/null
+@@ -1,9 +0,0 @@
+-SELECT 'CG_AlphaShape_default',
+-	ST_AsText(CG_AlphaShape('MultiPoint ((6.3 8.4),(7.6 8.8),(6.8 7.3),(5.3 1.8),(9.1 5),(8.1 7),(8.8 2.9),(2.4 8.2),(3.2 5.1),(3.7 2.3),(2.7 5.4),(8.4 1.9),(7.5 8.7),(4.4 4.2),(7.7 6.7),(9 3),(3.6 6.1),(3.2 6.5),(8.1 4.7),(8.8 5.8),(6.8 7.3),(4.9 9.5),(8.1 6),(8.7 5),(7.8 1.6),(7.9 2.1),(3 2.2),(7.8 4.3),(2.6 8.5),(4.8 3.4),(3.5 3.5),(3.6 4),(3.1 7.9),(8.3 2.9),(2.7 8.4),(5.2 9.8),(7.2 9.5),(8.5 7.1),(7.5 8.4),(7.5 7.7),(8.1 2.9),(7.7 7.3),(4.1 4.2),(8.3 7.2),(2.3 3.6),(8.9 5.3),(2.7 5.7),(5.7 9.7),(2.7 7.7),(3.9 8.8),(6 8.1),(8 7.2),(5.4 3.2),(5.5 2.6),(6.2 2.2),(7 2),(7.6 2.7),(8.4 3.5),(8.7 4.2),(8.2 5.4),(8.3 6.4),(6.9 8.6),(6 9),(5 8.6),(4.3 8),(3.6 7.3),(3.6 6.8),(4 7.5),(2.4 6.7),(2.3 6),(2.6 4.4),(2.8 3.3),(4 3.2),(4.3 1.9),(6.5 1.6),(7.3 1.6),(3.8 4.6),(3.1 5.9),(3.4 8.6),(4.5 9),(6.4 9.7))'));
+-SELECT 'CG_AlphaShape_hole',
+-	ST_AsText(CG_AlphaShape('MultiPoint ((6.3 8.4),(7.6 8.8),(6.8 7.3),(5.3 1.8),(9.1 5),(8.1 7),(8.8 2.9),(2.4 8.2),(3.2 5.1),(3.7 2.3),(2.7 5.4),(8.4 1.9),(7.5 8.7),(4.4 4.2),(7.7 6.7),(9 3),(3.6 6.1),(3.2 6.5),(8.1 4.7),(8.8 5.8),(6.8 7.3),(4.9 9.5),(8.1 6),(8.7 5),(7.8 1.6),(7.9 2.1),(3 2.2),(7.8 4.3),(2.6 8.5),(4.8 3.4),(3.5 3.5),(3.6 4),(3.1 7.9),(8.3 2.9),(2.7 8.4),(5.2 9.8),(7.2 9.5),(8.5 7.1),(7.5 8.4),(7.5 7.7),(8.1 2.9),(7.7 7.3),(4.1 4.2),(8.3 7.2),(2.3 3.6),(8.9 5.3),(2.7 5.7),(5.7 9.7),(2.7 7.7),(3.9 8.8),(6 8.1),(8 7.2),(5.4 3.2),(5.5 2.6),(6.2 2.2),(7 2),(7.6 2.7),(8.4 3.5),(8.7 4.2),(8.2 5.4),(8.3 6.4),(6.9 8.6),(6 9),(5 8.6),(4.3 8),(3.6 7.3),(3.6 6.8),(4 7.5),(2.4 6.7),(2.3 6),(2.6 4.4),(2.8 3.3),(4 3.2),(4.3 1.9),(6.5 1.6),(7.3 1.6),(3.8 4.6),(3.1 5.9),(3.4 8.6),(4.5 9),(6.4 9.7))', allow_holes => true));
+-
+-SELECT 'CG_OptimalAlphaShape_default',
+-  ST_AsText(CG_OptimalAlphaShape('MultiPoint ((6.3 8.4),(7.6 8.8),(6.8 7.3),(5.3 1.8),(9.1 5),(8.1 7),(8.8 2.9),(2.4 8.2),(3.2 5.1),(3.7 2.3),(2.7 5.4),(8.4 1.9),(7.5 8.7),(4.4 4.2),(7.7 6.7),(9 3),(3.6 6.1),(3.2 6.5),(8.1 4.7),(8.8 5.8),(6.8 7.3),(4.9 9.5),(8.1 6),(8.7 5),(7.8 1.6),(7.9 2.1),(3 2.2),(7.8 4.3),(2.6 8.5),(4.8 3.4),(3.5 3.5),(3.6 4),(3.1 7.9),(8.3 2.9),(2.7 8.4),(5.2 9.8),(7.2 9.5),(8.5 7.1),(7.5 8.4),(7.5 7.7),(8.1 2.9),(7.7 7.3),(4.1 4.2),(8.3 7.2),(2.3 3.6),(8.9 5.3),(2.7 5.7),(5.7 9.7),(2.7 7.7),(3.9 8.8),(6 8.1),(8 7.2),(5.4 3.2),(5.5 2.6),(6.2 2.2),(7 2),(7.6 2.7),(8.4 3.5),(8.7 4.2),(8.2 5.4),(8.3 6.4),(6.9 8.6),(6 9),(5 8.6),(4.3 8),(3.6 7.3),(3.6 6.8),(4 7.5),(2.4 6.7),(2.3 6),(2.6 4.4),(2.8 3.3),(4 3.2),(4.3 1.9),(6.5 1.6),(7.3 1.6),(3.8 4.6),(3.1 5.9),(3.4 8.6),(4.5 9),(6.4 9.7))'));
+-SELECT 'CG_OptimalAlphaShape_hole',
+-	ST_AsText(CG_OptimalAlphaShape('MultiPoint ((6.3 8.4),(7.6 8.8),(6.8 7.3),(5.3 1.8),(9.1 5),(8.1 7),(8.8 2.9),(2.4 8.2),(3.2 5.1),(3.7 2.3),(2.7 5.4),(8.4 1.9),(7.5 8.7),(4.4 4.2),(7.7 6.7),(9 3),(3.6 6.1),(3.2 6.5),(8.1 4.7),(8.8 5.8),(6.8 7.3),(4.9 9.5),(8.1 6),(8.7 5),(7.8 1.6),(7.9 2.1),(3 2.2),(7.8 4.3),(2.6 8.5),(4.8 3.4),(3.5 3.5),(3.6 4),(3.1 7.9),(8.3 2.9),(2.7 8.4),(5.2 9.8),(7.2 9.5),(8.5 7.1),(7.5 8.4),(7.5 7.7),(8.1 2.9),(7.7 7.3),(4.1 4.2),(8.3 7.2),(2.3 3.6),(8.9 5.3),(2.7 5.7),(5.7 9.7),(2.7 7.7),(3.9 8.8),(6 8.1),(8 7.2),(5.4 3.2),(5.5 2.6),(6.2 2.2),(7 2),(7.6 2.7),(8.4 3.5),(8.7 4.2),(8.2 5.4),(8.3 6.4),(6.9 8.6),(6 9),(5 8.6),(4.3 8),(3.6 7.3),(3.6 6.8),(4 7.5),(2.4 6.7),(2.3 6),(2.6 4.4),(2.8 3.3),(4 3.2),(4.3 1.9),(6.5 1.6),(7.3 1.6),(3.8 4.6),(3.1 5.9),(3.4 8.6),(4.5 9),(6.4 9.7))', allow_holes => true));
+--- a/sfcgal/regress/alphashape_expected
++++ /dev/null
+@@ -1,4 +0,0 @@
+-CG_AlphaShape_default|POLYGON((8.9 5.3,9.1 5,8.7 4.2,9 3,8.4 1.9,7.8 1.6,7.3 1.6,6.5 1.6,5.3 1.8,4.3 1.9,3.7 2.3,3 2.2,2.8 3.3,2.3 3.6,2.6 4.4,2.7 5.4,2.3 6,2.4 6.7,2.7 7.7,2.4 8.2,2.6 8.5,3.4 8.6,3.9 8.8,4.5 9,4.9 9.5,5.2 9.8,5.7 9.7,6.4 9.7,7.2 9.5,7.6 8.8,7.5 8.4,8.3 7.2,8.5 7.1,8.8 5.8,8.9 5.3))
+-CG_AlphaShape_hole|POLYGON((8.9 5.3,9.1 5,8.7 4.2,9 3,8.4 1.9,7.8 1.6,7.3 1.6,6.5 1.6,5.3 1.8,4.3 1.9,3.7 2.3,3 2.2,2.8 3.3,2.3 3.6,2.6 4.4,2.7 5.4,2.3 6,2.4 6.7,2.7 7.7,2.4 8.2,2.6 8.5,3.4 8.6,3.9 8.8,4.5 9,4.9 9.5,5.2 9.8,5.7 9.7,6.4 9.7,7.2 9.5,7.6 8.8,7.5 8.4,8.3 7.2,8.5 7.1,8.8 5.8,8.9 5.3),(3.6 6.1,3.6 6.8,4 7.5,4.3 8,6 8.1,6.8 7.3,7.7 6.7,8.1 6,8.2 5.4,8.1 4.7,7.8 4.3,7.6 2.7,6.2 2.2,5.4 3.2,4.4 4.2,3.8 4.6,3.6 6.1))
+-CG_OptimalAlphaShape_default|POLYGON((8.9 5.3,9.1 5,8.7 4.2,9 3,8.8 2.9,8.4 1.9,7.8 1.6,7.3 1.6,6.5 1.6,5.3 1.8,4.3 1.9,3.7 2.3,3 2.2,2.8 3.3,2.3 3.6,2.6 4.4,2.7 5.4,2.3 6,2.4 6.7,2.7 7.7,2.4 8.2,2.6 8.5,3.4 8.6,3.9 8.8,4.5 9,4.9 9.5,5.2 9.8,5.7 9.7,6.4 9.7,7.2 9.5,7.6 8.8,7.5 8.4,7.5 7.7,8.3 7.2,8.5 7.1,8.3 6.4,8.8 5.8,8.9 5.3))
+-CG_OptimalAlphaShape_hole|POLYGON((8.9 5.3,9.1 5,8.7 4.2,9 3,8.8 2.9,8.4 1.9,7.8 1.6,7.3 1.6,6.5 1.6,5.3 1.8,4.3 1.9,3.7 2.3,3 2.2,2.8 3.3,2.3 3.6,2.6 4.4,2.7 5.4,2.3 6,2.4 6.7,2.7 7.7,2.4 8.2,2.6 8.5,3.4 8.6,3.9 8.8,4.5 9,4.9 9.5,5.2 9.8,5.7 9.7,6.4 9.7,7.2 9.5,7.6 8.8,7.5 8.4,7.5 7.7,8.3 7.2,8.5 7.1,8.3 6.4,8.8 5.8,8.9 5.3),(3.6 6.1,3.6 6.8,4 7.5,4.3 8,5 8.6,6 8.1,6.8 7.3,7.7 6.7,8.1 6,8.2 5.4,8.1 4.7,7.8 4.3,8.1 2.9,7.6 2.7,7 2,6.2 2.2,5.5 2.6,5.4 3.2,4.8 3.4,4.4 4.2,3.8 4.6,3.6 6.1))
+--- a/sfcgal/regress/extrudestraigthskeleton.sql
++++ /dev/null
+@@ -1,43 +0,0 @@
+-SELECT 'Extrude roof', ST_AsText(CG_ExtrudeStraightSkeleton('POLYGON (( 0 0, 5 0, 5 5, 4 5, 4 4, 0 4, 0 0 ), (1 1, 1 2,2 2, 2 1, 1 1))', 2.0));
+-WITH
+-  version_info AS (
+-    -- The result depends on the SFCGAL Version.
+-    -- Prior to version 2.2, it contained extra patches.
+-    SELECT
+-      string_to_array(postgis_sfcgal_version (), '.')::INT[] AS sfcgal_version_array
+-  ),
+-  skeleton AS (
+-    SELECT
+-      ST_NumPatches (
+-        CG_ExtrudeStraightSkeleton (
+-          'POLYGON (( 0 0, 5 0, 5 5, 4 5, 4 4, 0 4, 0 0 ), (1 1, 1 2,2 2, 2 1, 1 1))',
+-          3.0,
+-          2.0
+-        )
+-      ) AS num_patches
+-  ),
+-  check_patches AS (
+-    SELECT
+-      sfcgal_version_array,
+-      num_patches,
+-      (
+-        (
+-          sfcgal_version_array <= ARRAY[2, 1, 0]
+-          AND num_patches = 49
+-        )
+-        OR (
+-          sfcgal_version_array > ARRAY[2, 1, 0]
+-          AND num_patches = 39
+-        )
+-      ) AS test_result
+-    FROM
+-      skeleton,
+-      version_info
+-  )
+-SELECT
+-  'Extrude building and roof',
+-  test_result
+-FROM
+-  check_patches;
+-SELECT 'Empty building and roof', ST_AsText(CG_ExtrudeStraightSkeleton(ST_GeomFromText('POLYGON EMPTY',4326), 20.1, 20.1));
+-SELECT 'Empty roof', ST_AsText(CG_ExtrudeStraightSkeleton(ST_GeomFromText('POLYGON EMPTY',4326), 20.1));
+--- a/sfcgal/regress/extrudestraigthskeleton_expected
++++ /dev/null
+@@ -1,4 +0,0 @@
+-Extrude roof|POLYHEDRALSURFACE Z (((4 5 0,5 5 0,4 4 0,4 5 0)),((2 1 0,5 0 0,0 0 0,2 1 0)),((5 5 0,5 0 0,4 4 0,5 5 0)),((2 1 0,0 0 0,1 1 0,2 1 0)),((1 2 0,1 1 0,0 0 0,1 2 0)),((0 4 0,2 2 0,1 2 0,0 4 0)),((0 4 0,1 2 0,0 0 0,0 4 0)),((4 4 0,5 0 0,2 2 0,4 4 0)),((4 4 0,2 2 0,0 4 0,4 4 0)),((2 2 0,5 0 0,2 1 0,2 2 0)),((0.5 2.5 0.5,0 0 0,0.5 0.5 0.5,0.5 2.5 0.5)),((1 3 1,0 4 0,0.5 2.5 0.5,1 3 1)),((0.5 2.5 0.5,0 4 0,0 0 0,0.5 2.5 0.5)),((2.5 0.5 0.5,5 0 0,3.5 1.5 1.5,2.5 0.5 0.5)),((0 0 0,5 0 0,2.5 0.5 0.5,0 0 0)),((0.5 0.5 0.5,0 0 0,2.5 0.5 0.5,0.5 0.5 0.5)),((4.5 3.5 0.5,5 5 0,4.5 4.5 0.5,4.5 3.5 0.5)),((3.5 2.5 1.5,3.5 1.5 1.5,4.5 3.5 0.5,3.5 2.5 1.5)),((4.5 3.5 0.5,5 0 0,5 5 0,4.5 3.5 0.5)),((3.5 1.5 1.5,5 0 0,4.5 3.5 0.5,3.5 1.5 1.5)),((5 5 0,4 5 0,4.5 4.5 0.5,5 5 0)),((4.5 4.5 0.5,4 4 0,4.5 3.5 0.5,4.5 4.5 0.5)),((4.5 4.5 0.5,4 5 0,4 4 0,4.5 4.5 0.5)),((3 3 1,0 4 0,1 3 1,3 3 1)),((3.5 2.5 1.5,4.5 3.5 0.5,3 3 1,3.5 2.5 1.5)),((3 3 1,4 4 0,0 4 0,3 3 1)),((4.5 3.5 0.5,4 4 0,3 3 1,4.5 3.5 0.5)),((2 1 0,1 1 0,0.5 0.5 0.5,2 1 0)),((2.5 0.5 0.5,2 1 0,0.5 0.5 0.5,2.5 0.5 0.5)),((1 1 0,1 2 0,0.5 2.5 0.5,1 1 0)),((0.5 0.5 0.5,1 1 0,0.5 2.5 0.5,0.5 0.5 0.5)),((1 3 1,2 2 0,3 3 1,1 3 1)),((0.5 2.5 0.5,1 2 0,1 3 1,0.5 2.5 0.5)),((1 3 1,1 2 0,2 2 0,1 3 1)),((2 2 0,2 1 0,2.5 0.5 0.5,2 2 0)),((3.5 2.5 1.5,3 3 1,3.5 1.5 1.5,3.5 2.5 1.5)),((3.5 1.5 1.5,2 2 0,2.5 0.5 0.5,3.5 1.5 1.5)),((3 3 1,2 2 0,3.5 1.5 1.5,3 3 1)))
+-Extrude building and roof|t
+-Empty building and roof|POLYHEDRALSURFACE EMPTY
+-Empty roof|POLYHEDRALSURFACE EMPTY



View it on GitLab: https://salsa.debian.org/debian-gis-team/postgis/-/commit/cc8870846913df501d518ad7f59c7eb77e5fcbaf

-- 
View it on GitLab: https://salsa.debian.org/debian-gis-team/postgis/-/commit/cc8870846913df501d518ad7f59c7eb77e5fcbaf
You're receiving this email because of your account on salsa.debian.org. Manage all notifications: https://salsa.debian.org/-/profile/notifications | Help: https://salsa.debian.org/help


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


More information about the Pkg-grass-devel mailing list