emacs-devel
[Top][All Lists]
Advanced

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

Re: Confusing license statements in some Gnulib imports


From: Bruno Haible
Subject: Re: Confusing license statements in some Gnulib imports
Date: Wed, 9 Feb 2011 12:22:48 +0100
User-agent: KMail/1.9.9

Hi Paul,

> gnulib-tool isn't smart enough (and arguably should
> not be smart enough) to rewrite license names that cross line boundaries.
> For example, arg-nonnull.h's original source says this:
> 
>    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU          
>   
>    Lesser General Public License for more details.                            
>   
> 
> and the newline between the "GNU" and the "Lesser" causes gnulib-tool
> to miss that instance of "GNU Lesser General Public License".

Thanks for the diagnose. But I disagree about the cure: It's better to teach
gnulib-tool to work regardless of where in the sentence the line break occurs.

  - The words "GNU Lesser General Public License" appear inside a longer
    sentence, and this sentence has to be broken into lines. People will
    always disagree whether line breaking has to happen at column 72, 74,
    79, or 80. And there's an indentation of 3 columns in some files but
    only 2 columns in others. So, it is pretty hopeless to attempt to
    standardize where people will put line breaks in the copyright notice.

  - As a general rule, when one attempts to modify 640 files, one should think
    twice about it.

Here's a proposed fix in gnulib-tool instead. Just as effective.


2011-02-09  Bruno Haible  <address@hidden>

        gnulib-tool: Make copyright notice adjustment more robust.
        * gnulib-tool (func_import): In sed_transform_main_lib_file,
        sed_transform_build_aux_file, sed_transform_testsrelated_lib_file,
        allow a line break to occur after "GNU" in "GNU [Lesser] General Public
        License".
        Reported by Glenn Morris <address@hidden> via Paul Eggert.

--- gnulib-tool.orig    Wed Feb  9 12:00:22 2011
+++ gnulib-tool Wed Feb  9 11:58:30 2011
@@ -3855,11 +3855,16 @@
         yes | 3)
           sed_transform_main_lib_file=$sed_transform_main_lib_file'
             s/GNU General/GNU Lesser General/g
+            s/General Public License/Lesser General Public License/g
+            s/Lesser Lesser General Public License/Lesser General Public 
License/g
           '
           ;;
         2)
           sed_transform_main_lib_file=$sed_transform_main_lib_file'
             s/GNU General/GNU Lesser General/g
+            s/General Public License/Lesser General Public License/g
+            s/Lesser Lesser General Public License/Lesser General Public 
License/g
+
             s/version [23]\([ ,]\)/version 2.1\1/g
           '
           ;;
@@ -3869,7 +3874,11 @@
       # Update license.
       sed_transform_main_lib_file=$sed_transform_main_lib_file'
         s/GNU Lesser General/GNU General/g
+        s/Lesser General Public License/General Public License/g
+
         s/GNU Library General/GNU General/g
+        s/Library General Public License/General Public License/g
+
         s/version 2\(.1\)\{0,1\}\([ ,]\)/version 3\2/g
       '
     fi
@@ -3881,7 +3890,11 @@
     # Update license.
     sed_transform_build_aux_file=$sed_transform_build_aux_file'
       s/GNU Lesser General/GNU General/g
+      s/Lesser General Public License/General Public License/g
+
       s/GNU Library General/GNU General/g
+      s/Library General Public License/General Public License/g
+
       s/version 2\(.1\)\{0,1\}\([ ,]\)/version 3\2/g
     '
   fi
@@ -3892,7 +3905,11 @@
     # Update license.
     sed_transform_testsrelated_lib_file=$sed_transform_testsrelated_lib_file'
       s/GNU Lesser General/GNU General/g
+      s/Lesser General Public License/General Public License/g
+
       s/GNU Library General/GNU General/g
+      s/Library General Public License/General Public License/g
+
       s/version 2\(.1\)\{0,1\}\([ ,]\)/version 3\2/g
     '
   fi

-- 
In memoriam Rowland Taylor <http://en.wikipedia.org/wiki/Rowland_Taylor>



reply via email to

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