# HG changeset patch # User brett # Date 1195789060 18000 # Node ID a8f875e02c839fc759cafc5486a4633dcf23549c # Parent 3547e31247290ba1ce77a6397c29a2536304112c [svn] Add support for LZMA compression. Holy crap that was easy. diff -r 3547e3124729 -r a8f875e02c83 scripts/dtrx --- a/scripts/dtrx Thu Nov 22 22:24:04 2007 -0500 +++ b/scripts/dtrx Thu Nov 22 22:37:40 2007 -0500 @@ -60,6 +60,7 @@ RECURSE_NEVER = 4 mimetypes.encodings_map.setdefault('.bz2', 'bzip2') +mimetypes.encodings_map.setdefault('.lzma', 'lzma') mimetypes.types_map.setdefault('.gem', 'x-ruby-gem') logger = logging.getLogger('dtrx-log') @@ -110,7 +111,8 @@ class BaseExtractor(object): - decoders = {'bzip2': 'bzcat', 'gzip': 'zcat', 'compress': 'zcat'} + decoders = {'bzip2': 'bzcat', 'gzip': 'zcat', 'compress': 'zcat', + 'lzma': 'lzcat'} name_checker = DirectoryChecker @@ -618,7 +620,7 @@ ('rpm', None, 'rpm'), ('cpio', None, 'cpio'), ('gem', None, 'gem'), - ('compress', None, 'gz', 'bz2'), + ('compress', None, 'Z', 'gz', 'bz2', 'lzma'), ('7z', None, '7z')): for extension in mapping[2:]: extension_map[extension] = mapping[:2] diff -r 3547e3124729 -r a8f875e02c83 tests/test-1.23.tar.lzma Binary file tests/test-1.23.tar.lzma has changed diff -r 3547e3124729 -r a8f875e02c83 tests/tests.yml --- a/tests/tests.yml Thu Nov 22 22:24:04 2007 -0500 +++ b/tests/tests.yml Thu Nov 22 22:37:40 2007 -0500 @@ -41,6 +41,11 @@ baseline: | 7z x $1 +- name: basic .lzma + filenames: test-1.23.tar.lzma + baseline: | + lzcat $1 | tar -x + - name: .deb metadata filenames: test-1.23_all.deb options: --metadata