bug-gnulib
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: patch to quote files in source archive setup


From: Patrice Dumas
Subject: Re: patch to quote files in source archive setup
Date: Sun, 28 Jan 2024 00:36:32 +0100

On Sat, Jan 27, 2024 at 12:46:33PM -0800, Paul Eggert wrote:
> On 2024-01-27 08:39, Bruno Haible wrote:
> > > Here is a reworked patch and ChangeLog based on your advices/ideas.
> > > In my tests quotes, *, ? and spaces are now accepted in file names, but
> > > not backslashes.
> > 
> > Thanks! Applied.
> 
> In reviewing that I found an opportunity to allow even odder situations, by
> passing the need to use 'ls', and installed the attached followup.

In my testings, I get an error.  I tried to redo manually and I did
not have the error anymore if I removed the
${source_extra-"$source_extra"} part.  Here is the error:
 tar: Substituting `.' for empty member name
 tar: : Cannot stat: No such file or directory
 tar: Exiting with failure status due to previous errors

Also the && at the end of the line seems strange to me.  Isn't there a \
missing to protect the end of line?

> From daeabcd8d6e73b254273559b1e4251a1498fceb9 Mon Sep 17 00:00:00 2001
> From: Paul Eggert <eggert@cs.ucla.edu>
> Date: Sat, 27 Jan 2024 12:44:25 -0800
> Subject: [PATCH] gendocs: allow other chars in source file names
> MIME-Version: 1.0
> Content-Type: text/plain; charset=UTF-8
> Content-Transfer-Encoding: 8bit
> 
> * build-aux/gendocs.sh: Generalize to also allow leading ‘-’
> and newlines (!) in source file names.  Exit if there
> is an error creating the tarball.
> ---
>  ChangeLog            |  7 +++++++
>  build-aux/gendocs.sh | 24 ++++++++++++++++++------
>  2 files changed, 25 insertions(+), 6 deletions(-)
> 
> diff --git a/ChangeLog b/ChangeLog
> index 7f40b7c6b9..58fd6e5d4c 100644
> --- a/ChangeLog
> +++ b/ChangeLog
> @@ -1,3 +1,10 @@
> +2024-01-27  Paul Eggert  <eggert@cs.ucla.edu>
> +
> +     gendocs: allow other chars in source file names
> +     * build-aux/gendocs.sh: Generalize to also allow leading ‘-’
> +     and newlines (!) in source file names.  Exit if there
> +     is an error creating the tarball.
> +
>  2024-01-27  Patrice Dumas  <pertusus@free.fr>
>  
>       gendocs: allow spaces, metacharacters and quotes in source file names
> diff --git a/build-aux/gendocs.sh b/build-aux/gendocs.sh
> index 605c7e3194..9b601010a1 100755
> --- a/build-aux/gendocs.sh
> +++ b/build-aux/gendocs.sh
> @@ -2,7 +2,7 @@
>  # gendocs.sh -- generate a GNU manual in many formats.  This script is
>  #   mentioned in maintain.texi.  See the help message below for usage 
> details.
>  
> -scriptversion=2024-01-01.00
> +scriptversion=2024-01-27.12
>  
>  # Copyright 2003-2024 Free Software Foundation, Inc.
>  #
> @@ -66,7 +66,7 @@ generate_html=true
>  generate_info=true
>  generate_tex=true
>  outdir=manual
> -source_extra=
> +unset source_extra
>  split=node
>  srcfile=
>  texarg="-t @finalout"
> @@ -416,11 +416,23 @@ fi # end html
>  printf "\nMaking .tar.gz for sources...\n"
>  d=`dirname $srcfile`
>  (
> -  cd "$d"
> -  ls -d *.texinfo *.texi *.txi *.eps "$source_extra" 2>/dev/null \
> -     | tar -czhf "$abs_outdir/$PACKAGE.texi.tar.gz" -T-
> +  cd "$d" || exit
> +
> +  # Set PATS to a list of globbing patterns that expand to
> +  # file names to be put into the .tar.gz for sources.
> +  # Omit patterns that do not expand to file names.
> +  pats=
> +  for pat in '*.texinfo' '*.texi' '*.txi' '*.eps'; do
> +    for file in $pat; do
> +      test "$file" = "$pat" && test ! -e "$file" || pats="$pats $pat"
> +      break
> +    done
> +  done
> +
> +  tar -czhf "$abs_outdir/$PACKAGE.texi.tar.gz" \
> +    -- $pats ${source_extra-"$source_extra"} &&
>    ls -l "$abs_outdir/$PACKAGE.texi.tar.gz"
> -)
> +) || exit
>  texi_tgz_size=`calcsize "$outdir/$PACKAGE.texi.tar.gz"`
>  
>  # 
> -- 
> 2.40.1
> 




reply via email to

[Prev in Thread] Current Thread [Next in Thread]