From a02b6e5bfc56fb59d36ac865cd4b3ee4c3b5b54a Mon Sep 17 00:00:00 2001 From: Alex Crichton Date: Thu, 27 May 2021 12:48:31 -0700 Subject: [PATCH] Update tar dependency to 0.4.34 Pulls in a fix which should avoid 0 mtime files from showing up. Closes #9512 --- Cargo.toml | 2 +- src/cargo/ops/cargo_package.rs | 2 ++ tests/testsuite/package.rs | 3 ++- 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index 024ef416e07..38d0181dfcc 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -56,7 +56,7 @@ serde_ignored = "0.1.0" serde_json = { version = "1.0.30", features = ["raw_value"] } shell-escape = "0.1.4" strip-ansi-escapes = "0.1.0" -tar = { version = "0.4.26", default-features = false } +tar = { version = "0.4.35", default-features = false } tempfile = "3.0" termcolor = "1.1" toml = "0.5.7" diff --git a/src/cargo/ops/cargo_package.rs b/src/cargo/ops/cargo_package.rs index 2f04c354a8d..15add33a9f6 100644 --- a/src/cargo/ops/cargo_package.rs +++ b/src/cargo/ops/cargo_package.rs @@ -537,6 +537,8 @@ fn tar( header.set_entry_type(EntryType::file()); header.set_mode(0o644); header.set_size(contents.len() as u64); + // use something nonzero to avoid rust-lang/cargo#9512 + header.set_mtime(1); header.set_cksum(); ar.append_data(&mut header, &ar_path, contents.as_bytes()) .with_context(|| format!("could not archive source file `{}`", rel_str))?; diff --git a/tests/testsuite/package.rs b/tests/testsuite/package.rs index 4ea98d021ae..5d567c1385e 100644 --- a/tests/testsuite/package.rs +++ b/tests/testsuite/package.rs @@ -2000,9 +2000,10 @@ fn reproducible_output() { let mut archive = Archive::new(decoder); for ent in archive.entries().unwrap() { let ent = ent.unwrap(); + println!("checking {:?}", ent.path()); let header = ent.header(); assert_eq!(header.mode().unwrap(), 0o644); - assert_eq!(header.mtime().unwrap(), 0); + assert!(header.mtime().unwrap() != 0); assert_eq!(header.username().unwrap().unwrap(), ""); assert_eq!(header.groupname().unwrap().unwrap(), ""); }