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
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