On Sun, Feb 11, 2018 at 10:47:16AM +0100, Landry Breuil wrote:
> On Sun, Feb 11, 2018 at 10:17:40AM +0100, Jeremie Courreges-Anglas wrote:
> > On Sun, Feb 11 2018, Landry Breuil <lan...@openbsd.org> wrote:
> > >> > > Of the 23 victims of devel/json-c I only tested net/isc-bind
> > >> > > (rndc-confgen to be more precise), which seems to work ok. It would 
> > >> > > be
> > >> > > great if more people could check if this update works for them.
> > >> > 
> > >> > I suppose that means "i've built all of them but only runtime-tested
> > >> > bind", right ? :)
> > >> 
> > >> ...not exactly. Let me rephrase the last bit:
> > >> 
> > >> I only built tested 2 victims, and runtime tested isc-bind.
> > >
> > > Right. In the past json-c has proven itself "interesting" when upgrading
> > > it, so i'll put this diff in my next bulk along cmake stuff.
> > 
> > I have tried an upgrade to the 0.13 release, some of the structures are
> > made opaque, which either breaks consumers or forces them to implement
> > ugly hacks.  So unless I missed something, upgrading to 0.13 is not
> > possible.
> 
> It is definitely possible, json-c fucks up headers/structs at every
> upgrade, we're used to it.
> 
> FreeBSD upgraded it already, cf
> https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=224675 &
> https://svnweb.freebsd.org/ports?view=revision&revision=457965
> so the way is paved. Just need to cherrypick fixes/hacks there and
> there. Locally, i already know gdal and postgis fail to build with
> json-c 0.13.
> 

FreeBSD decided to keep installing the private header to fix things,
Cf
https://svnweb.freebsd.org/ports/head/devel/json-c/Makefile?r1=457965&r2=457964&pathrev=457965

An option is to do the same - Granted, this is not the clean way to go,
and hopefully over time consumers will stop including it directly. The
other options is to look at consumers and backport/cherrypick fixes.

For example gdal was properly fixed in
https://github.com/OSGeo/gdal/pull/277, postgis in
https://github.com/postgis/postgis/pull/173 and both stopped poking at
internal struct members.

Landry

Reply via email to