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)