diff -Nur tar-1.13.orig/src/tar.c tar-1.13/src/tar.c --- tar-1.13.orig/src/tar.c 1999-07-07 00:49:50.000000000 -0500 +++ tar-1.13/src/tar.c 2017-12-22 00:39:37.515271544 -0600 @@ -16,6 +16,8 @@ with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ +/* Patched to integrate bzip2 as compression filter (option -j) */ + #include "system.h" #include @@ -164,6 +166,8 @@ {"block-number", no_argument, NULL, 'R'}, {"block-size", required_argument, NULL, OBSOLETE_BLOCKING_FACTOR}, {"blocking-factor", required_argument, NULL, 'b'}, + {"bzip2", required_argument, NULL, 'j'}, + {"bunzip2", required_argument, NULL, 'j'}, {"catenate", no_argument, NULL, 'A'}, {"checkpoint", no_argument, &checkpoint_option, 1}, {"compare", no_argument, NULL, 'd'}, @@ -340,6 +344,7 @@ PATTERN at list/extract time, a globbing PATTERN\n\ -o, --old-archive, --portability write a V7 format archive\n\ --posix write a POSIX conformant archive\n\ + -j, --bzip2, --bunzip2 filter the archive through bzip2\n\ -z, --gzip, --ungzip filter the archive through gzip\n\ -Z, --compress, --uncompress filter the archive through compress\n\ --use-compress-program=PROG filter through PROG (must accept -d)\n"), @@ -410,13 +415,13 @@ | Parse the options for tar. | `----------------------------*/ -/* Available option letters are DEHIJQY and aejnqy. Some are reserved: +/* Available option letters are DEHIJQY and aenqy. Some are reserved: y per-file gzip compression Y per-block gzip compression */ #define OPTION_STRING \ - "-01234567ABC:F:GK:L:MN:OPRST:UV:WX:Zb:cdf:g:hiklmoprstuvwxz" + "-01234567ABC:F:GK:L:MN:OPRST:UV:WX:Zb:cdf:g:hijklmoprstuvwxz" static void set_subcommand_option (enum subcommand subcommand) @@ -788,6 +793,10 @@ FATAL_ERROR ((0, errno, "%s", optarg)); break; + case 'j': + set_use_compress_program_option ("bzip2"); + break; + case 'z': set_use_compress_program_option ("gzip"); break;