[geos-devel] Versioning scheme, binary compatibilities and future
of GEOS
Charlie Savage
cfis at interserv.com
Mon Dec 12 12:33:01 EST 2005
+1 Sounds like a good plan to me.
Charlie
strk at refractions.net wrote:
> After a friendly discussion with FrankW on #mapserver I finally
> took a decision about next GEOS releases layout.
>
> The important point is:
>
> No efforts will be taken to keep the C++ library
> binary interface compatible between releases.
>
> The corollary is:
>
> All love goes to the C interface, which will be
> carefully kept binary compatible between releases.
>
>
> C++ library soname will be bound to full GEOS release version,
> actually advertising that *every* new release of it is
> binary-incompatible with *every* other release.
> [ see -release flag of libtool ]
>
> C library soname will keep using the libtool versioning
> scheme INTERFACE_{CURRENT,AGE,REVISION} to encode
> binary compatibility.
> [ see -version-info flag of libtool ]
>
> Release versioning would then be unbound from library
> versioning and will be able to hold its own meaning.
> A simple proposal for this meaning could be:
> - MAJOR: increments when substantial changes
> take place (not well defined)
> - MINOR: increments when new stuff is added
> (either in C lib or outside it - consider
> swig languages), reset on higher increments
> - MICRO: as usual, bug fixes++, reset on higher increments.
>
> Using the above layout next major release of GEOS would
> be composed as follows:
>
> Release version: GEOS-3.0.0 (new versioning scheme)
> C lib soname: libgeos_c.so.1 (compatible with GEOS-2.2.x)
> C++ lib soname: libgeos.so.3.0.0 (compatible with itself)
>
> If this convinces all of you as well (or a good part of you, or
> noone talks and I take it for good), the only thing left before
> we release GEOS-3.0.0 is taking a closer look at the following:
>
> - GEOS_FIRST_INTERFACE and GEOS_LAST_INTERFACE #defines
> in geos/version.h (I think they should be removed)
>
> - geos-config --version output (I think it should print
> release version)
>
> - geos-config --libs (currently adds a -lgeos, might add -lgeos_c
> instead, but I'm unsure about consequences for users - apart
> feeling warned about troubles).
>
> - geos.m4 setting of GEOS_LIBS (see above item)
>
> - PostGIS support for the new GEOS versioning scheme
> (1.1.0 will hook on the C api, but 1.0 branch might
> require a bit of attention in the GEOS transition)
>
> Comments and/or moral support highly welcome :P
>
> --strk;
>
> /"\ ASCII Ribbon Campaign
> \ / Respect for low technology.
> X Keep e-mail messages readable by any computer system.
> / \ Keep it ASCII.
>
> _______________________________________________
> geos-devel mailing list
> geos-devel at geos.refractions.net
> http://geos.refractions.net/mailman/listinfo/geos-devel
>
>
>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/x-pkcs7-signature
Size: 2781 bytes
Desc: S/MIME Cryptographic Signature
Url : http://lists.osgeo.org/pipermail/geos-devel/attachments/20051212/1f95788a/smime.bin
More information about the geos-devel
mailing list