public inbox for git-commits@fedoraproject.org
help / color / mirror / Atom feed
* [rpms/rust-ureq] f43: Update to version 3.3.0; Fixes RHBZ#2329382
@ 2026-07-01 10:49 Benjamin A. Beasley
  0 siblings, 0 replies; only message in thread
From: Benjamin A. Beasley @ 2026-07-01 10:49 UTC (permalink / raw)
  To: git-commits

A new commit has been pushed.

Repo   : rpms/rust-ureq
Branch : f43
Commit : 808e1449cacf35bfbc7bfdd7b08776c31b96bea3
Author : Benjamin A. Beasley <code@musicinmybrain.net>
Date   : 2026-06-28T10:34:49+01:00
Stats  : +316/-84 in 7 file(s)
URL    : https://src.fedoraproject.org/rpms/rust-ureq/c/808e1449cacf35bfbc7bfdd7b08776c31b96bea3?branch=f43

Log:
Update to version 3.3.0; Fixes RHBZ#2329382

---
diff --git a/.gitignore b/.gitignore
index 0cba4d1..0a520c0 100644
--- a/.gitignore
+++ b/.gitignore
@@ -3,3 +3,4 @@
 /ureq-2.10.0.crate
 /ureq-2.10.1.crate
 /ureq-2.12.1.crate
+/ureq-3.3.0.crate

diff --git a/0001-Downstream-only-omit-tests-that-require-network-acce.patch b/0001-Downstream-only-omit-tests-that-require-network-acce.patch
new file mode 100644
index 0000000..33a9751
--- /dev/null
+++ b/0001-Downstream-only-omit-tests-that-require-network-acce.patch
@@ -0,0 +1,43 @@
+From 2d26abee2815fde560ca6dfa3c6f021200958fad Mon Sep 17 00:00:00 2001
+From: "Benjamin A. Beasley" <code@musicinmybrain.net>
+Date: Sun, 28 Jun 2026 10:16:41 +0100
+Subject: [PATCH] Downstream-only: omit tests that require network access
+
+---
+ src/lib.rs | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/src/lib.rs b/src/lib.rs
+index c616c6f..f1fc34c 100644
+--- a/src/lib.rs
++++ b/src/lib.rs
+@@ -36,7 +36,7 @@
+ //!
+ //! In its simplest form, ureq looks like this:
+ //!
+-//! ```rust
++//! ```rust,ignore
+ //! let body: String = ureq::get("http://example.com")
+ //!     .header("Example-Header", "header value")
+ //!     .call()?
+@@ -183,7 +183,7 @@
+ //! ureq does not guarantee to default to ring indefinitely. `rustls` as a feature flag will always
+ //! work, but the specific crypto backend might change in a minor version.
+ //!
+-//! ```
++//! ```ignore
+ //! # #[cfg(feature = "rustls")]
+ //! # {
+ //! // This uses rustls
+@@ -351,7 +351,7 @@
+ //! sending the body, ureq will respect that header by not overriding it,
+ //! and by encoding the body or not, as indicated by the headers you set.
+ //!
+-//! ```
++//! ```ignore
+ //! let resp = ureq::put("https://httpbin.org/put")
+ //!     .header("Transfer-Encoding", "chunked")
+ //!     .send("Hello world")?;
+-- 
+2.54.0
+

diff --git a/rust-ureq.spec b/rust-ureq.spec
index bdef838..3f2fc93 100644
--- a/rust-ureq.spec
+++ b/rust-ureq.spec
@@ -5,19 +5,26 @@
 %global crate ureq
 
 Name:           rust-ureq
-Version:        2.12.1
+Version:        3.3.0
 Release:        %autorelease
 Summary:        Simple, safe HTTP client
 
 License:        MIT OR Apache-2.0
 URL:            https://crates.io/crates/ureq
 Source:         %{crates_source}
+# Automatically generated patch to strip dependencies and normalize metadata
+Patch:          ureq-fix-metadata-auto.diff
 # Manually created patch for downstream crate metadata changes
