def make_tarball!(tar_path, builddir)
input_tarball = @paths.first
if input_tarball =~ /\.tar\.bz2$/
compression = :bipz2
elsif input_tarball =~ /\.tar\.gz$/
compression = :gzip
elsif input_tarball =~ /\.tar\.xz$/
compression = :lzma
else
compression = :none
end
installdir = "#{builddir}/tarbuild/#{self[:prefix]}"
FileUtils.mkdir_p(installdir)
flags = "-xf #{input_tarball} -C #{installdir}"
case compression
when :bzip2; flags += " -j"
when :gzip; flags += " -z"
when :lzma; flags += " --lzma"
end
safesystem("tar #{flags}")
if self[:prefix]
@paths = [self[:prefix]]
else
@paths = ["."]
end
::Dir.chdir("#{builddir}/tarbuild") do
tar(tar_path, ".")
end
safesystem(*["gzip", "-f", tar_path])
end