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 >