These two TODO entries were pretty simple. One of the ChangeLog
entries listed to a test case Bruno wrote that worked for testing both
of them.
[collin@debian gnulib]$ gnulib-tool.py --create-testdir --dir=testdir-all
--single-configure
module parse-datetime2 depends on a module with an incompatible license: gettime
module parse-datetime2 depends on a module with an incompatible license:
nstrftime
module parse-datetime2 depends on a module with an incompatible license:
parse-datetime
module parse-datetime2 depends on a module with an incompatible license: time_rz
module parse-datetime2 depends on a module with an incompatible license:
timespec
module parse-datetime2 depends on a module with an incompatible license: tzset
module ucs4-utf16 depends on a module with an incompatible license:
unistr/u16-uctomb
module utf16-ucs4 depends on a module with an incompatible license:
unistr/u16-mbtouc
module utf16-ucs4-unsafe depends on a module with an incompatible license:
unistr/u16-mbtouc-unsafe
The first patch fixes the parse-datetime2 warnings in the same way
that gnulib-tool does (ready for the release of parse-datetime3). The
second fixes the libunistring ones. Let me know if I missed anything.
Collin
From 3d99a44c67c1a7db5bfe210f46ede1eb0700e664 Mon Sep 17 00:00:00 2001
From: Collin Funk <collin.fu...@gmail.com>
Date: Mon, 26 Feb 2024 21:22:23 -0800
Subject: [PATCH 1/2] gnulib-tool.py: Follow gnulib-tool changes, part 29.
Follow gnulib-tool change
2021-03-06 Paul Eggert <egg...@cs.ucla.edu>
parse-datetime2: fix licensing
* pygnulib/GLModuleSystem.py (GLModule.getLicense): Handle the special
licensing case for parse-datetime2 or any other module starting with
"parse-datetime". Update comment.
---
ChangeLog | 10 ++++++++++
gnulib-tool.py.TODO | 14 --------------
pygnulib/GLModuleSystem.py | 4 ++--
3 files changed, 12 insertions(+), 16 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index d399841e18..7692ac13bc 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,13 @@
+2024-02-26 Collin Funk <collin.fu...@gmail.com>
+
+ gnulib-tool.py: Follow gnulib-tool changes, part 29.
+ Follow gnulib-tool change
+ 2021-03-06 Paul Eggert <egg...@cs.ucla.edu>
+ parse-datetime2: fix licensing
+ * pygnulib/GLModuleSystem.py (GLModule.getLicense): Handle the special
+ licensing case for parse-datetime2 or any other module starting with
+ "parse-datetime". Update comment.
+
2024-02-26 Bruno Haible <br...@clisp.org>
gnulib-tool.py: Add more comments.
diff --git a/gnulib-tool.py.TODO b/gnulib-tool.py.TODO
index c72746941e..7be0e243e7 100644
--- a/gnulib-tool.py.TODO
+++ b/gnulib-tool.py.TODO
@@ -605,20 +605,6 @@ Date: Mon Apr 26 23:31:29 2021 -0700
--------------------------------------------------------------------------------
-commit 487b9551b63ef936a6be6df38d1c9484cd97810c
-Author: Paul Eggert <egg...@cs.ucla.edu>
-Date: Sat Mar 6 08:23:48 2021 -0800
-
- parse-datetime2: fix licensing
-
- Problem reported by Bruno Haible in:
- https://lists.gnu.org/r/bug-gnulib/2021-03/msg00017.html
- * gnulib-tool (func_get_license): Treat parse-datetime2
- (actually, anything starting with "parse-datetime")
- like parse-datetime, as far as licenses go.
-
---------------------------------------------------------------------------------
-
commit 0be855ee827bf7e9043eeb626c4fd847704be2e6
Author: Bruno Haible <br...@clisp.org>
Date: Tue Dec 29 02:48:31 2020 +0100
diff --git a/pygnulib/GLModuleSystem.py b/pygnulib/GLModuleSystem.py
index c6f0eb15c7..787614d38c 100644
--- a/pygnulib/GLModuleSystem.py
+++ b/pygnulib/GLModuleSystem.py
@@ -665,8 +665,8 @@ class GLModule(object):
raise GLError(18, str(self))
else: # if not self.config['errors']
sys.stderr.write('gnulib-tool: warning: module %s lacks a License\n' % str(self))
- if str(self) == 'parse-datetime':
- # This module is under a weaker license only for the purpose of some
+ if str(self).startswith('parse-datetime'):
+ # These modules are under a weaker license only for the purpose of some
# users who hand-edit it and don't use gnulib-tool. For the regular
# gnulib users they are under a stricter license.
result = 'GPL'
--
2.39.2
From 9411cafcac1cec3dd6d7e8d6476df27070d02269 Mon Sep 17 00:00:00 2001
From: Collin Funk <collin.fu...@gmail.com>
Date: Mon, 26 Feb 2024 21:46:30 -0800
Subject: [PATCH 2/2] gnulib-tool.py: Follow gnulib-tool changes, part 30.
Follow gnulib-tool change
2021-05-30 Bruno Haible <br...@clisp.org>
Write 'LGPLv3+ or GPLv2+' instead of 'LGPLv3+ or GPLv2'.
* pygnulib/GLImport.py (GLImport.prepare): Change.
* pygnulib/GLTestDir.py (GLTestDir.execute): Likewise.
---
ChangeLog | 9 +++++++++
gnulib-tool.py.TODO | 11 -----------
pygnulib/GLImport.py | 4 ++--
pygnulib/GLTestDir.py | 10 +++++-----
4 files changed, 16 insertions(+), 18 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index 7692ac13bc..fdf08ad934 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+2024-02-26 Collin Funk <collin.fu...@gmail.com>
+
+ gnulib-tool.py: Follow gnulib-tool changes, part 30.
+ Follow gnulib-tool change
+ 2021-05-30 Bruno Haible <br...@clisp.org>
+ Write 'LGPLv3+ or GPLv2+' instead of 'LGPLv3+ or GPLv2'.
+ * pygnulib/GLImport.py (GLImport.prepare): Change.
+ * pygnulib/GLTestDir.py (GLTestDir.execute): Likewise.
+
2024-02-26 Collin Funk <collin.fu...@gmail.com>
gnulib-tool.py: Follow gnulib-tool changes, part 29.
diff --git a/gnulib-tool.py.TODO b/gnulib-tool.py.TODO
index 7be0e243e7..5f4a134edf 100644
--- a/gnulib-tool.py.TODO
+++ b/gnulib-tool.py.TODO
@@ -581,17 +581,6 @@ Date: Thu Jun 10 21:26:53 2021 +0200
--------------------------------------------------------------------------------
-commit 6d1cba373a8387aa2131e9dc3e94954c5669ca52
-Author: Bruno Haible <br...@clisp.org>
-Date: Sun May 30 14:37:06 2021 +0200
-
- Write 'LGPLv3+ or GPLv2+' instead of 'LGPLv3+ or GPLv2'.
-
- * modules/* (License): Change.
- * gnulib-tool (func_import, func_create_testdir): Likewise.
-
---------------------------------------------------------------------------------
-
commit 4b071c115309079528db7b60e8d2ffb22b129088
Author: Paul Eggert <egg...@cs.ucla.edu>
Date: Mon Apr 26 23:31:29 2021 -0700
diff --git a/pygnulib/GLImport.py b/pygnulib/GLImport.py
index c69a33deb7..7f332ec760 100644
--- a/pygnulib/GLImport.py
+++ b/pygnulib/GLImport.py
@@ -858,8 +858,8 @@ AC_DEFUN([%s_FILE_LIST], [\n''' % macro_prefix
compatibilities['all'] = ['GPLv2+ build tool', 'GPLed build tool',
'public domain', 'unlimited',
'unmodifiable license text']
- compatibilities['3'] = ['LGPLv2+', 'LGPLv3+ or GPLv2', 'LGPLv3+', 'LGPL']
- compatibilities['3orGPLv2'] = ['LGPLv2+', 'LGPLv3+ or GPLv2']
+ compatibilities['3'] = ['LGPLv2+', 'LGPLv3+ or GPLv2+', 'LGPLv3+', 'LGPL']
+ compatibilities['3orGPLv2'] = ['LGPLv2+', 'LGPLv3+ or GPLv2+']
compatibilities['2'] = ['LGPLv2+']
if lgpl:
for module in main_modules:
diff --git a/pygnulib/GLTestDir.py b/pygnulib/GLTestDir.py
index 3bb99c59cc..bc0b153304 100644
--- a/pygnulib/GLTestDir.py
+++ b/pygnulib/GLTestDir.py
@@ -204,16 +204,16 @@ class GLTestDir(object):
'public domain', 'unlimited', 'unmodifiable license text']:
incompatible = False
if requested_licence == 'GPLv3+' or requested_licence == 'GPL':
- if license not in ['LGPLv2+', 'LGPLv3+ or GPLv2', 'LGPLv3+', 'LGPL', 'GPLv2+', 'GPLv3+', 'GPL']:
+ if license not in ['LGPLv2+', 'LGPLv3+ or GPLv2+', 'LGPLv3+', 'LGPL', 'GPLv2+', 'GPLv3+', 'GPL']:
incompatible = True
elif requested_licence == 'GPLv2+':
- if license not in ['LGPLv2+', 'LGPLv3+ or GPLv2', 'GPLv2+']:
+ if license not in ['LGPLv2+', 'LGPLv3+ or GPLv2+', 'GPLv2+']:
incompatible = True
elif requested_licence == 'LGPLv3+' or requested_licence == 'LGPL':
- if license not in ['LGPLv2+', 'LGPLv3+ or GPLv2', 'LGPLv3+', 'LGPL']:
+ if license not in ['LGPLv2+', 'LGPLv3+ or GPLv2+', 'LGPLv3+', 'LGPL']:
incompatible = True
- elif requested_licence == 'LGPLv3+ or GPLv2':
- if license not in ['LGPLv2+', 'LGPLv3+ or GPLv2']:
+ elif requested_licence == 'LGPLv3+ or GPLv2+':
+ if license not in ['LGPLv2+', 'LGPLv3+ or GPLv2+']:
incompatible = True
elif requested_licence == 'LGPLv2+':
if license not in ['LGPLv2+']:
--
2.39.2