alexcrichton / tar-rs

Tar file reading/writing for Rust
https://docs.rs/tar
Apache License 2.0
616 stars 178 forks source link

Archive Unpack results in corrupt file #322

Open DrProfSgtMrJ opened 1 year ago

DrProfSgtMrJ commented 1 year ago

I apologize if this isn't clear enough.

Currently, I'm attempting to download a tar.gz file from github, decode it (using GzDecoder) and unpack it.

This can be shown here:

    let path = "we-0.1.1-x86_64-apple-darwin.tar.gz";`
    let f = File::open(path).expect("Can't open file");
    let decode = GzDecoder::new(f);
    let mut archive = Archive::new(decode);
    archive.unpack("unarchive").expect("Can't unpack");

Note that the file is uploaded to github via a workflow and is archived using Tar (via the workflow). This is on a MAC 13.1 (with M1 Chip). Using the tar command through the terminal will properly unpack it. However, using the above code results in a GNUSparseFile0.0 folder being created with the corrupted executable inside.

Let me know what other information is pertinent.

Similar issue: #295