-# * bump cookie_store dependency from 0.21 to 0.22:
-#   https://github.com/algesten/ureq/commit/a24929b
-# * bump brotli-decompressor dependency from v4 to v5:
-#   https://github.com/algesten/ureq/commit/a24929bbf887979f3eaf39acda3ea127a08898f2
+# * Drop the rustls/aws-lc-rs feature dependency; we don’t have rust-aws-lc-rs.
+#   Upstream says that this is enabled “for tests so we can demonstrate using
+#   ureq without compiling ring.”
+# * Drop the auto_args dev-dependency since we don’t have rust-auto_args; drop
+#   the cureq example that would have required it.
+# * Support testing in release mode: https://github.com/algesten/ureq/pull/1180
 Patch:          ureq-fix-metadata.diff
+# * Downstream-only: omit tests that require network access (and are not
+#   practical to skip by name, e.g. anonymous doctests).
+Patch10:        0001-Downstream-only-omit-tests-that-require-network-acce.patch
 
 BuildRequires:  cargo-rpm-macros >= 24
 
@@ -38,11 +45,9 @@ use the "%{crate}" crate.
 %files          devel
 %license %{crate_instdir}/LICENSE-APACHE
 %license %{crate_instdir}/LICENSE-MIT
-%license %{crate_instdir}/src/chunked/LICENSE-APACHE
-%license %{crate_instdir}/src/chunked/LICENSE-MIT
 %doc %{crate_instdir}/CHANGELOG.md
 %doc %{crate_instdir}/CONTRIBUTING.md
-%doc %{crate_instdir}/FUTURE.md
+%doc %{crate_instdir}/MIGRATE-2-to-3.md
 %doc %{crate_instdir}/README.md
 %doc %{crate_instdir}/RELEASE.txt
 %{crate_instdir}/
@@ -59,6 +64,54 @@ use the "default" feature of the "%{crate}" crate.
 %files       -n %{name}+default-devel
 %ghost %{crate_instdir}/Cargo.toml
 
+%package     -n %{name}+_ring-devel
+Summary:        %{summary}
+BuildArch:      noarch
+
+%description -n %{name}+_ring-devel %{_description}
+
+This package contains library source intended for building other packages which
+use the "_ring" feature of the "%{crate}" crate.
+
+%files       -n %{name}+_ring-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}+_tls-devel
+Summary:        %{summary}
+BuildArch:      noarch
+
+%description -n %{name}+_tls-devel %{_description}
+
+This package contains library source intended for building other packages which
+use the "_tls" feature of the "%{crate}" crate.
+
+%files       -n %{name}+_tls-devel
+%ghost %{crate_instdir}/Cargo.toml
+
+%package     -n %{name}+_url-devel
+Summary:        %{summary}
+BuildArch:      noarch
+
+%description -n %{name}+_url-devel %{_description}
+
+This package contains library source intended for building other packages which
+use the "_url" feature of the "%{crate}" crate.
+
+%files       -n %{name}+_url-devel
+%ghost %{crate_instdir}/Cargo.toml
+
 %package     -n %{name}+brotli-devel
 Summary:        %{summary}
 BuildArch:      noarch
@@ -107,76 +160,112 @@ use the "gzip" feature of the "%{crate}" crate.
 %files       -n %{name}+gzip-devel
 %ghost %{crate_instdir}/Cargo.toml
 
-%package     -n %{name}+http-crate-devel
+%package     -n %{name}+json-devel
+Summary:        %{summary}
+BuildArch:      noarch
+
+%description -n %{name}+json-devel %{_description}
+
+This package contains library source intended for building other packages which
+use the "json" feature of the "%{crate}" crate.
+
+%files       -n %{name}+json-devel
+%ghost %{crate_instdir}/Cargo.toml
+
+%package     -n %{name}+multipart-devel
 Summary:        %{summary}
 BuildArch:      noarch
 
-%description -n %{name}+http-crate-devel %{_description}
+%description -n %{name}+multipart-devel %{_description}
 
 This package contains library source intended for building other packages which
-use the "http-crate" feature of the "%{crate}" crate.
+use the "multipart" feature of the "%{crate}" crate.
 
-%files       -n %{name}+http-crate-devel
+%files       -n %{name}+multipart-devel
 %ghost %{crate_instdir}/Cargo.toml
 
-%package     -n %{name}+http-interop-devel
+%package     -n %{name}+native-tls-devel
 Summary:        %{summary}
 BuildArch:      noarch
 
-%description -n %{name}+http-interop-devel %{_description}
+%description -n %{name}+native-tls-devel %{_description}
 
 This package contains library source intended for building other packages which
