#52 Permission to build Zorba with bundled jsonxx
Closed: Fixed None Opened 13 years ago by mgieseki.

= Proposal topic =
Allow the Zorba binaries to be built with the bundled library ''jsonxx''.

= Overview =
The tarball of the XQuery processor Zorba ([https://bugzilla.redhat.com/show_bug.cgi?id=658420 Review]) bundles an old version of [https://github.com/hjiang/jsonxx jsonxx] from 2008. According to a Zorba team member, this library was in public domain at that time, and the author also granted permission to bundle jsonxx with the Zorba sources.

A couple of months later, jsonxx had been revamped completely and is now licensed under MIT. The new version introduced incompatible API changes.

= Problem space =
* Zorba currently doesn't build with the revamped jsonxx.
* The former version of jsonxx required to build Zorba is no longer available upstream. The git repo only contains the history of the revamped sources.
* jsonxx is designed to be linked statically as there's no soname definition.
* Upstream has never provided versioned releases of jsonxx, so it's hard to refer to some kind of version/release number.

= Solution overview =
Zorba should get the permission to be built with the bundled sources of jsonxx.


Not being familiar with these packages, I don't know if this is technically possible, but the technically superior solution would be to package this "old, now-bundled" jsonxx separately and let Zorba use this.

Little bit of preliminary research -- there's only four files that make use of the json library:
* ./src/util/converters/json_converter.cpp
* ./src/debugger/utils.h
* ./src/debugger/utils.cpp
* ./src/debugger/debugger_protocol.cpp

Those files use four types from the old jsonxx library:
* json::parser
* json::value
* json::array_list_t
* json::vector_list_t

Ralf and Toshio, thank you for your comments so far. Is there anything I can do to help deciding how to handle the jsonxx library?

In the meantime, Matthias Brantner from the Zorba team offered to replace jsonxx with some other json library (e.g. json-c) in a future release. Thus, bundling jsonxx would probably be only a temporary issue.

If you can give input from the standard questions section that would help: https://fedoraproject.org/wiki/Packaging:No_Bundled_Libraries#Standard_questions

From the sound of your last comment, this question is especially relevant:

"# Is there a plan for unbundling the library at a later time? Include things like what features would need to be added to the upstream library, a timeline for when those features would be merged, how we're helping to meet those goals, etc. "

If we can say "the next zorba release, scheduled for Sept, 2011 will use system json-c instead of bundled jsonxx. The Zorba team has a reputation for meeting their release schedule and their obligations. I can backport the changes from their SCM ahead of time if they miss the deadline." That would be a great statement for us to consider allowing the temporary bundling under.

OK, thanks for the notes. I just got the information that the release of Zorba 2.0 is scheduled for April 2011. The developers are pretty responsive and offered any help to solve the bundled library issue. They are going to drop jsonxx in Zorba 2.0. I don't know yet what replacement library they will choose, but it will likely be one of the json libraries already available in Fedora.

Based on the recent correspondence and the SCM activity, I don't have any doubts that the schedule is estimated seriously. But if the team shouldn't meet their deadline at all, I'm willing to backport the json-related part of the code to the current Zorba release.

An exception for this was approved +1: 5, 0: 0, -1: 1

There was a note that based on the release number (2.0) it may not be desirable to push an update to an already released Fedora (for instance, F-14) if it already has an older release. Just something to bear in mind when deciding whether to build the current zorba with the bundled lib for F-14 immediately or wait until 2.0 is out to build on those releases.

For the packages that you build with the bundled library, please include the virtual Provides as documented here:
https://fedoraproject.org/wiki/Packaging:No_Bundled_Libraries#Requirement_if_you_bundle

We'll leave this ticket open for tracking purposes. Please update it when the bundling is no longer occurring or we'll ping you about it when May rolls around.

Thanks!

Thank you for your positive votes and the approval. Sorry, Ralf, that I didn't directly reply to your notes. I wasn't aware you expected me to do so.

I'll build the current Zorba release for f15 and rawhide, and will add Zorba 2.0 to f14 as soon as it's available. I'll also let you know once jsonxx is unbundled from the packages.

Please update this ticket regarding its continued relevance, providing any information requested. If this is not done within the next two weeks, this ticket may be closed due to inactivity. Thank you!

This ticket isn't relevant any longer because the Zorba team has replaced jsonxx by libjansson and thus removed the bundled jsonxx (starting with Zorba 2.0). Also, the json functionality was moved to an optional module that is no longer part of the main distribution/tarball. This already happened before the review request had been approved.

Sorry for forgetting to update this ticket. I should have put it on my to-do list...

Metadata Update from @corsepiu:
- Issue assigned to toshio

7 years ago

Login to comment on this ticket.

Metadata