From a930b7d18bfd011647c84def5fef69e3880a2686 Mon Sep 17 00:00:00 2001 From: Stefano Lattarini Date: Sun, 30 Oct 2011 10:30:09 +0100 Subject: [PATCH] missing: inform the user if GNU tar is called * lib/missing: If the code trying to run GNU tar is reached, it means that the previous attempt to run the default tar program has failed, very likely producing some error message. At this point, just running GNU tar without further comments might be confusing. --- ChangeLog | 9 +++++++++ lib/missing | 13 +++++++------ 2 files changed, 16 insertions(+), 6 deletions(-) diff --git a/ChangeLog b/ChangeLog index 92297ecfe..ec3aec105 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,12 @@ +2011-12-22 Stefano Lattarini + + missing: inform the user if GNU tar is called + * lib/missing: If the code trying to run GNU tar is reached, it + means that the previous attempt to run the default tar program + has failed, very likely producing some error message. At this + point, just running GNU tar without further comments might be + confusing. + 2011-12-22 Stefano Lattarini missing: if GNU tar exists but fails when called, give up diff --git a/lib/missing b/lib/missing index 411123ff7..46f33bf07 100755 --- a/lib/missing +++ b/lib/missing @@ -322,12 +322,13 @@ WARNING: \`$1' is $msg. You should only need it if shift # We have already tried tar in the generic part. So try with GNU tar. # Look for gnutar/gtar before invocation to avoid ugly error messages. - if (gnutar --version) > /dev/null 2>&1; then - exec gnutar "$@" - fi - if (gtar --version) > /dev/null 2>&1; then - exec gtar "$@" - fi + for cmd in gnutar gtar; do + ($cmd --version) > /dev/null 2>&1 || continue + echo 1>&2 "\ +WARNING: I can't seem to be able to run \`tar' with the given arguments. + Trying to use GNU tar (\"$cmd\") instead ..." + exec $cmd "$@" + done firstarg=$1 if shift; then case $firstarg in -- 2.47.2