summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefano Lattarini <stefano.lattarini@gmail.com>2011-10-30 10:30:09 +0100
committerStefano Lattarini <stefano.lattarini@gmail.com>2011-12-22 12:08:49 +0100
commita930b7d18bfd011647c84def5fef69e3880a2686 (patch)
tree429a83a5f3b92bba2c207c6cfbc685c0362cc16e
parent82bf2d3511ce31739156b60d51cda76e73eb6ec2 (diff)
downloadautomake-a930b7d18bfd011647c84def5fef69e3880a2686.tar.gz
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.
-rw-r--r--ChangeLog9
-rwxr-xr-xlib/missing13
2 files changed, 16 insertions, 6 deletions
diff --git a/ChangeLog b/ChangeLog
index 92297ecfe..ec3aec105 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,14 @@
2011-12-22 Stefano Lattarini <stefano.lattarini@gmail.com>
+ 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 <stefano.lattarini@gmail.com>
+
missing: if GNU tar exists but fails when called, give up
* lib/missing: If the code trying to run GNU tar is reached,
don't continue if the invoked GNU tar program fails, as there
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