[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
gnulib-tool.sh: Remove './' prefix from file names to update or remove
From: |
Bruno Haible |
Subject: |
gnulib-tool.sh: Remove './' prefix from file names to update or remove |
Date: |
Thu, 11 Apr 2024 13:44:44 +0200 |
In the 'gnuit' and 'acct' packages, I see that gnulib-tool.sh and gnulib-tool.py
provide slightly different outputs. Namely, gnulib-tool.sh shows file names
that start with './' if
- a module contains a file 'build-aux/...' and
- the configure.ac does not contain an AC_CONFIG_AUX_DIR invocation,
while gnulib-tool.py trims this './'.
How to reproduce:
$ export GNULIB_TOOL_IMPL=sh+py
$ git clone https://git.savannah.gnu.org/git/gnuit.git
$ cd gnuit
Bump AC_PREREQ line in configure.ac.
$ $GNULIB_SRCDIR/gnulib-tool --update
.../gnulib-tool: *** gnulib-tool.py produced different output than
gnulib-tool.sh! Compare .../glpy2wHy4c-sh-out and .../glpy2wHy4c-py-out.
.../gnulib-tool: *** Stop.
$ diff -u ../glpy2wHy4c-sh-out ../glpy2wHy4c-py-out
--- ../glpy2wHy4c-sh-out 2024-04-11 13:09:22.611985846 +0200
+++ ../glpy2wHy4c-py-out 2024-04-11 13:08:58.767830287 +0200
@@ -946,7 +946,6 @@
Creating directory ./lib/unicase
Creating directory ./lib/unictype
Creating directory ./lib/unistr
-Removing file ./link-warning.h (backup in ./link-warning.h~)
Removing file lib/alignof.h (backup in lib/alignof.h~)
Removing file lib/close-hook.c (backup in lib/close-hook.c~)
Removing file lib/close-hook.h (backup in lib/close-hook.h~)
@@ -980,6 +979,7 @@
Removing file lib/xgetcwd.c (backup in lib/xgetcwd.c~)
Removing file lib/xgetcwd.h (backup in lib/xgetcwd.h~)
Removing file lib/xstrtol-error.c (backup in lib/xstrtol-error.c~)
+Removing file link-warning.h (backup in link-warning.h~)
Removing file m4/argmatch.m4 (backup in m4/argmatch.m4~)
Removing file m4/ctype.m4 (backup in m4/ctype.m4~)
Removing file m4/dirname.m4 (backup in m4/dirname.m4~)
@@ -1648,7 +1648,7 @@
Updating m4/gnulib-cache.m4 (backup in m4/gnulib-cache.m4~)
Updating m4/gnulib-comp.m4 (backup in m4/gnulib-comp.m4~)
Updating lib/Makefile.am (backup in lib/Makefile.am~)
-Updating ./.gitignore (backup in ./.gitignore~)
+Updating .gitignore (backup in .gitignore~)
Creating lib/.gitignore
Creating lib/glthread/.gitignore
Creating lib/malloc/.gitignore
This patch fixes it, without breaking the test suite.
2024-04-11 Bruno Haible <bruno@clisp.org>
gnulib-tool.sh: Remove './' prefix from file names to update or remove.
* gnulib-tool.sh (func_import): Don't let rewritten file names start
with './'.
diff --git a/gnulib-tool.sh b/gnulib-tool.sh
index e99b8fff79..6335228c46 100755
--- a/gnulib-tool.sh
+++ b/gnulib-tool.sh
@@ -5394,22 +5394,67 @@
s,^\(.................................................[^ ]*\) *,
fi
rewritten='%REWRITTEN%'
+ if test "$auxdir" = '.'; then
+ auxdir_prefix=
+ else
+ auxdir_prefix="$auxdir/"
+ fi
+ if test "$cached_docbase" = '.'; then
+ cached_docbase_prefix=
+ else
+ cached_docbase_prefix="$cached_docbase/"
+ fi
+ if test "$cached_sourcebase" = '.'; then
+ cached_sourcebase_prefix=
+ else
+ cached_sourcebase_prefix="$cached_sourcebase/"
+ fi
+ if test "$cached_m4base" = '.'; then
+ cached_m4base_prefix=
+ else
+ cached_m4base_prefix="$cached_m4base/"
+ fi
+ if test "$cached_testsbase" = '.'; then
+ cached_testsbase_prefix=
+ else
+ cached_testsbase_prefix="$cached_testsbase/"
+ fi
+ if test "$docbase" = '.'; then
+ docbase_prefix=
+ else
+ docbase_prefix="$docbase/"
+ fi
+ if test "$sourcebase" = '.'; then
+ sourcebase_prefix=
+ else
+ sourcebase_prefix="$sourcebase/"
+ fi
+ if test "$m4base" = '.'; then
+ m4base_prefix=
+ else
+ m4base_prefix="$m4base/"
+ fi
+ if test "$testsbase" = '.'; then
+ testsbase_prefix=
+ else
+ testsbase_prefix="$testsbase/"
+ fi
sed_rewrite_old_files="\
- s,^build-aux/,$rewritten$auxdir/,
- s,^doc/,$rewritten$cached_docbase/,
- s,^lib/,$rewritten$cached_sourcebase/,
- s,^m4/,$rewritten$cached_m4base/,
- s,^tests/,$rewritten$cached_testsbase/,
- s,^tests=lib/,$rewritten$cached_testsbase/,
+ s,^build-aux/,$rewritten$auxdir_prefix,
+ s,^doc/,$rewritten$cached_docbase_prefix,
+ s,^lib/,$rewritten$cached_sourcebase_prefix,
+ s,^m4/,$rewritten$cached_m4base_prefix,
+ s,^tests/,$rewritten$cached_testsbase_prefix,
+ s,^tests=lib/,$rewritten$cached_testsbase_prefix,
s,^top/,$rewritten,
s,^$rewritten,,"
sed_rewrite_new_files="\
- s,^build-aux/,$rewritten$auxdir/,
- s,^doc/,$rewritten$docbase/,
- s,^lib/,$rewritten$sourcebase/,
- s,^m4/,$rewritten$m4base/,
- s,^tests/,$rewritten$testsbase/,
- s,^tests=lib/,$rewritten$testsbase/,
+ s,^build-aux/,$rewritten$auxdir_prefix,
+ s,^doc/,$rewritten$docbase_prefix,
+ s,^lib/,$rewritten$sourcebase_prefix,
+ s,^m4/,$rewritten$m4base_prefix,
+ s,^tests/,$rewritten$testsbase_prefix,
+ s,^tests=lib/,$rewritten$testsbase_prefix,
s,^top/,$rewritten,
s,^$rewritten,,"
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- gnulib-tool.sh: Remove './' prefix from file names to update or remove,
Bruno Haible <=