diff -uNr tar-1.19/src/buffer.c tar-1.19-patched/src/buffer.c --- tar-1.19/src/buffer.c 2007-08-26 10:56:55.000000000 +0200 +++ tar-1.19-patched/src/buffer.c 2008-02-05 14:48:52.445315353 +0100 @@ -204,7 +204,8 @@ ct_none, ct_compress, ct_gzip, - ct_bzip2 + ct_bzip2, + ct_lzma }; struct zip_magic @@ -221,6 +222,7 @@ { ct_compress, 2, "\037\235", "compress", "-Z" }, { ct_gzip, 2, "\037\213", "gzip", "-z" }, { ct_bzip2, 3, "BZh", "bzip2", "-j" }, + { ct_lzma, 6, "\xFFLZMA", "lzma", "-a" }, }; #define NMAGIC (sizeof(magic)/sizeof(magic[0])) diff -uNr tar-1.19/src/tar.c tar-1.19-patched/src/tar.c --- tar-1.19/src/tar.c 2007-09-26 23:36:58.000000000 +0200 +++ tar-1.19-patched/src/tar.c 2008-02-05 14:48:52.446312743 +0100 @@ -574,6 +574,8 @@ N_("control pax keywords"), GRID+8 }, {"label", 'V', N_("TEXT"), 0, N_("create archive with volume name TEXT; at list/extract time, use TEXT as a globbing pattern for volume name"), GRID+8 }, + {"lzma", 'a', 0, 0, + N_("filter the archive through lzma"), GRID+8 }, {"bzip2", 'j', 0, 0, N_("filter the archive through bzip2"), GRID+8 }, {"gzip", 'z', 0, 0, @@ -1218,6 +1220,10 @@ args->input_files = true; break; + case 'a': + set_use_compress_program_option ("lzma"); + break; + case 'A': set_subcommand_option (CAT_SUBCOMMAND); break; --- ./tar.1.org 2008-02-05 14:54:14.572314240 +0100 +++ ./tar.1 2008-02-05 14:57:14.033710690 +0100 @@ -25,6 +25,7 @@ .BR -p ", " --preserve-permissions .BR -v ", " --verbose .BR -z ", " --gzip +.BR -a ", " --lzma .fi .I All Options: @@ -352,6 +353,9 @@ .TP .BR -z ", " --gzip ", " --ungzip filter the archive through gzip +.TP +.BR -a ", " --lzma ", " --unlzma +filter the archive through lzma .SH "ALL OPTIONS" .TP .BR --atime-preserve