-use the "http-interop" feature of the "%{crate}" crate.
+use the "native-tls" feature of the "%{crate}" crate.
 
-%files       -n %{name}+http-interop-devel
+%files       -n %{name}+native-tls-devel
 %ghost %{crate_instdir}/Cargo.toml
 
-%package     -n %{name}+json-devel
+%package     -n %{name}+native-tls-no-default-devel
 Summary:        %{summary}
 BuildArch:      noarch
 
-%description -n %{name}+json-devel %{_description}
+%description -n %{name}+native-tls-no-default-devel %{_description}
 
 This package contains library source intended for building other packages which
-use the "json" feature of the "%{crate}" crate.
+use the "native-tls-no-default" feature of the "%{crate}" crate.
 
-%files       -n %{name}+json-devel
+%files       -n %{name}+native-tls-no-default-devel
 %ghost %{crate_instdir}/Cargo.toml
 
-%package     -n %{name}+native-certs-devel
+%package     -n %{name}+native-tls-webpki-roots-devel
 Summary:        %{summary}
 BuildArch:      noarch
 
-%description -n %{name}+native-certs-devel %{_description}
+%description -n %{name}+native-tls-webpki-roots-devel %{_description}
 
 This package contains library source intended for building other packages which
-use the "native-certs" feature of the "%{crate}" crate.
+use the "native-tls-webpki-roots" feature of the "%{crate}" crate.
 
-%files       -n %{name}+native-certs-devel
+%files       -n %{name}+native-tls-webpki-roots-devel
 %ghost %{crate_instdir}/Cargo.toml
 
-%package     -n %{name}+native-tls-devel
+%package     -n %{name}+platform-verifier-devel
 Summary:        %{summary}
 BuildArch:      noarch
 
-%description -n %{name}+native-tls-devel %{_description}
+%description -n %{name}+platform-verifier-devel %{_description}
 
 This package contains library source intended for building other packages which
-use the "native-tls" feature of the "%{crate}" crate.
+use the "platform-verifier" feature of the "%{crate}" crate.
 
-%files       -n %{name}+native-tls-devel
+%files       -n %{name}+platform-verifier-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}+rustls-no-provider-devel
+Summary:        %{summary}
+BuildArch:      noarch
+
+%description -n %{name}+rustls-no-provider-devel %{_description}
+
+This package contains library source intended for building other packages which
+use the "rustls-no-provider" feature of the "%{crate}" crate.
+
+%files       -n %{name}+rustls-no-provider-devel
 %ghost %{crate_instdir}/Cargo.toml
 
-%package     -n %{name}+proxy-from-env-devel
+%package     -n %{name}+rustls-webpki-roots-devel
 Summary:        %{summary}
 BuildArch:      noarch
 
-%description -n %{name}+proxy-from-env-devel %{_description}
+%description -n %{name}+rustls-webpki-roots-devel %{_description}
 
 This package contains library source intended for building other packages which
-use the "proxy-from-env" feature of the "%{crate}" crate.
+use the "rustls-webpki-roots" feature of the "%{crate}" crate.
 
-%files       -n %{name}+proxy-from-env-devel
+%files       -n %{name}+rustls-webpki-roots-devel
 %ghost %{crate_instdir}/Cargo.toml
 
 %package     -n %{name}+socks-proxy-devel
@@ -191,16 +280,16 @@ use the "socks-proxy" feature of the "%{crate}" crate.
 %files       -n %{name}+socks-proxy-devel
 %ghost %{crate_instdir}/Cargo.toml
 
-%package     -n %{name}+tls-devel
+%package     -n %{name}+win-system-proxy-devel
 Summary:        %{summary}
 BuildArch:      noarch
 
-%description -n %{name}+tls-devel %{_description}
+%description -n %{name}+win-system-proxy-devel %{_description}
 
 This package contains library source intended for building other packages which
-use the "tls" feature of the "%{crate}" crate.
+use the "win-system-proxy" feature of the "%{crate}" crate.
 
-%files       -n %{name}+tls-devel
+%files       -n %{name}+win-system-proxy-devel
 %ghost %{crate_instdir}/Cargo.toml
 
 %prep
@@ -218,18 +307,21 @@ use the "tls" feature of the "%{crate}" crate.
 
 %if %{with check}
 %check
