Winter Patch Releases

Paul Ramsey pramsey at cleverelephant.ca
Tue Mar 4 07:39:26 PST 2025


> On Mar 4, 2025, at 5:33 AM, Greg Troxel <gdt at lexort.com> wrote:
> 
>  - the headers are part of the C++ API which is defined not to be
>    stable, and not part of the C API, and therefore this is not an API
>    break to the part of the API that is documented as usable?  (or
>    something like that, that I am not understanding)

1> Somewhat this, but not really. ABI stability has only been promised on the CAPI and as a result the vast majority of usage has been via CAPI. Anyone dropping a build package into a running system that is using the C++ ABI is sticking their fingers into the gears and might lose a digit.

2> Somewhat this, but not really. There are a billion C++ headers, but the “public API” does not, realistically, include all billion of them. Fixes of some issues resulted in headers moving around and some being taken out. 

>  - the headers should not be installed because they aren't actually a
>    public API?

Well, ideally we might try and figure out which are the “public” C++ API and which aren’t but practically nobody has done that and inevitably as soon as you did that someone would show up complaining about the thing you took away that they absolutely require (not in this case though).

>  - we believe that no depending programs use these and therefore there
>    won't be trouble?

That’s the core of it.

>  - we don't expect changes on stable branches to be micro releases, and
>    therefore they are not suitable for updates within packaging
>    systems?

At this point we are talking philosophy so I have nothing to offer. Your questions above hopefully clarify my nonchalance.

ATB,

P

> 
> I wonder about Debian, in terms of being willing to apply this update.
> 
> Specifically, 4 include files in include/geos/operation/overlay are no
> longer present.
> 
> Index: PLIST
> ===================================================================
> RCS file: /cvsroot/pkgsrc/geography/geos/PLIST,v
> retrieving revision 1.28
> diff -u -p -r1.28 PLIST
> --- PLIST	8 Sep 2024 00:51:56 -0000	1.28
> +++ PLIST	4 Mar 2025 13:24:59 -0000
> @@ -44,6 +44,7 @@ include/geos/algorithm/hull/ConcaveHull.
> include/geos/algorithm/hull/ConcaveHullOfPolygons.h
> include/geos/algorithm/hull/HullTri.h
> include/geos/algorithm/hull/HullTriangulation.h
> +include/geos/algorithm/hull/OuterShellsExtracter.h
> include/geos/algorithm/locate/IndexedPointInAreaLocator.h
> include/geos/algorithm/locate/PointOnGeometryLocator.h
> include/geos/algorithm/locate/SimplePointInAreaLocator.h
> @@ -295,14 +296,18 @@ include/geos/operation/GeometryGraphOper
> include/geos/operation/buffer/BufferBuilder.h
> include/geos/operation/buffer/BufferCurveSetBuilder.h
> include/geos/operation/buffer/BufferInputLineSimplifier.h
> +include/geos/operation/buffer/BufferNodeFactory.h
> include/geos/operation/buffer/BufferOp.h
> include/geos/operation/buffer/BufferParameters.h
> include/geos/operation/buffer/BufferSubgraph.h
> +include/geos/operation/buffer/MaximalEdgeRing.h
> +include/geos/operation/buffer/MinimalEdgeRing.h
> include/geos/operation/buffer/OffsetCurve.h
> include/geos/operation/buffer/OffsetCurveBuilder.h
> include/geos/operation/buffer/OffsetCurveSection.h
> include/geos/operation/buffer/OffsetSegmentGenerator.h
> include/geos/operation/buffer/OffsetSegmentString.h
> +include/geos/operation/buffer/PolygonBuilder.h
> include/geos/operation/buffer/RightmostEdgeFinder.h
> include/geos/operation/buffer/SegmentMCIndex.h
> include/geos/operation/buffer/SubgraphDepthLocater.h
> @@ -332,10 +337,6 @@ include/geos/operation/linemerge/LineMer
> include/geos/operation/linemerge/LineMergeGraph.h
> include/geos/operation/linemerge/LineMerger.h
> include/geos/operation/linemerge/LineSequencer.h
> -include/geos/operation/overlay/MaximalEdgeRing.h
> -include/geos/operation/overlay/MinimalEdgeRing.h
> -include/geos/operation/overlay/OverlayNodeFactory.h
> -include/geos/operation/overlay/PolygonBuilder.h
> include/geos/operation/overlay/snap/GeometrySnapper.h
> include/geos/operation/overlay/snap/LineStringSnapper.h
> include/geos/operation/overlay/snap/SnapOverlayOp.h
> @@ -519,8 +520,8 @@ lib/cmake/GEOS/geos-config.cmake
> lib/cmake/GEOS/geos-targets-release.cmake
> lib/cmake/GEOS/geos-targets.cmake
> lib/libgeos.so
> -lib/libgeos.so.3.13.0
> +lib/libgeos.so.${PKGVERSION}
> lib/libgeos_c.so
> lib/libgeos_c.so.1
> -lib/libgeos_c.so.1.19.0
> +lib/libgeos_c.so.1.19.2
> lib/pkgconfig/geos.pc
> Index: Makefile
> ===================================================================
> RCS file: /cvsroot/pkgsrc/geography/geos/Makefile,v
> retrieving revision 1.51
> diff -u -p -r1.51 Makefile
> --- Makefile	8 Sep 2024 00:51:56 -0000	1.51
> +++ Makefile	4 Mar 2025 13:24:59 -0000
> @@ -1,6 +1,6 @@
> # $NetBSD: Makefile,v 1.51 2024/09/08 00:51:56 gdt Exp $
> 
> -VERSION_BASE=	3.13.0
> +VERSION_BASE=	3.13.1
> # Accomodate testing unreleased versions.
> VERSION_RC=
> VERSION=	${VERSION_BASE}${VERSION_RC}
> Index: distinfo
> ===================================================================
> RCS file: /cvsroot/pkgsrc/geography/geos/distinfo,v
> retrieving revision 1.51
> diff -u -p -r1.51 distinfo
> --- distinfo	8 Sep 2024 00:51:56 -0000	1.51
> +++ distinfo	4 Mar 2025 13:24:59 -0000
> @@ -1,6 +1,6 @@
> $NetBSD: distinfo,v 1.51 2024/09/08 00:51:56 gdt Exp $
> 
> -BLAKE2s (geos-3.13.0.tar.bz2) = 862b31b01bcae17488f24133f4205afdf3729b30cc5b654d3dba3697244a44a9
> -SHA512 (geos-3.13.0.tar.bz2) = 8ffaa3f49a8365db693ac948e9d66cf55321eb12151734c7da2775070b7804ffa607de2474b7019d6ea2a99d5e037fb1e8561bf9025e65ddd4bd1ba049382b28
> -Size (geos-3.13.0.tar.bz2) = 6801211 bytes
> +BLAKE2s (geos-3.13.1.tar.bz2) = 78b9673090509c94aebb1fef4c1f2714ff004d2fd92ba1916bbe179e36c9a777
> +SHA512 (geos-3.13.1.tar.bz2) = 38a6d8bb05b374160c6e5eb82e5f601915ee44e75bdba0414bb7b1096a62f3cdfbb877389998bd3ff4c77c98927ce95a8d8298dd599a0fcb8ea0e83f174f1744
> +Size (geos-3.13.1.tar.bz2) = 6839955 bytes
> SHA1 (patch-ae) = 253ae5cf5c2705a80d89d996507e3e94f2a11296



More information about the geos-devel mailing list