bug-gnulib
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH] c-ctype, inttostr, intprops module license


From: Bruno Haible
Subject: Re: [PATCH] c-ctype, inttostr, intprops module license
Date: Wed, 15 Nov 2006 21:10:19 +0100
User-agent: KMail/1.9.1

Yoann Vandoorselaere wrote:
> > Yes, I agree. Do you have time to add such a test to gnulib-tool's
> > func_create_testdir?
> 
> Patch attached (note: I'm not very good at shell programming).

Thanks, I fixed the obvious mistake in it (it overwrote the $modules
variable), turned the fatal error into a warning, and added comments:

2006-11-15  Yoann Vandoorselaere <address@hidden>
            Bruno Haible  <address@hidden>

        * gnulib-tool (func_create_testdir): Add license consistency check.

*** gnulib-tool 14 Nov 2006 09:37:20 -0000      1.196
--- gnulib-tool 15 Nov 2006 20:08:38 -0000
***************
*** 2247,2252 ****
--- 2247,2276 ----
    fi
    modules=`for m in $modules; do echo $m; done | LC_ALL=C sort -u`
  
+   # Check that the license of every module is consistent with the license of
+   # its dependencies.
+   saved_modules="$modules"
+   for requested_module in $saved_modules; do
+     requested_license=`func_get_license "$requested_module"`
+     if test "$requested_license" != GPL; then
+       # Here we use func_modules_transitive_closure, not just
+       # func_get_dependencies, so that we also detect weird situations like
+       # an LGPL module which depends on a GPLed build tool module which 
depends
+       # on a GPL module.
+       modules="$requested_module"
+       func_modules_transitive_closure
+       for module in $modules; do
+         license=`func_get_license "$module"`
+         case $license in
+           LGPL | 'GPLed build tool') ;;
+           'public domain' | 'unlimited' | 'unmodifiable license text') ;;
+           *) echo "warning: module $requested_module depends on a module with 
an incompatible license: $module" 1>&2 ;;
+         esac
+       done
+     fi
+   done
+   modules="$saved_modules"
+ 
    # Subdirectory names.
    sourcebase=gllib
    m4base=glm4




reply via email to

[Prev in Thread] Current Thread [Next in Thread]