#98 Bundled library exception: t4k_common and liblinebreak
Closed: Fixed None Opened 8 years ago by limb.

I maintain tuxmath, and in order to update it to the current version, I need t4k_common, which is new to Fedora, so I submitted https://bugzilla.redhat.com/show_bug.cgi?id=666409. Upon review, it was discovered the it bundles liblinebreak. I've attempted to use the system version, but it looks like the changes are too great and too old. If someone else would like to take a shot at it, that would be great, but I think an exception may be in order. I'll obviously abstain from voting on this one.


The changes are also t4k-specific, from what I can see. I'm not sure about any attempts to submit this upstream. I'm also unfamiliar with the upstream library's security record, so I can't comment on if any patches need backporting, etc.


By: David Bruce

Hi Jon,

I agree that it would be better to simply use the OS-supplied copy of the library.
This was added a couple of years ago, and I don't recall offhand why we didn't
just do that (probably related to availability of liblinebreak on some other
platform we wanted to support).

I don't think we really modified the library in any significant way - IIRC,
the only change was to add a platform-dependent "#define ICONV_CONST const"
or something like that to get it to build for the non-linux platforms.

For our next release, I think we should remove the bundled liblinebreak (perhaps
setting up autotools to compile it conditionally only if it isn't available
from the OS). If the powers that be within Fedora are willing to let the current
one be released with an exception to the policy, that would be helpful. It
should be noted that tuxmath has had liblinebreak bundled at least as far back
as 1.7.2.


David Bruce


By: David Bruce

A little more followup -

It turns out our "linebreak" directory is completely different code
from the liblinebreak2 that is now included in Fedora, Debian et. al.
Our linebreaking code was originally part of an older version of GNU gettext,
and was copied "by hand" into tuxmath's source tree. From a peak
at the source tree of gettext-0.18.1, there still seems to be some shared code
with what we use, but it has diverged quite a lot. So, we are not exactly
replicating an OS-supplied lib within our package.

I think we need to adapt our programs to use the current liblinebreak as supplied
by the distros, but it will be a bit more involved than a quick afternoon task.
In the meantime, I hope you can include tuxmath under an exception to the bundled
lib policy.


David Bruce

I've posted a response asking for an ETA on moving to system liblinebreak, but I think the above justifies a temporary bundling exception.

Temporary exception approved (+1:5, 0:0, -1:0). Please be sure to:

  • Get some sort of time estimate on this effort from upstream so we can revisit this.
  • Add Provides: bundled(liblinebreak)

Announce text:

t4k_common contains a forked copy of an older version of liblinebreak. A temporary bundling exception has been granted until the t4k_common upstream is able to port their code to use the newer system copy of liblinebreak. The t4k_common package must include Provides: bundled(liblinebreak) until the issue is resolved.

This exception has been added to the list here:

Metadata Update from @spot:
- Issue assigned to spot

2 years ago

Login to comment on this ticket.