From 4e807bd0e0c308619a27ba2b5e273a701035b410 Mon Sep 17 00:00:00 2001 From: MSVSphere Packaging Team Date: Fri, 20 Dec 2024 15:07:30 +0300 Subject: [PATCH] import rust-clircle-0.4.0-5.el10 --- .gitignore | 1 + .rust-clircle.metadata | 1 + SOURCES/clircle-fix-metadata-auto.diff | 17 +++ SOURCES/clircle-fix-metadata.diff | 11 ++ ...lircle-handle_ownedfd_for_nix_ge_0_27.diff | 66 +++++++++ SPECS/rust-clircle.spec | 134 ++++++++++++++++++ 6 files changed, 230 insertions(+) create mode 100644 .gitignore create mode 100644 .rust-clircle.metadata create mode 100644 SOURCES/clircle-fix-metadata-auto.diff create mode 100644 SOURCES/clircle-fix-metadata.diff create mode 100644 SOURCES/clircle-handle_ownedfd_for_nix_ge_0_27.diff create mode 100644 SPECS/rust-clircle.spec diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..57c6463 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +SOURCES/clircle-0.4.0.crate diff --git a/.rust-clircle.metadata b/.rust-clircle.metadata new file mode 100644 index 0000000..064c7c0 --- /dev/null +++ b/.rust-clircle.metadata @@ -0,0 +1 @@ +9d6de87e6ac24cf2ddd161aec807ef0ba5857f56 SOURCES/clircle-0.4.0.crate diff --git a/SOURCES/clircle-fix-metadata-auto.diff b/SOURCES/clircle-fix-metadata-auto.diff new file mode 100644 index 0000000..cc207cb --- /dev/null +++ b/SOURCES/clircle-fix-metadata-auto.diff @@ -0,0 +1,17 @@ +--- clircle-0.4.0/Cargo.toml 1970-01-01T00:00:01+00:00 ++++ clircle-0.4.0/Cargo.toml 2024-10-23T20:12:14.073424+00:00 +@@ -55,14 +55,3 @@ + features = ["term"] + default-features = false + +-[target."cfg(windows)".dependencies.winapi] +-version = "0.3.9" +-features = [ +- "winnt", +- "winbase", +- "processenv", +- "handleapi", +- "ntdef", +- "fileapi", +- "std", +-] diff --git a/SOURCES/clircle-fix-metadata.diff b/SOURCES/clircle-fix-metadata.diff new file mode 100644 index 0000000..21ad784 --- /dev/null +++ b/SOURCES/clircle-fix-metadata.diff @@ -0,0 +1,11 @@ +--- clircle-0.4.0/Cargo.toml 1970-01-01T00:00:01+00:00 ++++ clircle-0.4.0/Cargo.toml 2024-10-23T20:12:19.939974+00:00 +@@ -51,7 +51,7 @@ + version = "0.2" + + [target."cfg(not(windows))".dev-dependencies.nix] +-version = "0.24.1" ++version = "0.29" + features = ["term"] + default-features = false + diff --git a/SOURCES/clircle-handle_ownedfd_for_nix_ge_0_27.diff b/SOURCES/clircle-handle_ownedfd_for_nix_ge_0_27.diff new file mode 100644 index 0000000..cc882f4 --- /dev/null +++ b/SOURCES/clircle-handle_ownedfd_for_nix_ge_0_27.diff @@ -0,0 +1,66 @@ +diff --git a/src/clircle_unix.rs b/src/clircle_unix.rs +index 101f208..56448b9 100644 +--- a/src/clircle_unix.rs ++++ b/src/clircle_unix.rs +@@ -4,7 +4,7 @@ use std::convert::TryFrom; + use std::fs::File; + use std::io::{self, Seek}; + use std::os::unix::fs::MetadataExt; +-use std::os::unix::io::{FromRawFd, IntoRawFd, RawFd}; ++use std::os::unix::io::{FromRawFd, IntoRawFd, OwnedFd, RawFd}; + use std::{cmp, hash, ops}; + + /// Re-export of libc +@@ -53,6 +53,13 @@ impl UnixIdentifier { + ident + }) + } ++ ++ fn try_from_owned_fd(fd: OwnedFd) -> io::Result { ++ Self::try_from(File::from(fd)).map(|mut ident| { ++ ident.owns_fd = true; ++ ident ++ }) ++ } + } + + impl Clircle for UnixIdentifier { +@@ -135,6 +142,7 @@ mod tests { + + use std::error::Error; + use std::io::Write; ++ use std::os::unix::io::AsRawFd; + + use nix::pty::{openpty, OpenptyResult}; + use nix::unistd::close; +@@ -186,7 +194,7 @@ mod tests { + #[test] + fn test_pty_equal_but_not_conflicting() -> Result<(), &'static str> { + let OpenptyResult { master, slave } = openpty(None, None).expect("Could not open pty."); +- let res = unsafe { UnixIdentifier::try_from_raw_fd(slave, false) } ++ let res = unsafe { UnixIdentifier::try_from_raw_fd(slave.as_raw_fd(), false) } + .map_err(|_| "Error creating UnixIdentifier from pty fd") + .and_then(|ident| { + if !ident.eq(&ident) { +@@ -196,7 +204,7 @@ mod tests { + return Err("pty fd does not conflict with itself, but conflict detected"); + } + +- let second_ident = unsafe { UnixIdentifier::try_from_raw_fd(slave, false) } ++ let second_ident = UnixIdentifier::try_from_owned_fd(slave) + .map_err(|_| "Error creating second Identifier to pty")?; + if !ident.eq(&second_ident) { + return Err("ident != second_ident"); +@@ -209,12 +217,6 @@ mod tests { + Ok(()) + }); + +- let r1 = close(master); +- let r2 = close(slave); +- +- r1.expect("Error closing master end of pty"); +- r2.expect("Error closing slave end of pty"); +- + res + } + } diff --git a/SPECS/rust-clircle.spec b/SPECS/rust-clircle.spec new file mode 100644 index 0000000..8a1c4c9 --- /dev/null +++ b/SPECS/rust-clircle.spec @@ -0,0 +1,134 @@ +## START: Set by rpmautospec +## (rpmautospec version 0.7.3) +## RPMAUTOSPEC: autorelease, autochangelog +%define autorelease(e:s:pb:n) %{?-p:0.}%{lua: + release_number = 5; + base_release_number = tonumber(rpm.expand("%{?-b*}%{!?-b:1}")); + print(release_number + base_release_number - 1); +}%{?-e:.%{-e*}}%{?-s:.%{-s*}}%{!?-n:%{?dist}} +## END: Set by rpmautospec + +# Generated by rust2rpm 26 +%bcond_without check +%global debug_package %{nil} + +%global crate clircle + +Name: rust-clircle +Version: 0.4.0 +Release: %autorelease +Summary: Detect IO circles in your CLI apps arguments + +License: MIT OR Apache-2.0 +URL: https://crates.io/crates/clircle +Source: %{crates_source} +# Automatically generated patch to strip dependencies and normalize metadata +Patch: clircle-fix-metadata-auto.diff +# Manually created patch for downstream crate metadata changes +# * bump nix from 0.24.1 to 0.29 +Patch: clircle-fix-metadata.diff +# Handle nix now returning OwnedFd since 0.27 +Patch: clircle-handle_ownedfd_for_nix_ge_0_27.diff + +BuildRequires: cargo-rpm-macros >= 24 + +%global _description %{expand: +Detect IO circles in your CLI apps arguments.} + +%description %{_description} + +%package devel +Summary: %{summary} +BuildArch: noarch + +%description devel %{_description} + +This package contains library source intended for building other packages which +use the "%{crate}" crate. + +%files devel +%license %{crate_instdir}/LICENSE-APACHE +%license %{crate_instdir}/LICENSE-MIT +%doc %{crate_instdir}/README.md +%{crate_instdir}/ + +%package -n %{name}+default-devel +Summary: %{summary} +BuildArch: noarch + +%description -n %{name}+default-devel %{_description} + +This package contains library source intended for building other packages which +use the "default" feature of the "%{crate}" crate. + +%files -n %{name}+default-devel +%ghost %{crate_instdir}/Cargo.toml + +%package -n %{name}+serde-devel +Summary: %{summary} +BuildArch: noarch + +%description -n %{name}+serde-devel %{_description} + +This package contains library source intended for building other packages which +use the "serde" feature of the "%{crate}" crate. + +%files -n %{name}+serde-devel +%ghost %{crate_instdir}/Cargo.toml + +%prep +%autosetup -n %{crate}-%{version} -p1 +%cargo_prep + +%generate_buildrequires +%cargo_generate_buildrequires + +%build +%cargo_build + +%install +%cargo_install + +%if %{with check} +%check +%cargo_test +%endif + +%changelog +* Fri Dec 20 2024 MSVSphere Packaging Team - 0.4.0-5 +- Rebuilt for MSVSphere 10 + +## START: Generated by rpmautospec +* Wed Oct 23 2024 Fabio Valentini - 0.4.0-5 +- Fix port of test code to nix 0.29 to avoid flaky failures + +* Wed Oct 23 2024 Michel Lind - 0.4.0-4 +- Bump nix from 0.24.1 to 0.29 + +* Fri Jul 19 2024 Fedora Release Engineering - 0.4.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild + +* Fri Jan 26 2024 Fedora Release Engineering - 0.4.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Sun Oct 29 2023 Michel Lind - 0.4.0-1 +- Update to 0.4.0 + +* Fri Jul 21 2023 Fedora Release Engineering - 0.3.0-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Tue Jun 13 2023 Fabio Valentini - 0.3.0-5 +- Regenerate with rust2rpm v24 + +* Fri Jan 20 2023 Fedora Release Engineering - 0.3.0-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Sat Jul 23 2022 Fedora Release Engineering - 0.3.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Fri Jan 21 2022 Fedora Release Engineering - 0.3.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Sun Nov 14 2021 Robert-André Mauchin - 0.3.0-1 +- Initial import +## END: Generated by rpmautospec