Hi Collin,
> This patch seems correct to me and allows me to do this for the first
> time:
>
> $ env GNULIB_TOOL_IMPL=sh ./admin/merge-gnulib
> $ git add .
> $ rm -rf *
> $ git restore .
> $ env GNULIB_TOOL_IMPL=py ./admin/merge-gnulib
> $ git status
> On branch master
> Your branch is up to date with 'origin/master'.
>
> Changes to be committed:
> (use "git restore --staged <file>..." to unstage)
> modified: lib/gnulib.mk.in
> modified: lib/mini-gmp.c
> modified: lib/stdlib.in.h
> modified: m4/stdlib_h.m4
>
> I would appreciate this patch being double checked though. The
> corresponding lines in gnulib-tool.sh are 2589-2633.
Three things seem odd here:
*
if extra_files != [''] and extra_files:
if extra_files != ['']:
if buildaux_files != ['']:
Why does [''] represent the empty set/list here? Is something wrong with the
function filter_filelist?
* buildaux_files = ''.join(buildaux_files)
It does not seem useful to concatenate several file names without a separator
like a space.
* buildaux_files = joinpath('$(top_srcdir)', auxdir, buildaux_files)
Prepending $(top_srcdir)/build-aux/ *after* having concatenated the file names?
I would have expected that the code prepends $(top_srcdir)/build-aux/ to each
file name, *before* combining the results to a single string.
Also, please apply these comment additions:
diff --git a/pygnulib/GLModuleSystem.py b/pygnulib/GLModuleSystem.py
index 654889d6f0..687af6f760 100644
--- a/pygnulib/GLModuleSystem.py
+++ b/pygnulib/GLModuleSystem.py
@@ -649,6 +649,8 @@ class GLModule(object):
result = ''
if 'makefile-unconditional' not in self.cache:
if self.getName().endswith('-tests'):
+ # *-tests module live in tests/, not lib/.
+ # Synthesize an EXTRA_DIST augmentation.
files = self.getFiles()
extra_files = filter_filelist(constants.NL, files,
'tests/', '', 'tests/',
'').split(constants.NL)
@@ -656,6 +658,7 @@ class GLModule(object):
result += 'EXTRA_DIST += %s' % ' '.join(extra_files)
result += constants.NL * 2
else: # if not tests module
+ # Synthesize an EXTRA_DIST augmentation.
snippet = self.getAutomakeSnippet_Conditional()
snippet = constants.combine_lines(snippet)
pattern = re.compile(r'^lib_SOURCES[\t ]*\+=[\t ]*(.*)$',
re.MULTILINE)