diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..06fc4ff --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +/hickory-client-0.24.0.crate diff --git a/0001-do-not-run-doctests-which-require-internet-access.patch b/0001-do-not-run-doctests-which-require-internet-access.patch new file mode 100644 index 0000000..8ff2d20 --- /dev/null +++ b/0001-do-not-run-doctests-which-require-internet-access.patch @@ -0,0 +1,34 @@ +From 55af8d29c97545e7fa672d091010010cbd70cb5c Mon Sep 17 00:00:00 2001 +From: Fabio Valentini +Date: Thu, 14 Dec 2023 12:51:52 +0100 +Subject: [PATCH] do not run doctests which require internet access + +--- + src/lib.rs | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/src/lib.rs b/src/lib.rs +index 7355114..76b64d2 100644 +--- a/src/lib.rs ++++ b/src/lib.rs +@@ -98,7 +98,7 @@ + //! + //! Using the Client to query for DNS records is easy enough, though it performs no resolution. The `hickory-resolver` has a simpler interface if that's what is desired. Over time that library will gain more features to generically query for different types. + //! +-//! ```rust ++//! ```rust,no_run + //! use std::net::Ipv4Addr; + //! use std::str::FromStr; + //! # use hickory_client::client::{Client, SyncClient}; +@@ -223,7 +223,7 @@ + //! This example is meant to show basic usage, using the #[tokio::main] macro to setup a simple runtime. + //! The Tokio documentation should be reviewed for more advanced usage. + //! +-//! ```rust ++//! ```rust,no_run + //! use std::net::Ipv4Addr; + //! use std::str::FromStr; + //! use tokio::net::TcpStream as TokioTcpStream; +-- +2.43.0 + diff --git a/README.md b/README.md deleted file mode 100644 index 126f491..0000000 --- a/README.md +++ /dev/null @@ -1,3 +0,0 @@ -# rust-hickory-client - -The rust-hickory-client package diff --git a/hickory-client-fix-metadata.diff b/hickory-client-fix-metadata.diff new file mode 100644 index 0000000..73e3fb6 --- /dev/null +++ b/hickory-client-fix-metadata.diff @@ -0,0 +1,17 @@ +--- hickory-client-0.24.0/Cargo.toml 1970-01-01T00:00:01+00:00 ++++ hickory-client-0.24.0/Cargo.toml 2023-12-14T11:39:03.077225+00:00 +@@ -131,14 +131,6 @@ + "macros", + ] + +-[dev-dependencies.tracing-subscriber] +-version = "0.3" +-features = [ +- "std", +- "fmt", +- "env-filter", +-] +- + [features] + backtrace = ["hickory-proto/backtrace"] + dns-over-https = ["hickory-proto/dns-over-https"] diff --git a/rust-hickory-client.spec b/rust-hickory-client.spec new file mode 100644 index 0000000..23f7905 --- /dev/null +++ b/rust-hickory-client.spec @@ -0,0 +1,296 @@ +# Generated by rust2rpm 25 +%bcond_without check +%global debug_package %{nil} + +%global crate hickory-client + +Name: rust-hickory-client +Version: 0.24.0 +Release: %autorelease +Summary: Hickory DNS is a safe and secure DNS library + +License: MIT OR Apache-2.0 +URL: https://crates.io/crates/hickory-client +Source: %{crates_source} +# Manually created patch for downstream crate metadata changes +# * remove unused tracing-subscriber dev-dependency +Patch: hickory-client-fix-metadata.diff +# * skip running doctests which require internet access +Patch: 0001-do-not-run-doctests-which-require-internet-access.patch + +BuildRequires: cargo-rpm-macros >= 24 + +%global _description %{expand: +Hickory DNS is a safe and secure DNS library. This is the Client library +with DNSSEC support. DNSSEC with NSEC validation for negative records, +is complete. The client supports dynamic DNS with SIG0 authenticated +requests, implementing easy to use high level funtions. Hickory DNS is +based on the Tokio and Futures libraries, which means it should be +easily integrated into other software that also use those libraries.} + +%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}+backtrace-devel +Summary: %{summary} +BuildArch: noarch + +%description -n %{name}+backtrace-devel %{_description} + +This package contains library source intended for building other packages which +use the "backtrace" feature of the "%{crate}" crate. + +%files -n %{name}+backtrace-devel +%ghost %{crate_instdir}/Cargo.toml + +%package -n %{name}+dns-over-https-devel +Summary: %{summary} +BuildArch: noarch + +%description -n %{name}+dns-over-https-devel %{_description} + +This package contains library source intended for building other packages which +use the "dns-over-https" feature of the "%{crate}" crate. + +%files -n %{name}+dns-over-https-devel +%ghost %{crate_instdir}/Cargo.toml + +%package -n %{name}+dns-over-https-openssl-devel +Summary: %{summary} +BuildArch: noarch + +%description -n %{name}+dns-over-https-openssl-devel %{_description} + +This package contains library source intended for building other packages which +use the "dns-over-https-openssl" feature of the "%{crate}" crate. + +%files -n %{name}+dns-over-https-openssl-devel +%ghost %{crate_instdir}/Cargo.toml + +%package -n %{name}+dns-over-https-rustls-devel +Summary: %{summary} +BuildArch: noarch + +%description -n %{name}+dns-over-https-rustls-devel %{_description} + +This package contains library source intended for building other packages which +use the "dns-over-https-rustls" feature of the "%{crate}" crate. + +%files -n %{name}+dns-over-https-rustls-devel +%ghost %{crate_instdir}/Cargo.toml + +%package -n %{name}+dns-over-native-tls-devel +Summary: %{summary} +BuildArch: noarch + +%description -n %{name}+dns-over-native-tls-devel %{_description} + +This package contains library source intended for building other packages which +use the "dns-over-native-tls" feature of the "%{crate}" crate. + +%files -n %{name}+dns-over-native-tls-devel +%ghost %{crate_instdir}/Cargo.toml + +%package -n %{name}+dns-over-openssl-devel +Summary: %{summary} +BuildArch: noarch + +%description -n %{name}+dns-over-openssl-devel %{_description} + +This package contains library source intended for building other packages which +use the "dns-over-openssl" feature of the "%{crate}" crate. + +%files -n %{name}+dns-over-openssl-devel +%ghost %{crate_instdir}/Cargo.toml + +%package -n %{name}+dns-over-quic-devel +Summary: %{summary} +BuildArch: noarch + +%description -n %{name}+dns-over-quic-devel %{_description} + +This package contains library source intended for building other packages which +use the "dns-over-quic" feature of the "%{crate}" crate. + +%files -n %{name}+dns-over-quic-devel +%ghost %{crate_instdir}/Cargo.toml + +%package -n %{name}+dns-over-rustls-devel +Summary: %{summary} +BuildArch: noarch + +%description -n %{name}+dns-over-rustls-devel %{_description} + +This package contains library source intended for building other packages which +use the "dns-over-rustls" feature of the "%{crate}" crate. + +%files -n %{name}+dns-over-rustls-devel +%ghost %{crate_instdir}/Cargo.toml + +%package -n %{name}+dns-over-tls-devel +Summary: %{summary} +BuildArch: noarch + +%description -n %{name}+dns-over-tls-devel %{_description} + +This package contains library source intended for building other packages which +use the "dns-over-tls" feature of the "%{crate}" crate. + +%files -n %{name}+dns-over-tls-devel +%ghost %{crate_instdir}/Cargo.toml + +%package -n %{name}+dnssec-devel +Summary: %{summary} +BuildArch: noarch + +%description -n %{name}+dnssec-devel %{_description} + +This package contains library source intended for building other packages which +use the "dnssec" feature of the "%{crate}" crate. + +%files -n %{name}+dnssec-devel +%ghost %{crate_instdir}/Cargo.toml + +%package -n %{name}+dnssec-openssl-devel +Summary: %{summary} +BuildArch: noarch + +%description -n %{name}+dnssec-openssl-devel %{_description} + +This package contains library source intended for building other packages which +use the "dnssec-openssl" feature of the "%{crate}" crate. + +%files -n %{name}+dnssec-openssl-devel +%ghost %{crate_instdir}/Cargo.toml + +%package -n %{name}+dnssec-ring-devel +Summary: %{summary} +BuildArch: noarch + +%description -n %{name}+dnssec-ring-devel %{_description} + +This package contains library source intended for building other packages which +use the "dnssec-ring" feature of the "%{crate}" crate. + +%files -n %{name}+dnssec-ring-devel +%ghost %{crate_instdir}/Cargo.toml + +%package -n %{name}+mdns-devel +Summary: %{summary} +BuildArch: noarch + +%description -n %{name}+mdns-devel %{_description} + +This package contains library source intended for building other packages which +use the "mdns" feature of the "%{crate}" crate. + +%files -n %{name}+mdns-devel +%ghost %{crate_instdir}/Cargo.toml + +%package -n %{name}+native-certs-devel +Summary: %{summary} +BuildArch: noarch + +%description -n %{name}+native-certs-devel %{_description} + +This package contains library source intended for building other packages which +use the "native-certs" feature of the "%{crate}" crate. + +%files -n %{name}+native-certs-devel +%ghost %{crate_instdir}/Cargo.toml + +%package -n %{name}+rustls-devel +Summary: %{summary} +BuildArch: noarch + +%description -n %{name}+rustls-devel %{_description} + +This package contains library source intended for building other packages which +use the "rustls" feature of the "%{crate}" crate. + +%files -n %{name}+rustls-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 + +%package -n %{name}+serde-config-devel +Summary: %{summary} +BuildArch: noarch + +%description -n %{name}+serde-config-devel %{_description} + +This package contains library source intended for building other packages which +use the "serde-config" feature of the "%{crate}" crate. + +%files -n %{name}+serde-config-devel +%ghost %{crate_instdir}/Cargo.toml + +%package -n %{name}+webpki-roots-devel +Summary: %{summary} +BuildArch: noarch + +%description -n %{name}+webpki-roots-devel %{_description} + +This package contains library source intended for building other packages which +use the "webpki-roots" feature of the "%{crate}" crate. + +%files -n %{name}+webpki-roots-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 +# * skip a test that requires internet connectivity +%cargo_test -- -- --exact --skip client::async_client::tests::async_client +%endif + +%changelog +%autochangelog diff --git a/rust2rpm.toml b/rust2rpm.toml new file mode 100644 index 0000000..6f33376 --- /dev/null +++ b/rust2rpm.toml @@ -0,0 +1,14 @@ +[package] +description = """\ +Hickory DNS is a safe and secure DNS library. This is the Client library +with DNSSEC support. DNSSEC with NSEC validation for negative records, +is complete. The client supports dynamic DNS with SIG0 authenticated +requests, implementing easy to use high level funtions. Hickory DNS is +based on the Tokio and Futures libraries, which means it should be +easily integrated into other software that also use those libraries.""" + +[tests] +skip = ["client::async_client::tests::async_client"] +skip-exact = true +comments = ["skip a test that requires internet connectivity"] + diff --git a/sources b/sources new file mode 100644 index 0000000..25617e3 --- /dev/null +++ b/sources @@ -0,0 +1 @@ +SHA512 (hickory-client-0.24.0.crate) = 610d5677b2b5cfdb6ca69babe57767a908f2420a8fb60e9a145f0b879b03ef7fef2127ff6ea65ba77d6f30b748a9c9bd07b102510249997819b57217a8890734