Red Hat Bugzilla – Bug 819187
tar depends on xz-lzma-compat
Last modified: 2013-03-19 11:01:47 EDT
Description of problem:
tar's ability to handle lzma-compressed archives depends on the xz-lzma-compat package which is not installed by default.
Version-Release number of selected component (if applicable):
Steps to Reproduce:
1.compress tar ball with lzma
2.run 'tar atf compressed-tar-ball.tar.lzma'
$ tar atf compressed-tar-ball.tar.lzma
tar (child): lzma: Cannot exec: No such file or directory
tar (child): Error is not recoverable: exiting now
tar: Child returned status 2
No error, tarball handled.
1. Add xz-lzma-compat as a runtime dependency to tar
2. Change tar to use lzcat instead of lzma. The former comes with the xz package.
Little typo: for solution two, use xzcat, not lzcat.
Thanks for suggestions. I don't like hard runtime dependency idea - as it would mean adding runtime dependency for all the other external compression programs supported by tar.
Second option, changing LZMA_PROGRAM to something from xz package probably makes sense - probably to xz --format=lzma , which will cover that.
I looked at this a little. This could be easily done if there was possibility
to pass to tar compress command consisting of multiple arguments. And so far
there is only possibility to pass single worded command. Relevant upstream
There is possible to ship with GNU tar some wrapper around 'xz --format=lzma'
residing in PATH (which is ugly) or hack tar to support multi worded commands.
Upstream added support for this by the commit:
I have added this quite big patch into fedora Rawhide. This is not a so big
issue for fedora <= fc20 thus closing as RAWHIDE.