Force use of GNU tar, and adapt gzip parser to OpenBSD gzip

Index: scripts/miscellaneous/unpack.m
--- scripts/miscellaneous/unpack.m.orig
+++ scripts/miscellaneous/unpack.m
@@ -200,15 +200,15 @@ function filelist = unpack (file, dir = [], filetype =
                        'bzip2 -d -k -f "%s"', ...
                        @__parse_bzip2__, true};
     commandlist.bz = commandlist.bz2;
-    commandlist.tar = {'tar xvf "%s"', ...
-                       'tar xf "%s"', ...
+    commandlist.tar = {'gtar xvf "%s"', ...
+                       'gtar xf "%s"', ...
                        @__parse_tar__, false};
-    commandlist.targz = {'gzip -d -c "%s" | tar xvf -', ...
-                         'gzip -d -c "%s" | tar xf -', ...
+    commandlist.targz = {'gzip -d -c "%s" | gtar xvf -', ...
+                         'gzip -d -c "%s" | gtar xf -', ...
                          @__parse_tar__, false};
     commandlist.tgz = commandlist.targz;
-    commandlist.tarbz2 = {'bzip2 -d -c "%s" | tar xvf -', ...
-                          'bzip2 -d -c "%s" | tar xf -', ...
+    commandlist.tarbz2 = {'bzip2 -d -c "%s" | gtar xvf -', ...
+                          'bzip2 -d -c "%s" | gtar xf -', ...
                           @__parse_tar__, false};
     commandlist.tarbz = commandlist.tarbz2;
     commandlist.tbz2 = commandlist.tarbz2;
@@ -333,7 +333,9 @@ function files = __parse_gzip__ (output)
   ## Parse the output from gzip and gunzip returning the files
   ## compressed (or decompressed).
 
-  files = regexprep (output, '^.+ -- (?:created|replaced with) (.*)$', '$1');
+  tmp = regexprep (output, '^.+ -- (?:created|replaced with) (.*)$', '$1');
+  files = regexprep (tmp, "([0-9]+ bytes in, [0-9]+ bytes out$)", '');
+  files(strcmp('',files))=[];
 endfunction
 
 function files = __parse_bzip2__ (output)
