For a bit more context, the removed headers disappeared in this commit https://github.com/libgeos/geos/commit/f92d697680a281f8cc26d5591b42ffa8efc7818b
and the added headers came from this one https://github.com/libgeos/geos/pull/1239 Probably the removals were unnecessary, so “future learnings” maybe don’t remove files in stable branches just on principle. But from a practical perspective, no body will be harmed by the change, so I remain sanguine. P > On Mar 4, 2025, at 7:39 AM, Paul Ramsey <pram...@cleverelephant.ca> wrote: > > >> On Mar 4, 2025, at 5:33 AM, Greg Troxel <g...@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 >