[Pkg-crosswire-devel] Convenience libraries: results so far

Jonathan Marsden jmarsden at fastmail.fm
Sun Apr 19 08:16:11 BST 2009


Matthew Talbert wrote:

> I believe there is a copy of a regex library there as well. In
> addition to zlib, I believe there is some code for handling tar.gz
> files which (I think) is not a part of zlib itself. Some of these
> libraries are included for convenience purposes for building on
> Windows.

Thanks, that matches what I am finding.  Results so far:

zlib:

All zlib files can be removed, we already Build-Depend on libz-dev and
the ${shlibs:Depends} magic is adding a zlib1g Depends to libsword7 for
me.  So just removing all the zlib files looks likely to be sufficient.

untgz:

The src/utilfuns/zlib/untgz.c file seems to be the only file in that
directory which is really needed, at least to build, under Linux.  It
(and its partner include/untgz.h) could use a copyright and licence
statement, but other than that, it is small and I'm not sure what the
equivalent external library is, so I'd think we can leave it for now.

Its lack of copyright and licence might well get us in trouble at some
point, though (this is one part of open Debian bug #513488 against
SWORD), so if a SWORD developer could please obtain that info from the
original author and ask that they be written into the files, that would
be good.  Until then, technically, including these files means that
SWORD is (as far as I can tell) non-DFSG-free!

regex:

Apparently we can also safely remove src/utilfuns/regex.c and
include/regex.h which are copies of GNU C library files, since newer
versions already exist in libc6-dev.  The ${shlibs:depends} magic
already adds a libc6 dependency to libsword7, so again I think we can
just remove these two files.

sapphireII:

There's also the "Sapphire II" cipher code to deal with.  Looks like it
was posted to Usenet on 03 Jan 1995 and is intended to be "Public
Domain".  See
http://groups.google.de/group/sci.crypt.research/browse_thread/thread/85d7519a3486193c/5817f0a5906c1bf7
).  I'm not sure if we can leave it in, or if (longer term) we'll need
to package it as a separate library, get that library into Debian, and
then depend on it!

SUMMARY:

For now, I'm hoping that removing the zlib and regex files will be
enough to demonstrate sufficient "good faith" here, so we can keep
getting SWORD uploaded into Debian, while we work out how best to deal
with untgz and Sapphire II (and anything else in there that isn't
actually CrossWire code, that we haven't found yet!).

Now I "just" need to test that the library still works as expected
without all those files, and then write and test a get-orig-source
Makefile rule to generate an orig.tar.gz with them deleted.

Lastly:

It seems to me to be unfortunate that nowhere in the SWORD source
tarball are these files and their authors acknowledged in any way.  I
checked in AUTHORS and LICENSE and README... none say anything about
these included external libraries.  It would surely be appropriate to
add something about each of them before 1.6.0 is released, so that
CrossWire gives credit where credit is due.  Should I file a bug in the
CrossWire Jira bugtracker about this? :)

Jonathan




More information about the Pkg-crosswire-devel mailing list