-# * skip tests that require internet access
+# * unversioned_rustls_crypto_provider needs aws-lc-rs
+# * other skipped tests require internet access
 %{cargo_test -- -- %{shrink:
-    --skip error::tests::status_code_error_redirect
-    --skip test::range::read_range_rustls
-    --skip tests::connect_http_google
-    --skip tests::connect_https_google_rustls
-    --skip src/agent.rs
-    --skip src/error.rs
-    --skip src/lib.rs
-    --skip src/request.rs
-    --skip src/response.rs
-    --skip ipv6_addr_in_dns_name
+    --skip tls::TlsConfigBuilder::unversioned_rustls_crypto_provider
+    --skip agent::Agent::run
+    --skip body::Body
+    --skip body::BodyReader
+    --skip body::BodyWithConfig
+    --skip middleware::Middleware
+    --skip request::RequestBuilder
+    --skip response::ResponseExt::get_redirect_history
+    --skip response::ResponseExt::get_uri
+    --skip send_body::AsSendBody
+    --skip test::
+    --skip unversioned::transport::Connector
 }}
 %endif
 

diff --git a/rust2rpm.toml b/rust2rpm.toml
index e494149..28299d8 100644
--- a/rust2rpm.toml
+++ b/rust2rpm.toml
@@ -1,30 +1,88 @@
 [package]
 cargo-toml-patch-comments = [
-    "bump cookie_store dependency from 0.21 to 0.22: https://github.com/algesten/ureq/commit/a24929b",
     """\
-bump brotli-decompressor dependency from v4 to v5: \
-https://github.com/algesten/ureq/commit/a24929bbf887979f3eaf39acda3ea127a08898f2\
+Drop the rustls/aws-lc-rs feature dependency; we don’t have rust-aws-lc-rs. \
+Upstream says that this is enabled “for tests so we can demonstrate using ureq \
+without compiling ring.”\
+""",
+    """\
+Drop the auto_args dev-dependency since we don’t have rust-auto_args; drop the \
+cureq example that would have required it.\
+""",
+    """\
+Support testing in release mode: https://github.com/algesten/ureq/pull/1180\
 """,
 ]
 
 [features]
-hide = ["testdeps"]
+hide = [
+    # Let’s avoid exposing unstable or internal features unless default and/or
+    # stable features depend on them. We still end up needing most of them, but
+    # each one we can omit reduces the likelihood of downstream problems in
+    # minor-version updates and potentially prunes some unwanted dependencies.
+
+    # Unstable features
+    # #################
+
+    # rustls → rustls-no-provider
+    # "rustls-no-provider",
+
+    # native-tls → native-tls-no-default
+    # "native-tls-no-default",
+
+    "vendored",
+
+    # Internal features
+    # #################
+
+    # (default) → rustls → _ring
+    # "_ring",
+
+    # cookies → _url
+    # "_url",
+
+    # native-tls → _tls
+    # rustls → rustls-no-provider → _tls
+    # native-tls → native-tls-no-default → _tls
+    # "_tls",
+
+    "_test",
+
+    # rustls → rustls-no-provider → _rustls
+    # "_rustls",
+
+    "_doc",
+]
+
+[[package.extra-patches]]
+number = 10
+file = "0001-Downstream-only-omit-tests-that-require-network-acce.patch"
+comments = [
+    """\
+Downstream-only: omit tests that require network access (and are not practical \
+to skip by name, e.g. anonymous doctests).\
+""",
+]
 
 [tests]
+skip-exact = false
 skip = [
-    # --lib
-    "error::tests::status_code_error_redirect",
-    "test::range::read_range_rustls",
-    "tests::connect_http_google",
-    "tests::connect_https_google_rustls",
-    # --doc
-    "src/agent.rs",
-    "src/error.rs",
-    "src/lib.rs",
-    "src/request.rs",
-    "src/response.rs",
-    # --tests
-    "ipv6_addr_in_dns_name",
+    # requires aws-lc-rs:
+    "tls::TlsConfigBuilder::unversioned_rustls_crypto_provider",
+    # require network access:
+    "agent::Agent::run",
+    "body::Body",
+    "body::BodyReader",
+    "body::BodyWithConfig",
+    "middleware::Middleware",
+    "request::RequestBuilder",
+    "response::ResponseExt::get_redirect_history",
+    "response::ResponseExt::get_uri",
+    "send_body::AsSendBody",
+    "test::",
+    "unversioned::transport::Connector",
+]
+comments = [
+    "unversioned_rustls_crypto_provider needs aws-lc-rs",
+    "other skipped tests require internet access",
 ]
