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