Ah, this patch still has an issue I just found right now: gnulib
actually wants to preserve +x access rights, some parts rely on that.

Any idea what the best way to fix this would be?
--
Benno

Am Di., 18. Feb. 2020 um 21:20 Uhr schrieb Benno Fünfstück
<benno.fuenfstu...@gmail.com>:
>
> If the location in which gnulib-tool is installed is not writable (the
> files are readonly), then cp'ing those files creates readonly files as
> well. To avoid this, use `cat $foo > $bar` to create a new file, with
> fresh attributes.
> ---
>  gnulib-tool | 7 +++----
>  1 file changed, 3 insertions(+), 4 deletions(-)
>
> diff --git a/gnulib-tool b/gnulib-tool
> index 89f6077e5..158873d4f 100755
> --- a/gnulib-tool
> +++ b/gnulib-tool
> @@ -1715,8 +1715,7 @@ func_lookup_file ()
>    lookedup_tmp=
>    if test -n "$lkpatches"; then
>      lkbase=`echo "$lkfile" | sed -e 's,^.*/,,'`
> -    rm -f "$tmp/$lkbase"
> -    cp "$lookedup_file" "$tmp/$lkbase"
> +    cat "$lookedup_file" > "$tmp/$lkbase"
>      save_IFS="$IFS"
>      IFS="$PATH_SEPARATOR"
>      for patchfile in $lkpatches; do
> @@ -5224,7 +5223,7 @@ 
> s,^\(.................................................[^ ]*\) *,
>      esac
>      func_dest_tmpfilename "$g"
>      func_lookup_file "$f"
> -    cp "$lookedup_file" "$tmpfile" || func_fatal_error "failed"
> +    cat "$lookedup_file" > "$tmpfile" || func_fatal_error "failed"
>      case "$f" in
>        *.class | *.mo )
>          # Don't process binary files with sed.
> @@ -7316,7 +7315,7 @@ s/\([.*$]\)/[\1]/g'
>      fi
>      # Copy the file.
>      func_dest_tmpfilename "$g"
> -    cp "$lookedup_file" "$tmpfile" || func_fatal_error "failed"
> +    cat "$lookedup_file" > "$tmpfile" || func_fatal_error "failed"
>      already_present=true
>      if test -f "$destdir/$g"; then
>        # The file already exists.
> --
> 2.25.1
>

Reply via email to