[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Incompatible module license.
From: |
Jim Meyering |
Subject: |
Re: Incompatible module license. |
Date: |
Mon, 17 Dec 2007 14:42:59 +0100 |
Yoann Vandoorselaere <address@hidden> wrote:
> Hi,
>
> The glob module is licensed under LGPLv2+, and was previously compatible
> with the module it depended on.
>
> I wanted to perform an update today, but there has been changes to the
> glob module that make it depend on non LGPL modules:
>
> - openat
> - save-cwd
> - chown
> - d-ino
> - exit
> - exitfail
> - getcwd
> - fcntl-safer
> - openatdie
> - unistd-safer
> - lchown
> - xalloc
> - xalloc-die
> - more..
>
> What is the suggested way of fixing this issue?
FYI, it happened two months ago, with this change:
http://git.sv.gnu.org/gitweb/?p=gnulib.git;a=commitdiff;h=12a195113bbb3
2007-10-17 Paul Eggert <address@hidden>
Modify glob.c to use fstatat and dirfd, to simplify it.
Suggested by Eric Blake.
* lib/glob.c (__fxstatat64) [!_LIBC]: New macro.
Don't include <stdbool.h>; not used.
(link_exists2_p, glob_in_dir) [!_LIBC]: No longer a special case.
(link_exists_p): Simplify implementation, since we can now assume
dirfd and fstatat.
* modules/glob (Depends-on): Add dirfd, openat. Remove stdbool.
It'd be a shame to revert such a change, just to keep the license
the same. Yet, I'm reluctant even to attempt to relicense so much code.
Here's a compromise:
Fork the glob module in your version control system: copy the affected
files (just glob.c and modules/glob) into your private gl/{lib,m4,modules}
directories, revert (in those copies) the above change-set. Then using
gnulib-tool's --local-dir=gl option, you'd stick to using the
pre-openat-requring version of glob.c.
Of course, that means if there are future changes to glob.c, you'll
have to merge them manually.