Update to 0.5.0

Signed-off-by: Igor Gnatenko <ignatenkobrain@fedoraproject.org>
epel9
Igor Gnatenko 7 years ago
parent 4aa17948b7
commit 5fc07df03e
No known key found for this signature in database
GPG Key ID: 695714BD1BBC5F4C

1
.gitignore vendored

@ -1 +1,2 @@
/remove_dir_all-0.3.0.crate /remove_dir_all-0.3.0.crate
/remove_dir_all-0.5.0.crate

@ -1,58 +0,0 @@
From a52b3a1206ca8ff387e3931d6b35b7b194d11617 Mon Sep 17 00:00:00 2001
From: Rolf Karp <rkarp@users.noreply.github.com>
Date: Sun, 19 Nov 2017 10:29:29 +0100
Subject: [PATCH] Make API the same on all platforms, simplify Linux
compilation (#3)
* Generalize API for Windows to make it the same for all platforms
* Avoid compiling Windows dependencies on Linux, fix warning
---
src/fs.rs | 5 +++--
src/lib.rs | 2 ++
2 files changed, 5 insertions(+), 2 deletions(-)
diff --git a/src/fs.rs b/src/fs.rs
index b9eeaf1..852191a 100644
--- a/src/fs.rs
+++ b/src/fs.rs
@@ -25,7 +25,7 @@ struct RmdirContext<'a> {
/// remove_dir_all("./temp/").unwrap();
/// }
/// ```
-pub fn remove_dir_all(path: &Path) -> io::Result<()> {
+pub fn remove_dir_all<P: AsRef<Path>>(path: P) -> io::Result<()> {
// On Windows it is not enough to just recursively remove the contents of a
// directory and then the directory itself. Deleting does not happen
// instantaneously, but is scheduled.
@@ -69,6 +69,7 @@ pub fn remove_dir_all(path: &Path) -> io::Result<()> {
// Open the path once to get the canonical path, file type and attributes.
let (path, metadata) = {
+ let path = path.as_ref();
let mut opts = OpenOptions::new();
opts.access_mode(FILE_READ_ATTRIBUTES);
opts.custom_flags(FILE_FLAG_BACKUP_SEMANTICS |
@@ -158,7 +159,7 @@ fn rename(file: &File, new: &Path, replace: bool) -> io::Result<()> {
unsafe {
// Thanks to alignment guarantees on Windows this works
// (8 for 32-bit and 16 for 64-bit)
- let mut info = data.as_mut_ptr() as *mut FILE_RENAME_INFO;
+ let info = data.as_mut_ptr() as *mut FILE_RENAME_INFO;
// The type of ReplaceIfExists is BOOL, but it actually expects a
// BOOLEAN. This means true is -1, not c::TRUE.
(*info).ReplaceIfExists = if replace { -1 } else { FALSE };
diff --git a/src/lib.rs b/src/lib.rs
index 606fb39..67b0548 100644
--- a/src/lib.rs
+++ b/src/lib.rs
@@ -1,4 +1,6 @@
+#[cfg(windows)]
extern crate winapi;
+#[cfg(windows)]
extern crate kernel32 as kernel;
#[cfg(windows)]
--
2.16.1

@ -1,11 +0,0 @@
--- remove_dir_all-0.3.0/Cargo.toml 1970-01-01T01:00:00+01:00
+++ remove_dir_all-0.3.0/Cargo.toml 2018-01-31T14:47:15.521765+01:00
@@ -21,8 +21,3 @@
categories = ["filesystem"]
license = "MIT/Apache-2.0"
repository = "https://github.com/Aaronepower/remove_dir_all.git"
-[dependencies.winapi]
-version = "0.2"
-
-[dependencies.kernel32-sys]
-version = "0.2"

@ -0,0 +1,9 @@
--- remove_dir_all-0.5.0/Cargo.toml 1970-01-01T01:00:00+01:00
+++ remove_dir_all-0.5.0/Cargo.toml 2018-03-12T10:06:33.544859+01:00
@@ -21,6 +21,3 @@
categories = ["filesystem"]
license = "MIT/Apache-2.0"
repository = "https://github.com/Aaronepower/remove_dir_all.git"
-[target."cfg(windows)".dependencies.winapi]
-version = "0.3"
-features = ["std", "errhandlingapi", "winerror", "fileapi", "winbase"]

@ -5,8 +5,8 @@
%global crate remove_dir_all %global crate remove_dir_all
Name: rust-%{crate} Name: rust-%{crate}
Version: 0.3.0 Version: 0.5.0
Release: 2%{?dist} Release: 1%{?dist}
Summary: Safe, reliable implementation of remove_dir_all Summary: Safe, reliable implementation of remove_dir_all
License: MIT or ASL 2.0 License: MIT or ASL 2.0
@ -14,9 +14,7 @@ URL: https://crates.io/crates/remove_dir_all
Source0: https://crates.io/api/v1/crates/%{crate}/%{version}/download#/%{crate}-%{version}.crate Source0: https://crates.io/api/v1/crates/%{crate}/%{version}/download#/%{crate}-%{version}.crate
# Initial patched metadata # Initial patched metadata
# * No windows # * No windows
Patch0: remove_dir_all-0.3.0-fix-metadata.diff Patch0: remove_dir_all-0.5.0-fix-metadata.diff
# https://github.com/Aaronepower/remove_dir_all/commit/a52b3a1206ca8ff387e3931d6b35b7b194d11617
Patch0001: 0001-Make-API-the-same-on-all-platforms-simplify-Linux-co.patch
ExclusiveArch: %{rust_arches} ExclusiveArch: %{rust_arches}
@ -55,6 +53,9 @@ which use %{crate} from crates.io.
%{cargo_registry}/%{crate}-%{version}/ %{cargo_registry}/%{crate}-%{version}/
%changelog %changelog
* Mon Mar 12 2018 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 0.5.0-1
- Update to 0.5.0
* Fri Feb 09 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.3.0-2 * Fri Feb 09 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.3.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild - Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild

@ -1 +1 @@
SHA512 (remove_dir_all-0.3.0.crate) = e486ccf7016cb8298409f5a4cf71d0b15e3c660ba20df49a7bcb597ff01d93906131c74a9e71aca93b586ab04c054f750867bc1a26115451bdd16d0cc1af3c65 SHA512 (remove_dir_all-0.5.0.crate) = 876681ae98ac9a9cf0447397446ca7afb4e254cf0cfdd7a9b8702eb94cfda5230ac4daeaa067a3f07ae303b920d1a97fa4a0da76b80b4545eab1080bee8c1574

Loading…
Cancel
Save