#525 Request for bundling exception: plotnetcfg, contains parson library
Closed: Fixed None Opened 4 years ago by jbenc.

plotnetcfg is not yet included in Fedora, see https://bugzilla.redhat.com/show_bug.cgi?id=1212157 for the review request.

It includes parson library (http://kgabis.github.com/parson/), which is a copylib, to talk json with openvswitch. As one of the design goals of plotnetcfg is to be lightweight, replacing the json code with an external library is unlikely to happen. The parson library was chosen because it's small, capable of both decoding and encoding and compatible with GPL.


How many lines of code is parson?

Being lightweight doesn't mean it can't be a shared library, that doesn't make it heavier.

Replying to [comment:1 james]:

How many lines of code is parson?

parson.c: 1320 lines[[BR]]
parson.h: 172 lines

Parson is just these two files + README.md.

Being lightweight doesn't mean it can't be a shared library, that doesn't make it heavier.

Parson version bundled with plotnetcfg is the devel branch, different from mainline parson, with different and unstable API and not guaranteed to remain the same when merged into mainline.

Thus, even if the upstream starts supporting building as a shared library and maintaining a SONAME, it wouldn't help packaging plotnetcfg into Fedora without additional changes.

I believe the exception is a good idea here, at the very least until parson matures to the point it provides a stable interface and is popular enough so that other project take advantage of a shared library.

(I'm reviewing the plotnetcfg package)

Lubomir, thanks!

One thing to add is that one of the design goals of plotnetcfg was "no dependencies" (except libc, of course). The idea is the admin should be able to scp the binary around and it will just work. I understand Fedora doesn't care about such use case but it's the reason why plotnetcfg is likely to always contain parson (or other json) code. I can imagine making this optional in the future if parson gains a dynamic library option and API stability upstream, i.e. during build it would be possible to choose whether to use the bundled parson code or an external one.

We discussed this at this weeks meeting (http://meetbot.fedoraproject.org/fedora-meeting-1/2015-04-23/fpc.2015-04-23-16.00.txt):

  • 525 Request for bundling exception: plotnetcfg, contains parson


    library (geppetto, 16:08:51)
  • LINK: https://fedorahosted.org/fpc/ticket/525 (geppetto, 16:08:56)
  • ACTION: Allow tmp. bundling exception for F22, but use at least
    static. lib for F23. (+1:5, 0:0, -1:0) (geppetto, 16:26:27)

Metadata Update from @tibbs:
- Issue assigned to james

2 years ago

Login to comment on this ticket.

Metadata