1
0
mirror of https://https.git.savannah.gnu.org/git/gnulib.git synced 2026-09-01 02:34:55 +00:00

gnulib-tool: Stop doing license notice replacements.

* gnulib-tool: Don't document --more-symlinks and --more-hardlinks any
more.
(do_copyrights): Remove variable.
(func_import): Don't perform license updates on imported files any more.
* pygnulib/GLInfo.py: Don't document --more-symlinks any more.
* doc/gnulib-intro.texi (Copyright): Document the new situation.
* doc/gnulib.texi (Module description): Likewise.
* NEWS: Mention the change.
This commit is contained in:
Bruno Haible
2021-06-04 22:27:10 +02:00
parent 555bd9ca64
commit f3553bdefc
6 changed files with 43 additions and 105 deletions
+12
View File
@@ -1,3 +1,15 @@
2021-06-04 Bruno Haible <bruno@clisp.org>
gnulib-tool: Stop doing license notice replacements.
* gnulib-tool: Don't document --more-symlinks and --more-hardlinks any
more.
(do_copyrights): Remove variable.
(func_import): Don't perform license updates on imported files any more.
* pygnulib/GLInfo.py: Don't document --more-symlinks any more.
* doc/gnulib-intro.texi (Copyright): Document the new situation.
* doc/gnulib.texi (Module description): Likewise.
* NEWS: Mention the change.
2021-06-04 Bruno Haible <bruno@clisp.org>
git-merge-changelog: Fix license.
+6
View File
@@ -3,6 +3,12 @@ Important general notes
Date Modules Changes
2021-06-04 (all) The license notices in source files are now really
stating the effective license, rather than a fake
GPL notice.
gnulib-tool no longer replaces GPL notices in source
files by something else.
2020-08-16 (all) Automake >= 1.11 and Autoconf >= 2.64 are required.
2019-12-11 Support for These modules are now supported in C++ mode as well.
+19 -12
View File
@@ -455,15 +455,22 @@ proofreading the patch.
@section Copyright
Most modules are under the GPL@. Some, mostly modules which can
reasonably be used in libraries, are under LGPL@. The source files
always say "GPL", but the real license specification is in the module
description file. If the module description file says "GPL", it means
"GPLv3+" (GPLv3 or newer, at the licensee's choice); if it says "LGPL",
it means "LGPLv3+" (LGPLv3 or newer, at the licensee's choice).
reasonably be used in libraries, are under LGPL@. Few modules are
under other licenses, such as LGPLv2+, unlimited, or public domain.
More precisely, the license specification in the module description
file applies to the files in @file{lib/} and @file{build-aux/}. Different
licenses apply to files in special directories:
If the module description file says "GPL", it means "GPLv3+" (GPLv3
or newer, at the licensee's choice); if it says "LGPL", it means
"LGPLv3+" (LGPLv3 or newer, at the licensee's choice).
The source files, more precisely the files in @file{lib/} and
@file{build-aux/}, are under a license compatible with the module's
license. Most often, they are under the same license. But files can be
shared among several modules, and in these cases it can happen that a
source file is under a weaker license than noted in the module
description --- namely under the weakest license among the licenses of
the modules that contain the file.
Different licenses apply to files in special directories:
@table @file
@item modules/
@@ -506,16 +513,16 @@ copy of the license is at @url{https://www.gnu.org/licenses/fdl-1.3.en.html}.
If you want to use some Gnulib modules under LGPL, you can do so by
passing the option @samp{--lgpl} to @code{gnulib-tool}. This will
replace the GPL header with an LGPL header while copying the source
files to your package. Similarly, if you want some Gnulib modules
ensure that all imported modules can be used under the LGPL license.
Similarly, if you want some Gnulib modules
under LGPLv2+ (Lesser GPL version 2.1 or newer), you can do so by
passing the option @samp{--lgpl=2} to @code{gnulib-tool}.
Keep in mind that when you submit patches to files in Gnulib, you should
license them under a compatible license. This means that sometimes the
contribution will have to be LGPL, if the original file is available
under LGPL@. You can find out about it by looking for a "License: LGPL"
information in the corresponding module description.
under LGPL@. You can find out about it by looking at the license header
of the file.
@node Steady Development
@section Steady Development
+3 -1
View File
@@ -494,7 +494,9 @@ field of the dependencies.
@item License
This field specifies the license that governs the source code parts of
this module. See @ref{Copyright} for details.
this module. See @ref{Copyright} for details. Be sure to place, in every
source code file, a copyright notice and the appropriate license notice,
taken from the @file{etc/license-notices/} directory.
@item Maintainer
This field specifies the persons who have a definitive say about proposed
+2 -90
View File
@@ -332,10 +332,8 @@ Options for --import, --add/remove-import, --update,
Options for --import, --add/remove-import, --update:
-S, --more-symlinks Make symbolic links instead of copying files, and
don't replace copyright notices.
-H, --more-hardlinks Make hard links instead of copying files, and
don't replace copyright notices.
-S, --more-symlinks Deprecated; equivalent to --symlink.
-H, --more-hardlinks Deprecated; equivalent to --hardlink.
Report bugs to <bug-gnulib@gnu.org>."
}
@@ -1128,8 +1126,6 @@ func_determine_path_separator
# - lcopymode symlink if --local-symlink was given,
# hardlink if --local-hardlink was given,
# blank otherwise
# - do_copyrights blank if --more-symlinks or --more-hardlinks was given,
# true otherwise
{
mode=
destdir=
@@ -1169,7 +1165,6 @@ func_determine_path_separator
doit=:
copymode=
lcopymode=
do_copyrights=true
supplied_opts="$@"
@@ -1458,11 +1453,9 @@ func_determine_path_separator
shift ;;
-S | --more-symlinks | --more-symlink | --more-symlin | --more-symli | --more-syml | --more-sym | --more-sy | --more-s )
copymode=symlink
do_copyrights=
shift ;;
-H | --more-hardlinks | --more-hardlink | --more-hardlin | --more-hardli | --more-hardl | --more-hard | --more-har | --more-ha | --more-h )
copymode=hardlink
do_copyrights=
shift ;;
--help | --hel | --he )
func_usage
@@ -4692,8 +4685,6 @@ func_reconstruct_cached_local_gnulib_path ()
# - doit : if actions shall be executed, false if only to be printed
# - copymode copy mode for files in general
# - lcopymode copy mode for files from local_gnulib_path
# - do_copyrights true if copyright notices in files should be replaced,
# blank otherwise
func_import ()
{
# Get the cached settings.
@@ -5091,91 +5082,12 @@ s,^\(.................................................[^ ]*\) *,
fi
done
sed_transform_main_lib_file="$sed_transform_lib_file"
if test -n "$do_copyrights"; then
if test -n "$lgpl"; then
# Update license.
case "$lgpl" in
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
'
;;
3orGPLv2)
sed_transform_main_lib_file=$sed_transform_main_lib_file'
/^ *This program is free software/i\
This program is free software: you can redistribute it and\/or\
modify it under the terms of either:\
\
* the GNU Lesser General Public License as published by the Free\
Software Foundation; either version 3 of the License, or (at your\
option) any later version.\
\
or\
\
* the GNU General Public License as published by the Free\
Software Foundation; either version 2 of the License, or (at your\
option) any later version.\
\
or both in parallel, as here.
/^ *This program is free software/,/^$/d
'
;;
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
'
;;
*) func_fatal_error "invalid value lgpl=$lgpl" ;;
esac
else
# 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
fi
# Determine script to apply to auxiliary files that go into $auxdir/.
sed_transform_build_aux_file=
if test -n "$do_copyrights"; then
# 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
# Determine script to apply to library files that go into $testsbase/.
sed_transform_testsrelated_lib_file="$sed_transform_lib_file"
if test -n "$do_copyrights"; then
# 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
# Determine the final file lists.
func_modules_to_filelist_separately
+1 -2
View File
@@ -284,8 +284,7 @@ Options for --import, --add/remove-import, --update,
Options for --import, --add/remove-import, --update:
-S, --more-symlinks Make symbolic links instead of copying files, and
don't replace copyright notices.
-S, --more-symlinks Deprecated; equivalent to --symlink.
Report bugs to <bug-gnulib@gnu.org>.'''
return(result)