From 84d048e3e3debbdf7392fbf012ffc1c109f4b426 Mon Sep 17 00:00:00 2001 From: Matthias Schiffer Date: Tue, 12 Oct 2021 00:02:38 +0200 Subject: util: fs: get rid of rm_rf dependency All "interesting" deletions happen in a user namespace where we have CAP_DAC_OVERRIDE, so remove_dir_all() should be sufficient. --- Cargo.lock | 32 -------------------------------- Cargo.toml | 1 - src/util/fs.rs | 7 +++++-- 3 files changed, 5 insertions(+), 35 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index f6bb6ee..0cb7566 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -710,15 +710,6 @@ dependencies = [ "unicode-xid", ] -[[package]] -name = "psm" -version = "0.1.16" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd136ff4382c4753fc061cb9e4712ab2af263376b95bbd5bd8cd50c020b78e69" -dependencies = [ - "cc", -] - [[package]] name = "quick-error" version = "2.0.1" @@ -831,7 +822,6 @@ dependencies = [ "nix", "oci-spec", "olpc-cjson", - "rm_rf", "scoped-tls-hkt", "serde", "serde_json", @@ -859,15 +849,6 @@ dependencies = [ "winapi 0.3.9", ] -[[package]] -name = "rm_rf" -version = "0.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b76a2cc4e96dea40afd3a45baf51a2e36a1f8bf61405cf88a2b15367f68c658" -dependencies = [ - "stacker", -] - [[package]] name = "ryu" version = "1.0.5" @@ -950,19 +931,6 @@ version = "0.4.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c307a32c1c5c437f38c7fd45d753050587732ba8628319fbdf12a7e289ccc590" -[[package]] -name = "stacker" -version = "0.1.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90939d5171a4420b3ff5fbc8954d641e7377335454c259dcb80786f3f21dc9b4" -dependencies = [ - "cc", - "cfg-if 1.0.0", - "libc", - "psm", - "winapi 0.3.9", -] - [[package]] name = "strsim" version = "0.10.0" diff --git a/Cargo.toml b/Cargo.toml index 100cfc0..f89ed59 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -20,7 +20,6 @@ libc = "0.2.84" nix = "0.23.0" oci-spec = "0.5.1" olpc-cjson = "0.1.0" -rm_rf = "0.6.1" scoped-tls-hkt = "0.1.2" serde = { version = "1", features = ["derive"] } serde_json = "1.0.62" diff --git a/src/util/fs.rs b/src/util/fs.rs index 266cb9c..8b9fe37 100644 --- a/src/util/fs.rs +++ b/src/util/fs.rs @@ -43,8 +43,11 @@ pub fn mkdir>(path: P) -> Result<()> { } pub fn ensure_removed>(path: P) -> Result<()> { - rm_rf::ensure_removed(path.as_ref()) - .map_err(Error::new) + fs::remove_dir_all(path.as_ref()) + .or_else(|err| match err.kind() { + io::ErrorKind::NotFound => Ok(()), + _ => Err(err), + }) .with_context(|| format!("Failed to delete directory {:?}", path.as_ref())) } -- cgit v1.2.3