Fix tar compression options.
This commit is contained in:
parent
3f22dae399
commit
40639cb172
|
@ -14,6 +14,7 @@
|
||||||
# You should have received a copy of the GNU General Public License
|
# You should have received a copy of the GNU General Public License
|
||||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
"""Archive commands for the star program."""
|
"""Archive commands for the star program."""
|
||||||
|
from .tar import add_tar_opts as add_star_opts
|
||||||
|
|
||||||
def extract_tar (archive, compression, cmd, **kwargs):
|
def extract_tar (archive, compression, cmd, **kwargs):
|
||||||
"""Extract a TAR archive."""
|
"""Extract a TAR archive."""
|
||||||
|
@ -38,19 +39,3 @@ def create_tar (archive, compression, cmd, *args, **kwargs):
|
||||||
cmdlist.append("file=%s" % archive)
|
cmdlist.append("file=%s" % archive)
|
||||||
cmdlist.extend(args)
|
cmdlist.extend(args)
|
||||||
return cmdlist
|
return cmdlist
|
||||||
|
|
||||||
def add_star_opts (cmdlist, compression, verbose):
|
|
||||||
"""Add default options for the star program."""
|
|
||||||
# Note that star autodetects compression compression, but displays a warning
|
|
||||||
# which we want to avoid.
|
|
||||||
if compression == 'gzip':
|
|
||||||
cmdlist.append('-z')
|
|
||||||
elif compression == 'compress':
|
|
||||||
cmdlist.append('-Z')
|
|
||||||
elif compression == 'bzip2':
|
|
||||||
cmdlist.append('-bz')
|
|
||||||
elif compression in ('lzma', 'xz', 'lzip'):
|
|
||||||
# use compress-program option
|
|
||||||
cmdlist.append('compress-program=%s' % compression)
|
|
||||||
if verbose:
|
|
||||||
cmdlist.append('-v')
|
|
||||||
|
|
|
@ -40,10 +40,17 @@ def create_tar (archive, compression, cmd, *args, **kwargs):
|
||||||
return cmdlist
|
return cmdlist
|
||||||
|
|
||||||
def add_tar_opts (cmdlist, compression, verbose):
|
def add_tar_opts (cmdlist, compression, verbose):
|
||||||
if compression == 'lzip':
|
if compression == 'gzip':
|
||||||
# use compress-program option
|
cmdlist.append('-z')
|
||||||
cmdlist.extend(['--use-compress-program', compression])
|
elif compression == 'compress':
|
||||||
elif compression:
|
cmdlist.append('-Z')
|
||||||
cmdlist.append('--%s' % compression)
|
elif compression == 'bzip2':
|
||||||
|
cmdlist.append('-j')
|
||||||
|
elif compression in ('lzma', 'xz', 'lzip'):
|
||||||
|
# use the compression name as program name since
|
||||||
|
# tar is picky which programs it can use
|
||||||
|
program = compression
|
||||||
|
# set compression program
|
||||||
|
cmdlist.extend(['--use-compress-program', program])
|
||||||
if verbose:
|
if verbose:
|
||||||
cmdlist.append('--verbose')
|
cmdlist.append('--verbose')
|
||||||
|
|
Loading…
Reference in New Issue