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
> 

Reply via email to