[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#708248: transition: json-c



Hi Ondřej,

On Tue, May 14, 2013 at 03:12:02PM +0200, Ondřej Surý wrote:
> JSON-C upstream has renamed the library from libjson.so to
> libjson-c.so, headers are now in /usr/include/json-c and pkg-config is
> called json-c.

> There's a compatibility layer (symlinks and libjson.so.0), but since
> the library has so few r-deps, I feel that we might not need it to
> make things more simple in the future.  The upstream is planning to
> drop the compatibility layer in next release anyway, so we would have
> to do the transition in some other point in time.

Not necessarily.  If the ABI has not changed, there is no reason that we
should not keep the compatibility layer in place in Debian *indefinitely*.

For another example of this, see libcurl3-gnutls.

> I wrote to fabien, and I still need to hear from him, but I took the
> liberty to build the packages and you can find preliminary updated
> packages here: https://www.sury.org/json-c/

> There are no library symbols removed (just added), so the transition
> should be relatively painless (you will just have to do s/json/json-c/
> in your packages).


> Ben file:
> 
> title = "json-c";
> is_affected = .depends ~ "libjson0" | .depends ~ "libjson-c2";
> is_good = .depends ~ "libjson-c2";
> is_bad = .depends ~ "libjson0";

It looks like you're coupling a transition of the runtime library package
name with a transition of the build-time API.  The first is not required at
all - the runtime library package name should change IFF there is a
backwards-incompatible ABI change, which there isn't in this case *unless*
we drop the compat symlink (which we therefore should just never do).  The
second could arguably be made a soft transition, with
backwards-compatibility support added so that this doesn't gum up testing
transitions unnecessarily; but as you point out, the set of affected
packages is small, and as long as it's not coupled with an unnecessary
change to the runtime lib package name this is probably acceptable - but
this is a question the release team should decide on.

-- 
Steve Langasek                   Give me a lever long enough and a Free OS
Debian Developer                   to set it on, and I can move the world.
Ubuntu Developer                                    http://www.debian.org/
slangasek@ubuntu.com                                     vorlon@debian.org

Attachment: signature.asc
Description: Digital signature


Reply to: