diff options
author | Matthias Schiffer <mschiffer@universe-factory.net> | 2021-10-12 00:02:38 +0200 |
---|---|---|
committer | Matthias Schiffer <mschiffer@universe-factory.net> | 2021-10-12 00:02:38 +0200 |
commit | 84d048e3e3debbdf7392fbf012ffc1c109f4b426 (patch) | |
tree | b47bf9046ddeed7ee883faeffc1952db526a28d8 | |
parent | 818bea32074136d787fe4edaa5472543604bb727 (diff) | |
download | rebel-84d048e3e3debbdf7392fbf012ffc1c109f4b426.tar rebel-84d048e3e3debbdf7392fbf012ffc1c109f4b426.zip |
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.
-rw-r--r-- | Cargo.lock | 32 | ||||
-rw-r--r-- | Cargo.toml | 1 | ||||
-rw-r--r-- | src/util/fs.rs | 7 |
3 files changed, 5 insertions, 35 deletions
@@ -711,15 +711,6 @@ dependencies = [ ] [[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" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -831,7 +822,6 @@ dependencies = [ "nix", "oci-spec", "olpc-cjson", - "rm_rf", "scoped-tls-hkt", "serde", "serde_json", @@ -860,15 +850,6 @@ dependencies = [ ] [[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" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -951,19 +932,6 @@ 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" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -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<P: AsRef<Path>>(path: P) -> Result<()> { } pub fn ensure_removed<P: AsRef<Path>>(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())) } |