Crate compress_tools

source ·
Expand description

The compress-tools crate aims to provide a convenient and easy to use set of methods which builds on top of libarchive exposing a small set of it’s functionalities.

PlatformBuild Status
Linux - x86_64build status
macOS - x86_64build status
Windows - x86_64build status

Dependencies

You must have libarchive, 3.2.0 or newer, properly installed on your system in order to use this. If building on *nix and Windows GNU systems, pkg-config is used to locate the libarchive; on Windows MSVC, vcpkg will be used to locating the libarchive.

The minimum supported Rust version is 1.59.

Features

This crate is capable of extracting:

  • compressed files
  • archive files
  • single file from an archive

For example, to extract an archive file it is as simple as:

use compress_tools::*;
use std::fs::File;
use std::path::Path;

let mut source = File::open("tree.tar.gz")?;
let dest = Path::new("/tmp/dest");

uncompress_archive(&mut source, &dest, Ownership::Preserve)?;

Modules

Structs

Enums

  • The contents of an archive, yielded in order from the beginning to the end of the archive.
  • Determine the ownership behavior when unpacking the archive.

Functions

  • Get all files in a archive using source as a reader.
  • Get all files in a archive using source as a reader.
  • Uncompress an archive using source as a reader and dest as the destination directory.
  • Uncompress a specific file from an archive. The source is used as a reader, the target as a writer and the path is the relative path for the file to be extracted from the archive.
  • Uncompress a specific file from an archive. The source is used as a reader, the target as a writer and the path is the relative path for the file to be extracted from the archive.
  • Uncompress an archive using source as a reader and dest as the destination directory.
  • Uncompress a file using the source need as reader and the target as a writer.

Type Definitions