> * gnulib-tool.sh (func_import): Copy remove-potcdate.sed instead of > remove-potcdate.sin. > * pygnulib/GLImport.py (GLImport.execute): Likewise.
Oops, this change broke the gnulib-tool test suite: /GNULIB/gnulib-git/gnulib-tool.py: *** file build-aux/po/remove-potcdate.sed not found /GNULIB/gnulib-git/gnulib-tool.py: *** Stop. FAIL: gnulib-tool exited with code 1. FAIL: test-cache-1-14.sh /GNULIB/gnulib-git/gnulib-tool.py: *** file build-aux/po/remove-potcdate.sed not found /GNULIB/gnulib-git/gnulib-tool.py: *** Stop. FAIL: gnulib-tool exited with code 1. FAIL: test-cache-2-1.sh /GNULIB/gnulib-git/gnulib-tool.py: *** file build-aux/po/remove-potcdate.sed not found /GNULIB/gnulib-git/gnulib-tool.py: *** Stop. FAIL: gnulib-tool exited with code 1. FAIL: test-cache-2-2.sh /GNULIB/gnulib-git/gnulib-tool.py: *** file build-aux/po/remove-potcdate.sed not found /GNULIB/gnulib-git/gnulib-tool.py: *** Stop. FAIL: gnulib-tool exited with code 1. FAIL: test-cache-2-3.sh /GNULIB/gnulib-git/gnulib-tool.py: *** file build-aux/po/remove-potcdate.sed not found /GNULIB/gnulib-git/gnulib-tool.py: *** Stop. FAIL: gnulib-tool exited with code 1. FAIL: test-cache-2-4.sh /GNULIB/gnulib-git/gnulib-tool.py: *** file build-aux/po/remove-potcdate.sed not found /GNULIB/gnulib-git/gnulib-tool.py: *** Stop. FAIL: gnulib-tool exited with code 1. FAIL: test-cache-2-5.sh /GNULIB/gnulib-git/gnulib-tool.py: *** file build-aux/po/remove-potcdate.sed not found /GNULIB/gnulib-git/gnulib-tool.py: *** Stop. FAIL: gnulib-tool exited with code 1. FAIL: test-cache-2-6.sh /GNULIB/gnulib-git/gnulib-tool.py: *** file build-aux/po/remove-potcdate.sed not found /GNULIB/gnulib-git/gnulib-tool.py: *** Stop. FAIL: gnulib-tool exited with code 1. FAIL: test-cache-2-7.sh /GNULIB/gnulib-git/gnulib-tool.py: *** file build-aux/po/remove-potcdate.sed not found /GNULIB/gnulib-git/gnulib-tool.py: *** Stop. FAIL: gnulib-tool exited with code 1. FAIL: test-cache-2-8.sh /GNULIB/gnulib-git/gnulib-tool.py: *** file build-aux/po/remove-potcdate.sed not found /GNULIB/gnulib-git/gnulib-tool.py: *** Stop. FAIL: gnulib-tool exited with code 1. FAIL: test-cache-2-9.sh /GNULIB/gnulib-git/gnulib-tool.py: *** file build-aux/po/remove-potcdate.sed not found /GNULIB/gnulib-git/gnulib-tool.py: *** Stop. FAIL: gnulib-tool exited with code 1. FAIL: test-cache-2-10.sh /GNULIB/gnulib-git/gnulib-tool.py: *** file build-aux/po/remove-potcdate.sed not found /GNULIB/gnulib-git/gnulib-tool.py: *** Stop. FAIL: gnulib-tool exited with code 1. FAIL: test-cache-2-11.sh /GNULIB/gnulib-git/gnulib-tool.py: *** file build-aux/po/remove-potcdate.sed not found /GNULIB/gnulib-git/gnulib-tool.py: *** Stop. FAIL: gnulib-tool exited with code 1. FAIL: test-cache-2-12.sh PASS: test-cache-2-13.sh /GNULIB/gnulib-git/gnulib-tool.py: *** file build-aux/po/remove-potcdate.sed not found /GNULIB/gnulib-git/gnulib-tool.py: *** Stop. FAIL: gnulib-tool exited with code 1. FAIL: test-cache-2-14.sh /GNULIB/gnulib-git/gnulib-tool.py: *** file build-aux/po/remove-potcdate.sed not found /GNULIB/gnulib-git/gnulib-tool.py: *** Stop. FAIL: gnulib-tool exited with code 1. FAIL: test-cache-2-15.sh /GNULIB/gnulib-git/gnulib-tool.py: *** file build-aux/po/remove-potcdate.sed not found /GNULIB/gnulib-git/gnulib-tool.py: *** Stop. FAIL: gnulib-tool exited with code 1. FAIL: test-cache-2-16.sh /GNULIB/gnulib-git/gnulib-tool.py: *** file build-aux/po/remove-potcdate.sed not found /GNULIB/gnulib-git/gnulib-tool.py: *** Stop. FAIL: gnulib-tool exited with code 1. FAIL: test-cache-2-17.sh /GNULIB/gnulib-git/gnulib-tool.py: *** file build-aux/po/remove-potcdate.sed not found /GNULIB/gnulib-git/gnulib-tool.py: *** Stop. FAIL: gnulib-tool exited with code 1. FAIL: test-cache-2-18.sh /GNULIB/gnulib-git/gnulib-tool.py: *** file build-aux/po/remove-potcdate.sed not found /GNULIB/gnulib-git/gnulib-tool.py: *** Stop. FAIL: gnulib-tool exited with code 1. FAIL: test-cache-2-19.sh /GNULIB/gnulib-git/gnulib-tool.py: *** file build-aux/po/remove-potcdate.sed not found /GNULIB/gnulib-git/gnulib-tool.py: *** Stop. FAIL: gnulib-tool exited with code 1. FAIL: test-cache-2-20.sh /GNULIB/gnulib-git/gnulib-tool.py: *** file build-aux/po/remove-potcdate.sed not found /GNULIB/gnulib-git/gnulib-tool.py: *** Stop. FAIL: gnulib-tool exited with code 1. FAIL: test-cache-2-21.sh /GNULIB/gnulib-git/gnulib-tool.py: *** file build-aux/po/remove-potcdate.sed not found /GNULIB/gnulib-git/gnulib-tool.py: *** Stop. FAIL: gnulib-tool exited with code 1. FAIL: test-cache-2-22.sh /GNULIB/gnulib-git/gnulib-tool.py: *** file build-aux/po/remove-potcdate.sed not found /GNULIB/gnulib-git/gnulib-tool.py: *** Stop. FAIL: gnulib-tool exited with code 1. FAIL: test-cache-2-23.sh /GNULIB/gnulib-git/gnulib-tool.py: *** file build-aux/po/remove-potcdate.sed not found /GNULIB/gnulib-git/gnulib-tool.py: *** Stop. FAIL: gnulib-tool exited with code 1. FAIL: test-cache-2-24.sh /GNULIB/gnulib-git/gnulib-tool.py: *** file build-aux/po/remove-potcdate.sed not found /GNULIB/gnulib-git/gnulib-tool.py: *** Stop. FAIL: gnulib-tool exited with code 1. FAIL: test-cache-2-25.sh /GNULIB/gnulib-git/gnulib-tool.py: *** file build-aux/po/remove-potcdate.sed not found /GNULIB/gnulib-git/gnulib-tool.py: *** Stop. FAIL: gnulib-tool exited with code 1. FAIL: test-cache-2-26.sh /GNULIB/gnulib-git/gnulib-tool.py: *** file build-aux/po/remove-potcdate.sed not found /GNULIB/gnulib-git/gnulib-tool.py: *** Stop. FAIL: gnulib-tool exited with code 1. FAIL: test-cache-2-27.sh /GNULIB/gnulib-git/gnulib-tool.py: *** file build-aux/po/remove-potcdate.sed not found /GNULIB/gnulib-git/gnulib-tool.py: *** Stop. FAIL: gnulib-tool exited with code 1. FAIL: test-cache-2-28.sh /GNULIB/gnulib-git/gnulib-tool.py: *** file build-aux/po/remove-potcdate.sed not found /GNULIB/gnulib-git/gnulib-tool.py: *** Stop. FAIL: gnulib-tool exited with code 1. FAIL: test-cache-2-29.sh /GNULIB/gnulib-git/gnulib-tool.py: *** file build-aux/po/remove-potcdate.sed not found /GNULIB/gnulib-git/gnulib-tool.py: *** Stop. FAIL: gnulib-tool exited with code 1. FAIL: test-cache-2-30.sh gnulib-tool: warning: --po-domain has no effect without a --po-base option /GNULIB/gnulib-git/gnulib-tool.py: *** file build-aux/po/remove-potcdate.sed not found /GNULIB/gnulib-git/gnulib-tool.py: *** Stop. FAIL: gnulib-tool exited with code 1. FAIL: test-cache-2-31.sh /GNULIB/gnulib-git/gnulib-tool.py: *** file build-aux/po/remove-potcdate.sed not found /GNULIB/gnulib-git/gnulib-tool.py: *** Stop. FAIL: gnulib-tool exited with code 1. FAIL: test-cache-2-32.sh /GNULIB/gnulib-git/gnulib-tool.py: *** file build-aux/po/remove-potcdate.sed not found /GNULIB/gnulib-git/gnulib-tool.py: *** Stop. FAIL: gnulib-tool exited with code 1. FAIL: test-cache-2-33.sh /GNULIB/gnulib-git/gnulib-tool.py: *** file build-aux/po/remove-potcdate.sed not found /GNULIB/gnulib-git/gnulib-tool.py: *** Stop. FAIL: gnulib-tool exited with code 1. FAIL: test-cache-2-34.sh /GNULIB/gnulib-git/gnulib-tool.py: *** file build-aux/po/remove-potcdate.sed not found /GNULIB/gnulib-git/gnulib-tool.py: *** Stop. FAIL: gnulib-tool exited with code 1. FAIL: test-cache-3-1.sh /GNULIB/gnulib-git/gnulib-tool.py: *** file build-aux/po/remove-potcdate.sed not found /GNULIB/gnulib-git/gnulib-tool.py: *** Stop. FAIL: gnulib-tool exited with code 1. FAIL: test-cache-3-26.sh /GNULIB/gnulib-git/gnulib-tool.py: *** file build-aux/po/remove-potcdate.sed not found /GNULIB/gnulib-git/gnulib-tool.py: *** Stop. FAIL: gnulib-tool exited with code 1. FAIL: test-cache-3-27.sh It can be fixed by changing the tests' input data, or by keeping gnulib-tool compatible with the older input data. I prefer the latter. 2024-12-09 Bruno Haible <br...@clisp.org> gnulib-tool: Fix test failures (regression 2024-12-06). * gnulib-tool.sh (func_import): Try both remove-potcdate.sin and remove-potcdate.sed, whichever exists. * pygnulib/GLImport.py (GLImport.execute): Likewise. diff --git a/gnulib-tool.sh b/gnulib-tool.sh index dccea21ce8..c29de46b8f 100755 --- a/gnulib-tool.sh +++ b/gnulib-tool.sh @@ -5799,32 +5799,34 @@ s,//*$,/,' # Create po/ directory. if test -n "$pobase"; then # Create po makefile and auxiliary files. - for file in Makefile.in.in remove-potcdate.sed; do + for file in Makefile.in.in remove-potcdate.sin remove-potcdate.sed; do func_dest_tmpfilename $pobase/$file - func_lookup_file build-aux/po/$file - cat "$lookedup_file" > "$tmpfile" - if test -f "$destdir"/$pobase/$file; then - if cmp -s "$destdir"/$pobase/$file "$tmpfile"; then - rm -f "$tmpfile" + if test -r "$gnulib_dir/build-aux/po/$file"; then + func_lookup_file build-aux/po/$file + cat "$lookedup_file" > "$tmpfile" + if test -f "$destdir"/$pobase/$file; then + if cmp -s "$destdir"/$pobase/$file "$tmpfile"; then + rm -f "$tmpfile" + else + if $doit; then + echo "Updating $pobase/$file (backup in $pobase/$file~)" + mv -f "$destdir"/$pobase/$file "$destdir"/$pobase/$file~ + mv -f "$tmpfile" "$destdir"/$pobase/$file + else + echo "Update $pobase/$file (backup in $pobase/$file~)" + rm -f "$tmpfile" + fi + fi else if $doit; then - echo "Updating $pobase/$file (backup in $pobase/$file~)" - mv -f "$destdir"/$pobase/$file "$destdir"/$pobase/$file~ + echo "Creating $pobase/$file" mv -f "$tmpfile" "$destdir"/$pobase/$file else - echo "Update $pobase/$file (backup in $pobase/$file~)" + echo "Create $pobase/$file" rm -f "$tmpfile" fi + func_append added_files "$pobase/$file$nl" fi - else - if $doit; then - echo "Creating $pobase/$file" - mv -f "$tmpfile" "$destdir"/$pobase/$file - else - echo "Create $pobase/$file" - rm -f "$tmpfile" - fi - func_append added_files "$pobase/$file$nl" fi done # Create po makefile parameterization, part 1. diff --git a/pygnulib/GLImport.py b/pygnulib/GLImport.py index 7747761900..609f8cc827 100644 --- a/pygnulib/GLImport.py +++ b/pygnulib/GLImport.py @@ -1081,26 +1081,27 @@ def execute(self, filetable: GLFileTable, transformers: dict[str, tuple[re.Patte filesystem = GLFileSystem(self.config) if pobase: # Create po makefile and auxiliary files. - for file in ['Makefile.in.in', 'remove-potcdate.sed']: + for file in ['Makefile.in.in', 'remove-potcdate.sin', 'remove-potcdate.sed']: tmpfile = assistant.tmpfilename(joinpath(pobase, file)) path = joinpath('build-aux', 'po', file) - lookedup, flag = filesystem.lookup(path) - copyfile(lookedup, tmpfile) - basename = joinpath(pobase, file) - filename, backup, flag = assistant.super_update(basename, tmpfile) - if flag == 1: - if not self.config['dryrun']: - print('Updating %s (backup in %s)' % (filename, backup)) - else: # if self.config['dryrun'] - print('Update %s (backup in %s)' % (filename, backup)) - elif flag == 2: - if not self.config['dryrun']: - print('Creating %s' % filename) - else: # if self.config['dryrun']: - print('Create %s' % filename) - filetable.added_files.append(filename) - if os.path.isfile(tmpfile): - os.remove(tmpfile) + if os.path.exists(joinpath(DIRS['root'], path)): + lookedup, flag = filesystem.lookup(path) + copyfile(lookedup, tmpfile) + basename = joinpath(pobase, file) + filename, backup, flag = assistant.super_update(basename, tmpfile) + if flag == 1: + if not self.config['dryrun']: + print('Updating %s (backup in %s)' % (filename, backup)) + else: # if self.config['dryrun'] + print('Update %s (backup in %s)' % (filename, backup)) + elif flag == 2: + if not self.config['dryrun']: + print('Creating %s' % filename) + else: # if self.config['dryrun']: + print('Create %s' % filename) + filetable.added_files.append(filename) + if os.path.isfile(tmpfile): + os.remove(tmpfile) # Create po makefile parameterization, part 1. basename = joinpath(pobase, 'Makevars')