fix #5267: storage: add bzip2 support
A popular ISO compressed exclusively with bz2 is OPNsense [2]. Since this requires adding `bz2` to the list of known compression formats we add decompression methods for vmz and tar. [2] https://opnsense.org/download/ Suggested-by: Stoiko Ivanov <s.ivanov@proxmox.com> Signed-off-by: Maximiliano Sandoval <m.sandoval@proxmox.com> Tested-By: Aaron Lauterer <a.lauterer@proxmox.com>
This commit is contained in:
committed by
Fabian Grünbichler
parent
5808b0bf3b
commit
2627da22cb
@ -110,7 +110,7 @@ PVE::Storage::Plugin->init();
|
||||
|
||||
our $ISO_EXT_RE_0 = qr/\.(?:iso|img)/i;
|
||||
|
||||
our $VZTMPL_EXT_RE_1 = qr/\.tar\.(gz|xz|zst)/i;
|
||||
our $VZTMPL_EXT_RE_1 = qr/\.tar\.(gz|xz|zst|bz2)/i;
|
||||
|
||||
our $BACKUP_EXT_RE_2 = qr/\.(tgz|(?:tar|vma)(?:\.(${\PVE::Storage::Plugin::COMPRESSOR_RE}))?)/;
|
||||
|
||||
@ -1550,16 +1550,19 @@ sub decompressor_info {
|
||||
gz => ['tar', '-z'],
|
||||
lzo => ['tar', '--lzop'],
|
||||
zst => ['tar', '--zstd'],
|
||||
bz2 => ['tar', '--bzip2'],
|
||||
},
|
||||
vma => {
|
||||
gz => ['zcat'],
|
||||
lzo => ['lzop', '-d', '-c'],
|
||||
zst => ['zstd', '-q', '-d', '-c'],
|
||||
bz2 => ['bzcat', '-q'],
|
||||
},
|
||||
iso => {
|
||||
gz => ['zcat'],
|
||||
lzo => ['lzop', '-d', '-c'],
|
||||
zst => ['zstd', '-q', '-d', '-c'],
|
||||
bz2 => ['bzcat', '-q'],
|
||||
},
|
||||
};
|
||||
|
||||
|
||||
@ -19,7 +19,7 @@ use JSON;
|
||||
|
||||
use base qw(PVE::SectionConfig);
|
||||
|
||||
use constant KNOWN_COMPRESSION_FORMATS => ('gz', 'lzo', 'zst');
|
||||
use constant KNOWN_COMPRESSION_FORMATS => ('gz', 'lzo', 'zst', 'bz2');
|
||||
use constant COMPRESSOR_RE => join('|', KNOWN_COMPRESSION_FORMATS);
|
||||
|
||||
use constant LOG_EXT => ".log";
|
||||
|
||||
Reference in New Issue
Block a user