-if [[ $archive_file =~ .*\.tar$ \
- || $archive_file =~ .*\.tar\.gz$ \
- || $archive_file =~ .*\.tar\.bz2$ \
- || $archive_file =~ .*\.iar$ \
- || $archive_file =~ .*\.oar$ \
- || $archive_file =~ .*\.tgz$ \
- || $archive_file =~ .*\.ova$ \
+#hmmm: we could log to a file and spew the file if there's a failure, then
+# remove the file after spewing or after successful run.
+# this is a really commonly repeated pattern that would be nice to support
+# in general.
+
+# record what happened.
+save_err=1
+if [[ "$archive_file" =~ .*\.tar$ \
+ || "$archive_file" =~ .*\.tar\.gz$ \
+ || "$archive_file" =~ .*\.tar\.bz2$ \
+ || "$archive_file" =~ .*\.tar\.xz$ \
+ || "$archive_file" =~ .*\.iar$ \
+ || "$archive_file" =~ .*\.oar$ \
+ || "$archive_file" =~ .*\.tgz$ \
+ || "$archive_file" =~ .*\.txz$ \
+ || "$archive_file" =~ .*\.ova$ \
+ || "$archive_file" =~ .*\.snarf$ \