On Mon, May 8, 2017 at 8:22 PM, Bruno Haible <br...@clisp.org> wrote: > Hi Ævar, > >> The regex.c module depends on regex_internal.h, which depends on >> intprops.h, which depends on verify.h, which is GPLv3, not LGPL like >> the rest of the regex module. > > verify.h is under LGPLv2+. As described in > <https://www.gnu.org/software/gnulib/manual/html_node/Copyright.html> > the license for gnulib modules is written in the module description file, > 'modules/verify' in this case. > > When you use the --lgpl option to gnulib-tool, it should replace the > copyright headers of the files accordingly. If not, that's a bug in > gnulib-tool.
That wasn't happening in the latest gnulib.git today: ---cut--- $ rm -rf /tmp/rx.tmp; ./gnulib-tool --version; ./gnulib-tool --lgpl --create-testdir --dir=/tmp/rx.tmp regex >/dev/null; find /tmp/rx.tmp/ -name 'verify.h' -exec head -n 20 {} \; gnulib-tool (GNU gnulib 2017-05-07 19:09:25) 0.1.1330-eb5c6 Copyright (C) 2017 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Written by Bruno Haible, Paul Eggert, and Simon Josefsson. configure.ac:8: installing 'build-aux/compile' configure.ac:4: installing 'build-aux/install-sh' configure.ac:4: installing 'build-aux/missing' gllib/Makefile.am: installing 'build-aux/depcomp' parallel-tests: installing '../build-aux/test-driver' /* Compile-time assert-like macros. Copyright (C) 2005-2006, 2009-2017 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. ---cut--- It still produces the same output but with Paul's d9c44b2b3 the header dependency isn't there anymore. As an aside, is there a way to make gnulib-tool emit just the *.c & *.h files needed for e.g. the regex module in some target directory? I'm using gnulib-distributed files in a project that doesn't use the autoconf/automake/m4 macros gnulib seems to expect any project that wants to use it to use. So currently I've just been copying the relevant files from gnulib.git manually. But if the license header in the files themselves can't be trusted, and instead the license is really in some other file that method isn't so good anymore. Aside from me not finding some invocation to the tool that surely exists to do this, is there a reason the file in git wouldn't just have the most permissive license it's licensed under in the header itself?