//go:build linux || freebsd // +build linux freebsd package archive import ( "compress/bzip2" "io" ) type tarBz2Extractor struct { *BaseExtractor tar *tarExtractor } func NewTarBz2Extractor() *tarBz2Extractor { return &tarBz2Extractor{NewBaseExtractor("tar.bz2", []string{".tar.bz2", ".tbz2"}), NewTarExtractor()} } func (t *tarBz2Extractor) Extract(r io.Reader, destDir string) error { bz2r := bzip2.NewReader(r) return t.tar.Extract(bz2r, destDir) } func init() { Register(NewTarBz2Extractor()) }