-comments = ["skip tests that require internet access"]
-

diff --git a/sources b/sources
index fff7ff9..09d739b 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (ureq-2.12.1.crate) = 30fb75e097b9cfb34ebd056c0936d1b5ce16f4a613e963c5179046eb48a0165da6cb2e4a5d612b03d6b0daf736f5353159a92ab69e68b643b923fd551f0c3e7c
+SHA512 (ureq-3.3.0.crate) = 3ec507b4e29927b3e8a4c5982226e440be511bd42959c73049ce11a57d25df004ac6222cd394008a766c655d446563649fee57e95dbfc79979a0e11a696a7de6

diff --git a/ureq-fix-metadata-auto.diff b/ureq-fix-metadata-auto.diff
new file mode 100644
index 0000000..a998fbd
--- /dev/null
+++ b/ureq-fix-metadata-auto.diff
@@ -0,0 +1,18 @@
+--- ureq-3.3.0/Cargo.toml	2006-07-24T01:21:28+00:00
++++ ureq-3.3.0/Cargo.toml	2026-06-28T09:34:39.268335+00:00
+@@ -111,7 +111,7 @@
+ rustls-webpki-roots = ["dep:webpki-roots"]
+ socks-proxy = ["dep:socks"]
+ vendored = ["native-tls?/vendored"]
+-win-system-proxy = ["dep:winreg"]
++win-system-proxy = []
+ 
+ [lib]
+ name = "ureq"
+@@ -269,6 +269,3 @@
+     "derive",
+ ]
+ 
+-[target."cfg(windows)".dependencies.winreg]
+-version = "0.56"
+-optional = true

diff --git a/ureq-fix-metadata.diff b/ureq-fix-metadata.diff
index 57b1aa3..0e285d4 100644
--- a/ureq-fix-metadata.diff
+++ b/ureq-fix-metadata.diff
@@ -1,20 +1,40 @@
---- ureq-2.12.1/Cargo.toml	1970-01-01T00:00:01+00:00
-+++ ureq-2.12.1/Cargo.toml	2026-06-28T06:57:54.057318+00:00
-@@ -105,7 +105,7 @@
- version = "0.22"
+--- ureq-3.3.0/Cargo.toml	2006-07-24T01:21:28+00:00
++++ ureq-3.3.0/Cargo.toml	2026-06-28T09:34:39.269754+00:00
+@@ -118,19 +118,6 @@
+ path = "src/lib.rs"
  
- [dependencies.brotli-decompressor]
--version = "4.0.0"
-+version = "5.0.0"
- optional = true
+ [[example]]
+-name = "cureq"
+-path = "examples/cureq.rs"
+-required-features = [
+-    "rustls",
+-    "native-tls",
+-    "socks-proxy",
+-    "cookies",
+-    "gzip",
+-    "brotli",
+-    "charset",
+-]
+-
+-[[example]]
+ name = "mpsc-transport"
+ path = "examples/mpsc-transport.rs"
+ required-features = ["rustls"]
+@@ -251,16 +238,13 @@
  
- [dependencies.cookie]
-@@ -114,7 +114,7 @@
- default-features = false
+ [dev-dependencies.assert_no_alloc]
+ version = "1.1.2"
+-
+-[dev-dependencies.auto-args]
+-version = "0.3.0"
++default-features = false
  
- [dependencies.cookie_store]
--version = "0.21.1"
-+version = "0.22"
- features = [
-     "preserve_order",
-     "serde_json",
+ [dev-dependencies.env_logger]
+ version = "0.11.7"
+ 
+ [dev-dependencies.rustls]
+ version = "0.23"
+-features = ["aws-lc-rs"]
+ 
+ [dev-dependencies.serde]
+ version = "1.0.204"

^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2026-07-01 10:49 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-07-01 10:49 [rpms/rust-ureq] f43: Update to version 3.3.0; Fixes RHBZ#2329382 Benjamin A. Beasley

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox