From 5bbb8257a6638ed0aa7ffe15360c60f36abe2cad Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Mon, 10 Mar 2025 17:10:02 -0400 Subject: [PATCH 001/214] Drop patch that allowed mailparse 0.15.x (we now have 0.16.x) --- uv.spec | 7 ------- 1 file changed, 7 deletions(-) diff --git a/uv.spec b/uv.spec index ed82550..d62b4e0 100644 --- a/uv.spec +++ b/uv.spec @@ -588,13 +588,6 @@ tomcli set crates/uv/Cargo.toml del dependencies.tracing-durations-export tomcli set Cargo.toml str workspace.dependencies.etcetera.version \ '>=0.8.0, <0.10.0' -# mailparse -# wanted: 0.16.0 -# currently packaged: 0.15.0 -# https://bugzilla.redhat.com/show_bug.cgi?id=2344596 -tomcli set Cargo.toml str workspace.dependencies.mailparse.version \ - '>=0.15.0, <0.17.0' - # unicode-width # wanted: 0.1.13 # currently packaged: 0.1.12 (or 0.1.13+really0.1.12) From a44444ff57db817cede6af11f1b4c9194e4d3ead Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Wed, 12 Mar 2025 11:57:30 -0400 Subject: [PATCH 002/214] Update to 0.6.6 (close RHBZ#2351456) --- .gitignore | 1 + sources | 2 +- uv.spec | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 0468bf1..b56ea36 100644 --- a/.gitignore +++ b/.gitignore @@ -93,3 +93,4 @@ /uv-0.6.3.tar.gz /uv-0.6.4.tar.gz /uv-0.6.5.tar.gz +/uv-0.6.6.tar.gz diff --git a/sources b/sources index 9d7a456..3ebc5c8 100644 --- a/sources +++ b/sources @@ -1,4 +1,4 @@ -SHA512 (uv-0.6.5.tar.gz) = cb1564905d56ac5873db91476b9a0a09e450c2cfaf386d9d04b1861d1e798ec43d7f28e03099d732e03cc58f79820a7f825d7d8869b40f71fab4308412e401b5 +SHA512 (uv-0.6.6.tar.gz) = 49ad9fdb411e719b5a2aae6d48750932c8ad65bace2b0a747a54b475bcd0a40da368712d074b4b3afdf28cc8003532aca712b3714d54323f184ee1358521d7c5 SHA512 (rs-async-zip-c909fda63fcafe4af496a07bfda28a5aae97e58d.tar.gz) = 3a309566f4925b02496fcf19bc2865968edf6fb65082ca4079d2cee79e6b0353a1910c079f2afe656da0d0f6ddde5102052a221ea35a7dabc6d690a11218b20a SHA512 (pubgrub-b70cf707aa43f21b32f3a61b8a0889b15032d5c4.tar.gz) = 401ea5ca16e978d5407a1400e4e27cec9fcac11332067ee1ed8a3bc511901e08fc421ce875ebbb0990593ed549a4a5f4620914a71ae3490c7b8ae0f7b26b5937 SHA512 (tl-6e25b2ee2513d75385101a8ff9f591ef51f314ec.tar.gz) = 4abbc4240ed129c92da8d616e27a6df0f24cdc85a0803acfdae588ca91f9e5b8d482e3ac88b2e657ff68917b1b43cef1e7ef3c887f624659b231fa5a13fcae68 diff --git a/uv.spec b/uv.spec index d62b4e0..a49ce3b 100644 --- a/uv.spec +++ b/uv.spec @@ -14,7 +14,7 @@ %bcond it 0 Name: uv -Version: 0.6.5 +Version: 0.6.6 Release: %autorelease Summary: An extremely fast Python package installer and resolver, written in Rust From 67d4b436a3f4255af1c1174d06928a571f4276b2 Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Tue, 18 Mar 2025 07:18:49 -0400 Subject: [PATCH 003/214] Update to 0.6.7 (close RHBZ#2353121) --- .gitignore | 1 + sources | 2 +- uv.spec | 4 +++- 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index b56ea36..299a63e 100644 --- a/.gitignore +++ b/.gitignore @@ -94,3 +94,4 @@ /uv-0.6.4.tar.gz /uv-0.6.5.tar.gz /uv-0.6.6.tar.gz +/uv-0.6.7.tar.gz diff --git a/sources b/sources index 3ebc5c8..70848ed 100644 --- a/sources +++ b/sources @@ -1,4 +1,4 @@ -SHA512 (uv-0.6.6.tar.gz) = 49ad9fdb411e719b5a2aae6d48750932c8ad65bace2b0a747a54b475bcd0a40da368712d074b4b3afdf28cc8003532aca712b3714d54323f184ee1358521d7c5 +SHA512 (uv-0.6.7.tar.gz) = 992f8a64f3d0c8f57be6959f91242ce7420c6ee94839f067dc142f895fb2c0b9ab4161b6a51112241e30c8836eefb7e5bc747f867c28bf09b95e0aaa52de8350 SHA512 (rs-async-zip-c909fda63fcafe4af496a07bfda28a5aae97e58d.tar.gz) = 3a309566f4925b02496fcf19bc2865968edf6fb65082ca4079d2cee79e6b0353a1910c079f2afe656da0d0f6ddde5102052a221ea35a7dabc6d690a11218b20a SHA512 (pubgrub-b70cf707aa43f21b32f3a61b8a0889b15032d5c4.tar.gz) = 401ea5ca16e978d5407a1400e4e27cec9fcac11332067ee1ed8a3bc511901e08fc421ce875ebbb0990593ed549a4a5f4620914a71ae3490c7b8ae0f7b26b5937 SHA512 (tl-6e25b2ee2513d75385101a8ff9f591ef51f314ec.tar.gz) = 4abbc4240ed129c92da8d616e27a6df0f24cdc85a0803acfdae588ca91f9e5b8d482e3ac88b2e657ff68917b1b43cef1e7ef3c887f624659b231fa5a13fcae68 diff --git a/uv.spec b/uv.spec index a49ce3b..0815294 100644 --- a/uv.spec +++ b/uv.spec @@ -14,7 +14,7 @@ %bcond it 0 Name: uv -Version: 0.6.6 +Version: 0.6.7 Release: %autorelease Summary: An extremely fast Python package installer and resolver, written in Rust @@ -95,6 +95,7 @@ Summary: An extremely fast Python package installer and resolver, written # Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT # BSD-2-Clause OR Apache-2.0 OR MIT # BSD-3-Clause +# BSL-1.0 # ISC # ISC AND MIT AND OpenSSL # LGPL-3.0-or-later OR MPL-2.0 @@ -122,6 +123,7 @@ License: %{shrink: (Apache-2.0 WITH LLVM-exception) AND (Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT) AND BSD-3-Clause AND + BSL-1.0 AND ISC AND (LGPL-3.0-or-later OR MIT) AND (LGPL-3.0-or-later OR MPL-2.0) AND From 321b01f14e8445b0980611b87a4c76b8be60a6c2 Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Tue, 18 Mar 2025 22:02:14 -0400 Subject: [PATCH 004/214] Update to 0.6.8 (close RHBZ#2353281) --- .gitignore | 1 + sources | 2 +- uv.spec | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 299a63e..b69d059 100644 --- a/.gitignore +++ b/.gitignore @@ -95,3 +95,4 @@ /uv-0.6.5.tar.gz /uv-0.6.6.tar.gz /uv-0.6.7.tar.gz +/uv-0.6.8.tar.gz diff --git a/sources b/sources index 70848ed..37a0970 100644 --- a/sources +++ b/sources @@ -1,4 +1,4 @@ -SHA512 (uv-0.6.7.tar.gz) = 992f8a64f3d0c8f57be6959f91242ce7420c6ee94839f067dc142f895fb2c0b9ab4161b6a51112241e30c8836eefb7e5bc747f867c28bf09b95e0aaa52de8350 +SHA512 (uv-0.6.8.tar.gz) = edf3e45e773bc4db3e1ee7a76419ef62beadc882f2dbe6342ec334520e170f941b55d376469677a2b8107a6ab8e38d9c704bfae6700e4f2f4932db9fda57478c SHA512 (rs-async-zip-c909fda63fcafe4af496a07bfda28a5aae97e58d.tar.gz) = 3a309566f4925b02496fcf19bc2865968edf6fb65082ca4079d2cee79e6b0353a1910c079f2afe656da0d0f6ddde5102052a221ea35a7dabc6d690a11218b20a SHA512 (pubgrub-b70cf707aa43f21b32f3a61b8a0889b15032d5c4.tar.gz) = 401ea5ca16e978d5407a1400e4e27cec9fcac11332067ee1ed8a3bc511901e08fc421ce875ebbb0990593ed549a4a5f4620914a71ae3490c7b8ae0f7b26b5937 SHA512 (tl-6e25b2ee2513d75385101a8ff9f591ef51f314ec.tar.gz) = 4abbc4240ed129c92da8d616e27a6df0f24cdc85a0803acfdae588ca91f9e5b8d482e3ac88b2e657ff68917b1b43cef1e7ef3c887f624659b231fa5a13fcae68 diff --git a/uv.spec b/uv.spec index 0815294..b7fffc3 100644 --- a/uv.spec +++ b/uv.spec @@ -14,7 +14,7 @@ %bcond it 0 Name: uv -Version: 0.6.7 +Version: 0.6.8 Release: %autorelease Summary: An extremely fast Python package installer and resolver, written in Rust From 3a9483fc4636e9ed32a7d56c7c08fe137c91d1c8 Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Fri, 21 Mar 2025 16:28:46 -0400 Subject: [PATCH 005/214] Update to 0.6.9 (close RHBZ#2353965) --- .gitignore | 1 + sources | 2 +- uv.spec | 3 ++- 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index b69d059..e5afa6d 100644 --- a/.gitignore +++ b/.gitignore @@ -96,3 +96,4 @@ /uv-0.6.6.tar.gz /uv-0.6.7.tar.gz /uv-0.6.8.tar.gz +/uv-0.6.9.tar.gz diff --git a/sources b/sources index 37a0970..fb72f3b 100644 --- a/sources +++ b/sources @@ -1,4 +1,4 @@ -SHA512 (uv-0.6.8.tar.gz) = edf3e45e773bc4db3e1ee7a76419ef62beadc882f2dbe6342ec334520e170f941b55d376469677a2b8107a6ab8e38d9c704bfae6700e4f2f4932db9fda57478c +SHA512 (uv-0.6.9.tar.gz) = 0b6791b25aaa354a1c662132af97b9b5d45785867be4ee112660b823c69d532460651a333db61c96c997448761c77fde1fd4ecb47ccd5ebc73239d81a60b984d SHA512 (rs-async-zip-c909fda63fcafe4af496a07bfda28a5aae97e58d.tar.gz) = 3a309566f4925b02496fcf19bc2865968edf6fb65082ca4079d2cee79e6b0353a1910c079f2afe656da0d0f6ddde5102052a221ea35a7dabc6d690a11218b20a SHA512 (pubgrub-b70cf707aa43f21b32f3a61b8a0889b15032d5c4.tar.gz) = 401ea5ca16e978d5407a1400e4e27cec9fcac11332067ee1ed8a3bc511901e08fc421ce875ebbb0990593ed549a4a5f4620914a71ae3490c7b8ae0f7b26b5937 SHA512 (tl-6e25b2ee2513d75385101a8ff9f591ef51f314ec.tar.gz) = 4abbc4240ed129c92da8d616e27a6df0f24cdc85a0803acfdae588ca91f9e5b8d482e3ac88b2e657ff68917b1b43cef1e7ef3c887f624659b231fa5a13fcae68 diff --git a/uv.spec b/uv.spec index b7fffc3..36b521b 100644 --- a/uv.spec +++ b/uv.spec @@ -14,7 +14,7 @@ %bcond it 0 Name: uv -Version: 0.6.8 +Version: 0.6.9 Release: %autorelease Summary: An extremely fast Python package installer and resolver, written in Rust @@ -686,6 +686,7 @@ install -t '%{buildroot}%{_sysconfdir}/uv' -p -m 0644 -D '%{SOURCE1}' # # cargo test -p uv-auth --lib: skip="${skip-} --skip keyring::tests::fetch_url_no_host" +skip="${skip-} --skip keyring::tests::fetch_url_with_empty_username" skip="${skip-} --skip keyring::tests::fetch_url_with_no_username" skip="${skip-} --skip keyring::tests::fetch_url_with_password" From 4c789b5940d099b43e40d14f00d1546c316a1626 Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Sat, 22 Mar 2025 10:49:12 -0400 Subject: [PATCH 006/214] Stop patching the forked async-zip for zip 0.6; use zip 2 --- ...-zip-requirement-from-0.6.3-to-2.1.5.patch | 31 ---------- 0002-Revert-Update-mod.rs.patch | 61 ------------------- uv.spec | 10 +-- 3 files changed, 1 insertion(+), 101 deletions(-) delete mode 100644 0001-Revert-Update-zip-requirement-from-0.6.3-to-2.1.5.patch delete mode 100644 0002-Revert-Update-mod.rs.patch diff --git a/0001-Revert-Update-zip-requirement-from-0.6.3-to-2.1.5.patch b/0001-Revert-Update-zip-requirement-from-0.6.3-to-2.1.5.patch deleted file mode 100644 index 6aa1779..0000000 --- a/0001-Revert-Update-zip-requirement-from-0.6.3-to-2.1.5.patch +++ /dev/null @@ -1,31 +0,0 @@ -From fe229490eacaf771f2d1bbe8e67c3bef484d3291 Mon Sep 17 00:00:00 2001 -From: "Benjamin A. Beasley" -Date: Sat, 16 Nov 2024 16:42:49 -0500 -Subject: [PATCH 1/2] Revert "Update zip requirement from 0.6.3 to 2.1.5" - -This reverts commit ba532d50a943ecf0fadb3c0a20c5e51bcb81441d. - -See: - -Concerns with zip version 1.x -https://github.com/astral-sh/uv/issues/3642 ---- - Cargo.toml | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/Cargo.toml b/Cargo.toml -index 4740293..3c20438 100644 ---- a/Cargo.toml -+++ b/Cargo.toml -@@ -49,7 +49,7 @@ tokio-util = { version = "0.7", features = ["compat"], optional = true } - tokio = { version = "1", features = ["full"] } - tokio-util = { version = "0.7", features = ["compat"] } - env_logger = "0.11.2" --zip = "2.1.5" -+zip = "0.6.3" - - # shared across multiple examples - anyhow = "1" --- -2.47.0 - diff --git a/0002-Revert-Update-mod.rs.patch b/0002-Revert-Update-mod.rs.patch deleted file mode 100644 index 5e30f5b..0000000 --- a/0002-Revert-Update-mod.rs.patch +++ /dev/null @@ -1,61 +0,0 @@ -From 79705528bbaa1726ee7c394c28a769a65553847a Mon Sep 17 00:00:00 2001 -From: "Benjamin A. Beasley" -Date: Sun, 17 Nov 2024 23:27:41 -0500 -Subject: [PATCH 2/2] Revert "Update mod.rs" - -This reverts commit 60b8d12bada8fd1e64abe78ef1c1873ffb475093. - -These changes were associated with porting from zip 0.6 to 2. - -See: - -Concerns with zip version 1.x -https://github.com/astral-sh/uv/issues/3642 ---- - src/tests/read/zip64/mod.rs | 7 +++---- - src/tests/write/zip64/mod.rs | 2 +- - 2 files changed, 4 insertions(+), 5 deletions(-) - -diff --git a/src/tests/read/zip64/mod.rs b/src/tests/read/zip64/mod.rs -index 7549d63..758d410 100644 ---- a/src/tests/read/zip64/mod.rs -+++ b/src/tests/read/zip64/mod.rs -@@ -58,7 +58,7 @@ async fn test_read_zip64_archive_stream() { - #[cfg(feature = "tokio")] - fn generate_zip64many_zip() -> std::path::PathBuf { - use std::io::Write; -- use zip::write::{ExtendedFileOptions, FileOptions}; -+ use zip::write::FileOptions; - - let mut path = std::path::PathBuf::from(env!("CARGO_MANIFEST_DIR")); - path.push("src/tests/read/zip64/zip64many.zip"); -@@ -70,11 +70,10 @@ fn generate_zip64many_zip() -> std::path::PathBuf { - - let zip_file = std::fs::File::create(&path).unwrap(); - let mut zip = zip::ZipWriter::new(zip_file); -- let options: FileOptions<'_, ExtendedFileOptions> = -- FileOptions::default().compression_method(zip::CompressionMethod::Stored); -+ let options = FileOptions::default().compression_method(zip::CompressionMethod::Stored); - - for i in 0..2_u32.pow(16) + 1 { -- zip.start_file(format!("{i}.txt"), options.clone()).unwrap(); -+ zip.start_file(format!("{i}.txt"), options).unwrap(); - zip.write_all(b"\n").unwrap(); - } - -diff --git a/src/tests/write/zip64/mod.rs b/src/tests/write/zip64/mod.rs -index 35e26ff..01f3211 100644 ---- a/src/tests/write/zip64/mod.rs -+++ b/src/tests/write/zip64/mod.rs -@@ -36,7 +36,7 @@ async fn test_write_zip64_file() { - let cursor = std::io::Cursor::new(buffer); - let mut zip = zip::read::ZipArchive::new(cursor).unwrap(); - let mut file1 = zip.by_name("file1").unwrap(); -- assert_eq!(file1.extra_data(), Some(&[] as &[u8])); -+ assert_eq!(file1.extra_data(), &[] as &[u8]); - let mut buffer = Vec::new(); - file1.read_to_end(&mut buffer).unwrap(); - assert_eq!(buffer.as_slice(), &[0, 0, 0, 0]); --- -2.47.0 - diff --git a/uv.spec b/uv.spec index 36b521b..0f8a9dd 100644 --- a/uv.spec +++ b/uv.spec @@ -200,16 +200,8 @@ Patch: 0001-Downstream-only-do-not-override-the-default-allocato.patch # https://github.com/astral-sh/uv/issues/4451 Patch: 0001-Downstream-patch-always-find-the-system-wide-uv-exec.patch -# These patches are for the forked, bundled async_zip crate. -# -# Revert "Update zip requirement from 0.6.3 to 2.1.5" -# This reverts commit ba532d50a943ecf0fadb3c0a20c5e51bcb81441d. -# See: Concerns with zip version 1.x -# https://github.com/astral-sh/uv/issues/3642 -Patch100: 0001-Revert-Update-zip-requirement-from-0.6.3-to-2.1.5.patch -Patch101: 0002-Revert-Update-mod.rs.patch # Update sanitize-filename requirement from 0.5 to 0.6 -Patch102: https://github.com/Majored/rs-async-zip/pull/153.patch +Patch100: https://github.com/Majored/rs-async-zip/pull/153.patch # This patch is for the forked, bundled pubgrub crate. # From 465d10e19d0b756d7773ff4ed4883d8af50a3469 Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Thu, 3 Apr 2025 17:36:59 -0400 Subject: [PATCH 007/214] Update to 0.6.10 --- .gitignore | 1 + sources | 2 +- uv.spec | 4 ++-- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index e5afa6d..170fd86 100644 --- a/.gitignore +++ b/.gitignore @@ -97,3 +97,4 @@ /uv-0.6.7.tar.gz /uv-0.6.8.tar.gz /uv-0.6.9.tar.gz +/uv-0.6.10.tar.gz diff --git a/sources b/sources index fb72f3b..b1f99e3 100644 --- a/sources +++ b/sources @@ -1,4 +1,4 @@ -SHA512 (uv-0.6.9.tar.gz) = 0b6791b25aaa354a1c662132af97b9b5d45785867be4ee112660b823c69d532460651a333db61c96c997448761c77fde1fd4ecb47ccd5ebc73239d81a60b984d +SHA512 (uv-0.6.10.tar.gz) = d1a034ae8781b5401a9ad77e00f7d4ae1e401359232e44a7395583e22c88f80e3741a21b52a3a4f659edbd2e643ffe3ad10b58964dc7c3c12bee60f8c0414930 SHA512 (rs-async-zip-c909fda63fcafe4af496a07bfda28a5aae97e58d.tar.gz) = 3a309566f4925b02496fcf19bc2865968edf6fb65082ca4079d2cee79e6b0353a1910c079f2afe656da0d0f6ddde5102052a221ea35a7dabc6d690a11218b20a SHA512 (pubgrub-b70cf707aa43f21b32f3a61b8a0889b15032d5c4.tar.gz) = 401ea5ca16e978d5407a1400e4e27cec9fcac11332067ee1ed8a3bc511901e08fc421ce875ebbb0990593ed549a4a5f4620914a71ae3490c7b8ae0f7b26b5937 SHA512 (tl-6e25b2ee2513d75385101a8ff9f591ef51f314ec.tar.gz) = 4abbc4240ed129c92da8d616e27a6df0f24cdc85a0803acfdae588ca91f9e5b8d482e3ac88b2e657ff68917b1b43cef1e7ef3c887f624659b231fa5a13fcae68 diff --git a/uv.spec b/uv.spec index 0f8a9dd..c8d9acb 100644 --- a/uv.spec +++ b/uv.spec @@ -14,7 +14,7 @@ %bcond it 0 Name: uv -Version: 0.6.9 +Version: 0.6.10 Release: %autorelease Summary: An extremely fast Python package installer and resolver, written in Rust @@ -548,7 +548,7 @@ tomcli set crates/uv-auth/Cargo.toml del dev-dependencies.wiremock mods="${mods-}${mods+|}branching_urls" mods="${mods-}${mods+|}build_backend" mods="${mods-}${mods+|}pip_(check|list|show|tree|uninstall)" -mods="${mods-}${mods+|}python_(dir|find|install|pin)" +mods="${mods-}${mods+|}python_(dir|find|install|list|pin)" mods="${mods-}${mods+|}venv" mods="${mods-}${mods+|}workspace" comment='Downstream-only: skip, needs specific Python interpreter versions' From 0836ebeb6a578c2d3d59a1a1261076397acbe2f9 Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Thu, 3 Apr 2025 22:09:24 -0400 Subject: [PATCH 008/214] Update to 0.6.11 --- .gitignore | 1 + sources | 2 +- uv.spec | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 170fd86..cfb2570 100644 --- a/.gitignore +++ b/.gitignore @@ -98,3 +98,4 @@ /uv-0.6.8.tar.gz /uv-0.6.9.tar.gz /uv-0.6.10.tar.gz +/uv-0.6.11.tar.gz diff --git a/sources b/sources index b1f99e3..b3cfb85 100644 --- a/sources +++ b/sources @@ -1,4 +1,4 @@ -SHA512 (uv-0.6.10.tar.gz) = d1a034ae8781b5401a9ad77e00f7d4ae1e401359232e44a7395583e22c88f80e3741a21b52a3a4f659edbd2e643ffe3ad10b58964dc7c3c12bee60f8c0414930 +SHA512 (uv-0.6.11.tar.gz) = 4cad1246de2e8767394b89448e009a0c51a2e2d95c3eaac2c2ed76a03951fd539cefb38d2e61dc9ed0cc709c1a21a9221bb0437d1862d0d2a389977e19072835 SHA512 (rs-async-zip-c909fda63fcafe4af496a07bfda28a5aae97e58d.tar.gz) = 3a309566f4925b02496fcf19bc2865968edf6fb65082ca4079d2cee79e6b0353a1910c079f2afe656da0d0f6ddde5102052a221ea35a7dabc6d690a11218b20a SHA512 (pubgrub-b70cf707aa43f21b32f3a61b8a0889b15032d5c4.tar.gz) = 401ea5ca16e978d5407a1400e4e27cec9fcac11332067ee1ed8a3bc511901e08fc421ce875ebbb0990593ed549a4a5f4620914a71ae3490c7b8ae0f7b26b5937 SHA512 (tl-6e25b2ee2513d75385101a8ff9f591ef51f314ec.tar.gz) = 4abbc4240ed129c92da8d616e27a6df0f24cdc85a0803acfdae588ca91f9e5b8d482e3ac88b2e657ff68917b1b43cef1e7ef3c887f624659b231fa5a13fcae68 diff --git a/uv.spec b/uv.spec index c8d9acb..789d18d 100644 --- a/uv.spec +++ b/uv.spec @@ -14,7 +14,7 @@ %bcond it 0 Name: uv -Version: 0.6.10 +Version: 0.6.11 Release: %autorelease Summary: An extremely fast Python package installer and resolver, written in Rust From 4c602db1c0d3257c8659d091d6ee81b638390f73 Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Thu, 3 Apr 2025 22:31:26 -0400 Subject: [PATCH 009/214] Update to 0.6.12 (close RHBZ#2354987) --- .gitignore | 1 + sources | 2 +- uv.spec | 6 +++--- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/.gitignore b/.gitignore index cfb2570..d043de5 100644 --- a/.gitignore +++ b/.gitignore @@ -99,3 +99,4 @@ /uv-0.6.9.tar.gz /uv-0.6.10.tar.gz /uv-0.6.11.tar.gz +/uv-0.6.12.tar.gz diff --git a/sources b/sources index b3cfb85..44be917 100644 --- a/sources +++ b/sources @@ -1,4 +1,4 @@ -SHA512 (uv-0.6.11.tar.gz) = 4cad1246de2e8767394b89448e009a0c51a2e2d95c3eaac2c2ed76a03951fd539cefb38d2e61dc9ed0cc709c1a21a9221bb0437d1862d0d2a389977e19072835 +SHA512 (uv-0.6.12.tar.gz) = c61476e1229d7ac9d9cd00308afde31f7acad469e2f69b3131b7723495c8a5bbac5cf545c0d657048433411ad706f96aa2296bcb3c1b6ff3cb5d0f18e786a4d5 SHA512 (rs-async-zip-c909fda63fcafe4af496a07bfda28a5aae97e58d.tar.gz) = 3a309566f4925b02496fcf19bc2865968edf6fb65082ca4079d2cee79e6b0353a1910c079f2afe656da0d0f6ddde5102052a221ea35a7dabc6d690a11218b20a SHA512 (pubgrub-b70cf707aa43f21b32f3a61b8a0889b15032d5c4.tar.gz) = 401ea5ca16e978d5407a1400e4e27cec9fcac11332067ee1ed8a3bc511901e08fc421ce875ebbb0990593ed549a4a5f4620914a71ae3490c7b8ae0f7b26b5937 SHA512 (tl-6e25b2ee2513d75385101a8ff9f591ef51f314ec.tar.gz) = 4abbc4240ed129c92da8d616e27a6df0f24cdc85a0803acfdae588ca91f9e5b8d482e3ac88b2e657ff68917b1b43cef1e7ef3c887f624659b231fa5a13fcae68 diff --git a/uv.spec b/uv.spec index 789d18d..69426d8 100644 --- a/uv.spec +++ b/uv.spec @@ -14,7 +14,7 @@ %bcond it 0 Name: uv -Version: 0.6.11 +Version: 0.6.12 Release: %autorelease Summary: An extremely fast Python package installer and resolver, written in Rust @@ -576,11 +576,11 @@ tomcli set crates/uv/Cargo.toml del dependencies.tracing-durations-export # tomcli set crates/uv/Cargo.toml str dev-dependencies.foocrate.version 0.1.2 # etcetera -# wanted: 0.9.0 +# wanted: 0.10.0 # currently packaged: 0.8.0 # https://bugzilla.redhat.com/show_bug.cgi?id=2348721 tomcli set Cargo.toml str workspace.dependencies.etcetera.version \ - '>=0.8.0, <0.10.0' + '>=0.8.0, <0.11.0' # unicode-width # wanted: 0.1.13 From 77c95666d996ccb3bc3d18db77d679ece1a9d2df Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Thu, 3 Apr 2025 22:43:16 -0400 Subject: [PATCH 010/214] Update License expression --- uv.spec | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/uv.spec b/uv.spec index 69426d8..486f688 100644 --- a/uv.spec +++ b/uv.spec @@ -86,6 +86,7 @@ Summary: An extremely fast Python package installer and resolver, written # 0BSD # 0BSD OR MIT OR Apache-2.0 # Apache-2.0 +# Apache-2.0 AND ISC AND (MIT OR Apache-2.0) # Apache-2.0 OR BSD-2-Clause # Apache-2.0 OR BSL-1.0 # Apache-2.0 OR ISC OR MIT @@ -97,7 +98,6 @@ Summary: An extremely fast Python package installer and resolver, written # BSD-3-Clause # BSL-1.0 # ISC -# ISC AND MIT AND OpenSSL # LGPL-3.0-or-later OR MPL-2.0 # MIT # MIT OR Apache-2.0 @@ -130,7 +130,6 @@ License: %{shrink: MIT AND (MIT OR Unlicense) AND MPL-2.0 AND - OpenSSL AND Unicode-3.0 AND Unicode-DFS-2016 AND Zlib From 3cdb7cf0958d35e8fb6df5df652ff084f1e30694 Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Tue, 8 Apr 2025 07:17:26 -0400 Subject: [PATCH 011/214] Update to 0.6.13 (close RHBZ#2358064) --- .gitignore | 1 + sources | 2 +- uv.spec | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index d043de5..99af673 100644 --- a/.gitignore +++ b/.gitignore @@ -100,3 +100,4 @@ /uv-0.6.10.tar.gz /uv-0.6.11.tar.gz /uv-0.6.12.tar.gz +/uv-0.6.13.tar.gz diff --git a/sources b/sources index 44be917..a366caa 100644 --- a/sources +++ b/sources @@ -1,4 +1,4 @@ -SHA512 (uv-0.6.12.tar.gz) = c61476e1229d7ac9d9cd00308afde31f7acad469e2f69b3131b7723495c8a5bbac5cf545c0d657048433411ad706f96aa2296bcb3c1b6ff3cb5d0f18e786a4d5 +SHA512 (uv-0.6.13.tar.gz) = 49e629a291f4aaf6ac96e994f22fe4370dee6e21d6317a4b1d28eaddb5f34b838ce19707eb22da7b9b16445d19f32a74631301a1feb53b336a8a275ee3f1e1bf SHA512 (rs-async-zip-c909fda63fcafe4af496a07bfda28a5aae97e58d.tar.gz) = 3a309566f4925b02496fcf19bc2865968edf6fb65082ca4079d2cee79e6b0353a1910c079f2afe656da0d0f6ddde5102052a221ea35a7dabc6d690a11218b20a SHA512 (pubgrub-b70cf707aa43f21b32f3a61b8a0889b15032d5c4.tar.gz) = 401ea5ca16e978d5407a1400e4e27cec9fcac11332067ee1ed8a3bc511901e08fc421ce875ebbb0990593ed549a4a5f4620914a71ae3490c7b8ae0f7b26b5937 SHA512 (tl-6e25b2ee2513d75385101a8ff9f591ef51f314ec.tar.gz) = 4abbc4240ed129c92da8d616e27a6df0f24cdc85a0803acfdae588ca91f9e5b8d482e3ac88b2e657ff68917b1b43cef1e7ef3c887f624659b231fa5a13fcae68 diff --git a/uv.spec b/uv.spec index 486f688..60ace41 100644 --- a/uv.spec +++ b/uv.spec @@ -14,7 +14,7 @@ %bcond it 0 Name: uv -Version: 0.6.12 +Version: 0.6.13 Release: %autorelease Summary: An extremely fast Python package installer and resolver, written in Rust From 06219a8fa3cd2b1a385a59c2159eaf4e45095850 Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Wed, 9 Apr 2025 20:51:09 -0400 Subject: [PATCH 012/214] Update to 0.6.14 (close RHBZ#2358763) --- .gitignore | 1 + sources | 2 +- uv.spec | 15 +-------------- 3 files changed, 3 insertions(+), 15 deletions(-) diff --git a/.gitignore b/.gitignore index 99af673..623ffd4 100644 --- a/.gitignore +++ b/.gitignore @@ -101,3 +101,4 @@ /uv-0.6.11.tar.gz /uv-0.6.12.tar.gz /uv-0.6.13.tar.gz +/uv-0.6.14.tar.gz diff --git a/sources b/sources index a366caa..4c1f8d3 100644 --- a/sources +++ b/sources @@ -1,4 +1,4 @@ -SHA512 (uv-0.6.13.tar.gz) = 49e629a291f4aaf6ac96e994f22fe4370dee6e21d6317a4b1d28eaddb5f34b838ce19707eb22da7b9b16445d19f32a74631301a1feb53b336a8a275ee3f1e1bf +SHA512 (uv-0.6.14.tar.gz) = fd83f66d7be2c8bb0a30457433db00a7a0aa04d7f546a5a8833299e1e92dcf502c058a5dd8deb6b890aa21c10e3b9695e5444272efed9402e9722b01a71ff1b1 SHA512 (rs-async-zip-c909fda63fcafe4af496a07bfda28a5aae97e58d.tar.gz) = 3a309566f4925b02496fcf19bc2865968edf6fb65082ca4079d2cee79e6b0353a1910c079f2afe656da0d0f6ddde5102052a221ea35a7dabc6d690a11218b20a SHA512 (pubgrub-b70cf707aa43f21b32f3a61b8a0889b15032d5c4.tar.gz) = 401ea5ca16e978d5407a1400e4e27cec9fcac11332067ee1ed8a3bc511901e08fc421ce875ebbb0990593ed549a4a5f4620914a71ae3490c7b8ae0f7b26b5937 SHA512 (tl-6e25b2ee2513d75385101a8ff9f591ef51f314ec.tar.gz) = 4abbc4240ed129c92da8d616e27a6df0f24cdc85a0803acfdae588ca91f9e5b8d482e3ac88b2e657ff68917b1b43cef1e7ef3c887f624659b231fa5a13fcae68 diff --git a/uv.spec b/uv.spec index 60ace41..9f3469f 100644 --- a/uv.spec +++ b/uv.spec @@ -14,7 +14,7 @@ %bcond it 0 Name: uv -Version: 0.6.13 +Version: 0.6.14 Release: %autorelease Summary: An extremely fast Python package installer and resolver, written in Rust @@ -581,19 +581,6 @@ tomcli set crates/uv/Cargo.toml del dependencies.tracing-durations-export tomcli set Cargo.toml str workspace.dependencies.etcetera.version \ '>=0.8.0, <0.11.0' -# unicode-width -# wanted: 0.1.13 -# currently packaged: 0.1.12 (or 0.1.13+really0.1.12) -# This is a whole mess: https://github.com/unicode-rs/unicode-width/issues/55, -# https://github.com/unicode-rs/unicode-width/issues/66 -# -# Once upstream switches to 0.2.0, https://github.com/astral-sh/uv/pull/7632, -# we will no longer need to patch this; however, for now the upstream change is -# waiting for textwrap to make a release that includes -# https://github.com/mgeisler/textwrap/commit/ef91a27bcf5f4cf50ee12993032b227982ecf52e. -tomcli set Cargo.toml str \ - workspace.dependencies.unicode-width.version '0.1.12' - %cargo_prep From 579e26bd307b3ddc82037a2baa4eac00891610e6 Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Fri, 11 Apr 2025 11:34:14 -0400 Subject: [PATCH 013/214] Rebuilt with rust-idna 1.x --- uv.spec | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/uv.spec b/uv.spec index 9f3469f..610c9e9 100644 --- a/uv.spec +++ b/uv.spec @@ -101,14 +101,13 @@ Summary: An extremely fast Python package installer and resolver, written # LGPL-3.0-or-later OR MPL-2.0 # MIT # MIT OR Apache-2.0 -# MIT OR Apache-2.0 OR Zlib # MIT OR LGPL-3.0-or-later # MIT OR Zlib OR Apache-2.0 # MIT-0 OR Apache-2.0 # MPL-2.0 +# Unicode-3.0 # Unlicense OR MIT # Zlib -# Zlib OR Apache-2.0 OR MIT License: %{shrink: 0BSD AND (0BSD OR Apache-2.0 OR MIT) AND From 6cbf87dfe25f67bbae533d99a83466730b6df745 Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Sun, 6 Apr 2025 10:33:43 -0400 Subject: [PATCH 014/214] Patch bundled pubgrub/version-ranges fork for ron 0.9.0 final --- ...Revert-feat-ensure-successful-round-.patch | 85 -------------- 330.patch | 107 ++++++++++++++++++ uv.spec | 8 +- 3 files changed, 110 insertions(+), 90 deletions(-) delete mode 100644 0001-Downstream-only-Revert-feat-ensure-successful-round-.patch create mode 100644 330.patch diff --git a/0001-Downstream-only-Revert-feat-ensure-successful-round-.patch b/0001-Downstream-only-Revert-feat-ensure-successful-round-.patch deleted file mode 100644 index dfd8c23..0000000 --- a/0001-Downstream-only-Revert-feat-ensure-successful-round-.patch +++ /dev/null @@ -1,85 +0,0 @@ -From 2dafc904c3578d6f822cf4106b0e09d3086eac27 Mon Sep 17 00:00:00 2001 -From: "Benjamin A. Beasley" -Date: Thu, 23 May 2024 14:45:49 -0400 -Subject: [PATCH] Downstream-only: Revert "feat: ensure successful round-trip - of RON (#193)" - -This reverts commit 21c6a215432fea9a75b7d15d9a9936af9ccc17cb. - -We will not be packaging an alpha version of rust-ron. ---- - Cargo.lock | 5 ++--- - Cargo.toml | 2 +- - version-ranges/Cargo.toml | 2 +- - version-ranges/src/lib.rs | 10 ---------- - 4 files changed, 4 insertions(+), 15 deletions(-) - -diff --git a/Cargo.lock b/Cargo.lock -index b3d912a..a6c2eae 100644 ---- a/Cargo.lock -+++ b/Cargo.lock -@@ -730,15 +730,14 @@ checksum = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c" - - [[package]] - name = "ron" --version = "0.9.0-alpha.1" -+version = "0.8.1" - source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "7644a2a539ff7fa991c8f4652373cd722d387e39229415103243914249730836" -+checksum = "b91f7eff05f748767f183df4320a63d6936e9c6107d97c9e6bdd9784f4289c94" - dependencies = [ - "base64", - "bitflags", - "serde", - "serde_derive", -- "unicode-ident", - ] - - [[package]] -diff --git a/Cargo.toml b/Cargo.toml -index 2424d96..3705919 100644 ---- a/Cargo.toml -+++ b/Cargo.toml -@@ -36,7 +36,7 @@ version-ranges = { version = "0.1.0", path = "version-ranges" } - criterion = { version = "2.7.2", package = "codspeed-criterion-compat" } - env_logger = "0.11.6" - proptest = "1.6.0" --ron = "=0.9.0-alpha.1" -+ron = "=0.8.1" - varisat = "0.2.2" - version-ranges = { version = "0.1.0", path = "version-ranges", features = ["proptest"] } - -diff --git a/version-ranges/Cargo.toml b/version-ranges/Cargo.toml -index ffe68d1..7cf5e26 100644 ---- a/version-ranges/Cargo.toml -+++ b/version-ranges/Cargo.toml -@@ -18,4 +18,4 @@ serde = ["dep:serde", "smallvec/serde"] - - [dev-dependencies] - proptest = "1.6.0" --ron = "=0.9.0-alpha.1" -+ron = "0.8.1" -diff --git a/version-ranges/src/lib.rs b/version-ranges/src/lib.rs -index aac7c94..d28984a 100644 ---- a/version-ranges/src/lib.rs -+++ b/version-ranges/src/lib.rs -@@ -1210,16 +1210,6 @@ pub mod tests { - - proptest! { - -- // Testing serde ---------------------------------- -- -- #[cfg(feature = "serde")] -- #[test] -- fn serde_round_trip(range in proptest_strategy()) { -- let s = ron::ser::to_string(&range).unwrap(); -- let r = ron::de::from_str(&s).unwrap(); -- assert_eq!(range, r); -- } -- - // Testing negate ---------------------------------- - - #[test] --- -2.48.1 - diff --git a/330.patch b/330.patch new file mode 100644 index 0000000..69d3ab1 --- /dev/null +++ b/330.patch @@ -0,0 +1,107 @@ +From 583321b938988ae69e6f9ecc5647eba94c4fdcb8 Mon Sep 17 00:00:00 2001 +From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> +Date: Thu, 3 Apr 2025 15:32:00 +0000 +Subject: [PATCH 1/3] build(deps): bump ron from 0.9.0-alpha.1 to 0.9.0 + +Bumps [ron](https://github.com/ron-rs/ron) from 0.9.0-alpha.1 to 0.9.0. +- [Release notes](https://github.com/ron-rs/ron/releases) +- [Changelog](https://github.com/ron-rs/ron/blob/master/CHANGELOG.md) +- [Commits](https://github.com/ron-rs/ron/commits/v0.9.0) + +--- +updated-dependencies: +- dependency-name: ron + dependency-version: 0.9.0 + dependency-type: direct:production + update-type: version-update:semver-patch +... + +Signed-off-by: dependabot[bot] +--- + Cargo.lock | 4 ++-- + Cargo.toml | 2 +- + version-ranges/Cargo.toml | 2 +- + 3 files changed, 4 insertions(+), 4 deletions(-) + +diff --git a/Cargo.lock b/Cargo.lock +index bf2d6975..c35dbb2c 100644 +--- a/Cargo.lock ++++ b/Cargo.lock +@@ -730,9 +730,9 @@ checksum = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c" + + [[package]] + name = "ron" +-version = "0.9.0-alpha.1" ++version = "0.9.0" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "7644a2a539ff7fa991c8f4652373cd722d387e39229415103243914249730836" ++checksum = "63f3aa105dea217ef30d89581b65a4d527a19afc95ef5750be3890e8d3c5b837" + dependencies = [ + "base64", + "bitflags", +diff --git a/Cargo.toml b/Cargo.toml +index 338ccb87..76c723b5 100644 +--- a/Cargo.toml ++++ b/Cargo.toml +@@ -36,7 +36,7 @@ version-ranges = { version = "0.1.0", path = "version-ranges" } + criterion = { version = "2.7.2", package = "codspeed-criterion-compat" } + env_logger = "0.11.6" + proptest = "1.6.0" +-ron = "=0.9.0-alpha.1" ++ron = "=0.9.0" + varisat = "0.2.2" + version-ranges = { version = "0.1.0", path = "version-ranges", features = ["proptest"] } + +diff --git a/version-ranges/Cargo.toml b/version-ranges/Cargo.toml +index 4ba888bf..14405b89 100644 +--- a/version-ranges/Cargo.toml ++++ b/version-ranges/Cargo.toml +@@ -18,4 +18,4 @@ serde = ["dep:serde", "smallvec/serde"] + + [dev-dependencies] + proptest = "1.6.0" +-ron = "=0.9.0-alpha.1" ++ron = "=0.9.0" + +From 8ef1f0e6cfc8ec847d5cefda7edcfbebd1a3017e Mon Sep 17 00:00:00 2001 +From: konstin +Date: Mon, 7 Apr 2025 19:11:09 +0200 +Subject: [PATCH 2/3] Use SemVer again + +--- + Cargo.toml | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Cargo.toml b/Cargo.toml +index 76c723b5..25125b6b 100644 +--- a/Cargo.toml ++++ b/Cargo.toml +@@ -36,7 +36,7 @@ version-ranges = { version = "0.1.0", path = "version-ranges" } + criterion = { version = "2.7.2", package = "codspeed-criterion-compat" } + env_logger = "0.11.6" + proptest = "1.6.0" +-ron = "=0.9.0" ++ron = "0.9.0" + varisat = "0.2.2" + version-ranges = { version = "0.1.0", path = "version-ranges", features = ["proptest"] } + + +From 983d40d061296a22a97810ea6946eb67048f511b Mon Sep 17 00:00:00 2001 +From: konstin +Date: Mon, 7 Apr 2025 19:51:38 +0200 +Subject: [PATCH 3/3] Use SemVer again + +--- + version-ranges/Cargo.toml | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/version-ranges/Cargo.toml b/version-ranges/Cargo.toml +index 14405b89..ce2c69f1 100644 +--- a/version-ranges/Cargo.toml ++++ b/version-ranges/Cargo.toml +@@ -18,4 +18,4 @@ serde = ["dep:serde", "smallvec/serde"] + + [dev-dependencies] + proptest = "1.6.0" +-ron = "=0.9.0" ++ron = "0.9.0" diff --git a/uv.spec b/uv.spec index 610c9e9..6f2c0a0 100644 --- a/uv.spec +++ b/uv.spec @@ -203,11 +203,9 @@ Patch100: https://github.com/Majored/rs-async-zip/pull/153.patch # This patch is for the forked, bundled pubgrub crate. # -# Downstream-only: Revert "feat: ensure successful round-trip of RON (#193)" -# This reverts commit 21c6a215432fea9a75b7d15d9a9936af9ccc17cb. -# We will not be packaging an alpha version of rust-ron. We can adjust this -# after ron 0.9.x is released. -Patch200: 0001-Downstream-only-Revert-feat-ensure-successful-round-.patch +# build(deps): bump ron from 0.9.0-alpha.1 to 0.9.0 +# https://github.com/pubgrub-rs/pubgrub/pull/330 +Patch200: https://github.com/pubgrub-rs/pubgrub/pull/330.patch # https://fedoraproject.org/wiki/Changes/EncourageI686LeafRemoval ExcludeArch: %{ix86} From 32160dd5640c3126157c2a82871d86d4c1cb53c3 Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Mon, 14 Apr 2025 11:25:00 -0400 Subject: [PATCH 015/214] Remove a test skip that was a workaround for url 2.5.2 --- uv.spec | 25 ------------------------- 1 file changed, 25 deletions(-) diff --git a/uv.spec b/uv.spec index 6f2c0a0..78a198e 100644 --- a/uv.spec +++ b/uv.spec @@ -671,31 +671,6 @@ skip="${skip-} --skip keyring::tests::fetch_url_with_password" # -p uv-client --test it: skip="${skip-} --skip remote_metadata::remote_metadata_with_and_without_cache" -# This snapshot test fails due to a trivial difference in error message text -# between url 2.5.2 and 2.5.3. The meaning of the message is the same. See -# https://github.com/astral-sh/uv/commit/9368268e494cbf05374165f25cdf1e9f6d2cceb9. -# We can stop skipping this test once the rust-url package is updated to 2.5.3, -# https://bugzilla.redhat.com/show_bug.cgi?id=2323618. -# -# ---- metadata::requires_dist::test::invalid_url stdout ---- -# ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Snapshot Summary ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ -# Snapshot: invalid_url -# Source: crates/uv-distribution/src/metadata/requires_dist.rs:460 -# ──────────────────────────────────────────────────────────────────────────────── -# Expression: format_err(input).await -# ──────────────────────────────────────────────────────────────────────────────── -# -old snapshot -# +new results -# ────────────┬─────────────────────────────────────────────────────────────────── -# 0 0 │ error: TOML parse error at line 8, column 16 -# 1 1 │ | -# 2 2 │ 8 | tqdm = { url = "§invalid#+#*Ä" } -# 3 3 │ | ^^^^^^^^^^^^^^^^^ -# 4 │-relative URL without a base: "§invalid#+#*Ä" -# 4 │+invalid value: string "§invalid#+#*Ä", expected relative URL without a base -# ────────────┴─────────────────────────────────────────────────────────────────── -skip="${skip-} --skip metadata::requires_dist::test::invalid_url" - %if %[ %{defined fc41} || %{defined fc40} || %{defined el10} || %{defined el9} ] # Trivial difference in snapshots: packages appear in a different order. skip="${skip-} --skip lock::tests::missing_dependency_source_unambiguous" From 6a39cf54445682ee77ba38b23d1d0ac49d74f2ca Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Mon, 14 Apr 2025 11:23:30 -0400 Subject: [PATCH 016/214] Stop allowing etcetera 0.8 --- uv.spec | 7 ------- 1 file changed, 7 deletions(-) diff --git a/uv.spec b/uv.spec index 78a198e..a34c4c9 100644 --- a/uv.spec +++ b/uv.spec @@ -571,13 +571,6 @@ tomcli set crates/uv/Cargo.toml del dependencies.tracing-durations-export # # https://bugzilla.redhat.com/show_bug.cgi?id=1234567 # tomcli set crates/uv/Cargo.toml str dev-dependencies.foocrate.version 0.1.2 -# etcetera -# wanted: 0.10.0 -# currently packaged: 0.8.0 -# https://bugzilla.redhat.com/show_bug.cgi?id=2348721 -tomcli set Cargo.toml str workspace.dependencies.etcetera.version \ - '>=0.8.0, <0.11.0' - %cargo_prep From 7357ca12b48daa8edd3ea33a7618ccbb3f451541 Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Tue, 22 Apr 2025 07:07:39 -0400 Subject: [PATCH 017/214] Stop tracking an obsolete patch file [skip changelog] --- 11.patch | 55 ------------------------------------------------------- 1 file changed, 55 deletions(-) delete mode 100644 11.patch diff --git a/11.patch b/11.patch deleted file mode 100644 index 1cc1ea6..0000000 --- a/11.patch +++ /dev/null @@ -1,55 +0,0 @@ -From 32769daca67af91c1f8bdb5972e500fa9e66c9ea Mon Sep 17 00:00:00 2001 -From: konstin -Date: Tue, 4 Feb 2025 18:45:16 +0100 -Subject: [PATCH] Adapt directory permission test - -Adapt the directory permissions test to the changes made in https://github.com/astral-sh/tokio-tar/pull/8. ---- - tests/entry.rs | 20 +++++++++++++++----- - 1 file changed, 15 insertions(+), 5 deletions(-) - -diff --git a/tests/entry.rs b/tests/entry.rs -index 5b45669..4c31956 100644 ---- a/tests/entry.rs -+++ b/tests/entry.rs -@@ -2,7 +2,7 @@ extern crate tokio_tar as async_tar; - - extern crate tempfile; - --use tokio::{fs::File, io::AsyncReadExt}; -+use tokio::{fs, fs::File, io::AsyncReadExt}; - use tokio_stream::*; - - use tempfile::Builder; -@@ -157,7 +157,7 @@ async fn relative_link_deref_error() { - - #[tokio::test] - #[cfg(unix)] --async fn directory_maintains_permissions() { -+async fn directory_permissions_are_cleared() { - use ::std::os::unix::fs::PermissionsExt; - - let mut ar = async_tar::Builder::new(Vec::new()); -@@ -176,9 +176,19 @@ async fn directory_maintains_permissions() { - let td = t!(Builder::new().prefix("tar").tempdir()); - t!(ar.unpack(td.path()).await); - let f = t!(File::open(td.path().join("foo")).await); -- let md = t!(f.metadata().await); -- assert!(md.is_dir()); -- assert_eq!(md.permissions().mode(), 0o40777); -+ let from_archive_md = t!(f.metadata().await); -+ assert!(from_archive_md.is_dir()); -+ -+ // To determine the default umask, create a fresh directory that gets it assigned by the OS. -+ let manually_created = td.path().join("bar"); -+ t!(fs::create_dir(&manually_created).await); -+ let f = t!(File::open(&manually_created).await); -+ let loca_md = t!(f.metadata().await); -+ -+ assert_eq!( -+ from_archive_md.permissions().mode(), -+ loca_md.permissions().mode() -+ ); - } - - #[tokio::test] From e0b8af6d61bb2ee335e4e77914961200d7bef82d Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Tue, 22 Apr 2025 07:08:19 -0400 Subject: [PATCH 018/214] Update to 0.6.16 (close RHBZ#2361555) --- .gitignore | 1 + sources | 2 +- uv.spec | 20 ++++++++++++++++---- 3 files changed, 18 insertions(+), 5 deletions(-) diff --git a/.gitignore b/.gitignore index 623ffd4..47d6cd6 100644 --- a/.gitignore +++ b/.gitignore @@ -102,3 +102,4 @@ /uv-0.6.12.tar.gz /uv-0.6.13.tar.gz /uv-0.6.14.tar.gz +/uv-0.6.16.tar.gz diff --git a/sources b/sources index 4c1f8d3..30c0683 100644 --- a/sources +++ b/sources @@ -1,4 +1,4 @@ -SHA512 (uv-0.6.14.tar.gz) = fd83f66d7be2c8bb0a30457433db00a7a0aa04d7f546a5a8833299e1e92dcf502c058a5dd8deb6b890aa21c10e3b9695e5444272efed9402e9722b01a71ff1b1 +SHA512 (uv-0.6.16.tar.gz) = 656114553bf26bde74276fdf9e60cfa83ec6b8d9ada99fb1b210b157c1e847feace0741965c10c8d5d0e3721129d5d7d3860612c944402d4b531af2188ede21e SHA512 (rs-async-zip-c909fda63fcafe4af496a07bfda28a5aae97e58d.tar.gz) = 3a309566f4925b02496fcf19bc2865968edf6fb65082ca4079d2cee79e6b0353a1910c079f2afe656da0d0f6ddde5102052a221ea35a7dabc6d690a11218b20a SHA512 (pubgrub-b70cf707aa43f21b32f3a61b8a0889b15032d5c4.tar.gz) = 401ea5ca16e978d5407a1400e4e27cec9fcac11332067ee1ed8a3bc511901e08fc421ce875ebbb0990593ed549a4a5f4620914a71ae3490c7b8ae0f7b26b5937 SHA512 (tl-6e25b2ee2513d75385101a8ff9f591ef51f314ec.tar.gz) = 4abbc4240ed129c92da8d616e27a6df0f24cdc85a0803acfdae588ca91f9e5b8d482e3ac88b2e657ff68917b1b43cef1e7ef3c887f624659b231fa5a13fcae68 diff --git a/uv.spec b/uv.spec index a34c4c9..57e2fda 100644 --- a/uv.spec +++ b/uv.spec @@ -14,7 +14,7 @@ %bcond it 0 Name: uv -Version: 0.6.14 +Version: 0.6.16 Release: %autorelease Summary: An extremely fast Python package installer and resolver, written in Rust @@ -96,7 +96,6 @@ Summary: An extremely fast Python package installer and resolver, written # Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT # BSD-2-Clause OR Apache-2.0 OR MIT # BSD-3-Clause -# BSL-1.0 # ISC # LGPL-3.0-or-later OR MPL-2.0 # MIT @@ -122,7 +121,6 @@ License: %{shrink: (Apache-2.0 WITH LLVM-exception) AND (Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT) AND BSD-3-Clause AND - BSL-1.0 AND ISC AND (LGPL-3.0-or-later OR MIT) AND (LGPL-3.0-or-later OR MPL-2.0) AND @@ -530,9 +528,12 @@ tomcli set crates/uv/Cargo.toml lists delitem features.default 'crates-io' # Omit tests requiring wiremock; its dependency tree is too large and complex # to consider packaging it right now. The conditional #[cfg(any())] is always # false. +tomcli set crates/uv-auth/Cargo.toml del dev-dependencies.wiremock sed -r -i 's/^#\[cfg\(test\)\]/#[cfg(any())]\r&/' \ crates/uv-auth/src/middleware.rs -tomcli set crates/uv-auth/Cargo.toml del dev-dependencies.wiremock +tomcli set crates/uv/Cargo.toml del dev-dependencies.wiremock +sed -r -i 's/^mod pip_install;$/#[cfg(any())]\r&/' \ + crates/uv/tests/it/main.rs %if %{without it} # Integration tests (it crate) nearly all require specific Python interpreter @@ -672,6 +673,17 @@ skip="${skip-} --skip lock::tests::missing_dependency_source_version_unambiguous skip="${skip-} --skip lock::tests::missing_dependency_version_unambiguous" %endif +# Trivial differences in --help output formatting (whitespace) +skip="${skip-} --skip help::help" +skip="${skip-} --skip help::help_flag" +skip="${skip-} --skip help::help_flag_subcommand" +skip="${skip-} --skip help::help_flag_subsubcommand" +skip="${skip-} --skip help::help_short_flag" +skip="${skip-} --skip help::help_subcommand" +skip="${skip-} --skip help::help_subsubcommand" +skip="${skip-} --skip help::help_with_global_option" +skip="${skip-} --skip help::help_with_no_pager" + %cargo_test -- -- --exact ${skip-} %endif From 14f59adc232d9abdfcf848fd75e5f5371aaf8048 Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Tue, 22 Apr 2025 21:18:36 -0400 Subject: [PATCH 019/214] Update ron to 0.10 --- 330.patch | 57 ++++++++++++++++++++++++++++++++++++++++++++++++++++--- uv.spec | 2 +- 2 files changed, 55 insertions(+), 4 deletions(-) diff --git a/330.patch b/330.patch index 69d3ab1..768d38a 100644 --- a/330.patch +++ b/330.patch @@ -1,7 +1,7 @@ From 583321b938988ae69e6f9ecc5647eba94c4fdcb8 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 3 Apr 2025 15:32:00 +0000 -Subject: [PATCH 1/3] build(deps): bump ron from 0.9.0-alpha.1 to 0.9.0 +Subject: [PATCH 1/4] build(deps): bump ron from 0.9.0-alpha.1 to 0.9.0 Bumps [ron](https://github.com/ron-rs/ron) from 0.9.0-alpha.1 to 0.9.0. - [Release notes](https://github.com/ron-rs/ron/releases) @@ -66,7 +66,7 @@ index 4ba888bf..14405b89 100644 From 8ef1f0e6cfc8ec847d5cefda7edcfbebd1a3017e Mon Sep 17 00:00:00 2001 From: konstin Date: Mon, 7 Apr 2025 19:11:09 +0200 -Subject: [PATCH 2/3] Use SemVer again +Subject: [PATCH 2/4] Use SemVer again --- Cargo.toml | 2 +- @@ -89,7 +89,7 @@ index 76c723b5..25125b6b 100644 From 983d40d061296a22a97810ea6946eb67048f511b Mon Sep 17 00:00:00 2001 From: konstin Date: Mon, 7 Apr 2025 19:51:38 +0200 -Subject: [PATCH 3/3] Use SemVer again +Subject: [PATCH 3/4] Use SemVer again --- version-ranges/Cargo.toml | 2 +- @@ -105,3 +105,54 @@ index 14405b89..ce2c69f1 100644 proptest = "1.6.0" -ron = "=0.9.0" +ron = "0.9.0" + +From 28404215bc62a21c7e0ccef3298776adf5e44b7f Mon Sep 17 00:00:00 2001 +From: konstin +Date: Wed, 23 Apr 2025 13:32:00 +0200 +Subject: [PATCH 4/4] Update ron to 0.10.1 + +--- + Cargo.lock | 4 ++-- + Cargo.toml | 2 +- + version-ranges/Cargo.toml | 2 +- + 3 files changed, 4 insertions(+), 4 deletions(-) + +diff --git a/Cargo.lock b/Cargo.lock +index c35dbb2c..7361d606 100644 +--- a/Cargo.lock ++++ b/Cargo.lock +@@ -730,9 +730,9 @@ checksum = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c" + + [[package]] + name = "ron" +-version = "0.9.0" ++version = "0.10.1" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "63f3aa105dea217ef30d89581b65a4d527a19afc95ef5750be3890e8d3c5b837" ++checksum = "beceb6f7bf81c73e73aeef6dd1356d9a1b2b4909e1f0fc3e59b034f9572d7b7f" + dependencies = [ + "base64", + "bitflags", +diff --git a/Cargo.toml b/Cargo.toml +index 25125b6b..93a2ce30 100644 +--- a/Cargo.toml ++++ b/Cargo.toml +@@ -36,7 +36,7 @@ version-ranges = { version = "0.1.0", path = "version-ranges" } + criterion = { version = "2.7.2", package = "codspeed-criterion-compat" } + env_logger = "0.11.6" + proptest = "1.6.0" +-ron = "0.9.0" ++ron = "0.10.1" + varisat = "0.2.2" + version-ranges = { version = "0.1.0", path = "version-ranges", features = ["proptest"] } + +diff --git a/version-ranges/Cargo.toml b/version-ranges/Cargo.toml +index ce2c69f1..95d76508 100644 +--- a/version-ranges/Cargo.toml ++++ b/version-ranges/Cargo.toml +@@ -18,4 +18,4 @@ serde = ["dep:serde", "smallvec/serde"] + + [dev-dependencies] + proptest = "1.6.0" +-ron = "0.9.0" ++ron = "0.10.1" diff --git a/uv.spec b/uv.spec index 57e2fda..cc6db7d 100644 --- a/uv.spec +++ b/uv.spec @@ -201,7 +201,7 @@ Patch100: https://github.com/Majored/rs-async-zip/pull/153.patch # This patch is for the forked, bundled pubgrub crate. # -# build(deps): bump ron from 0.9.0-alpha.1 to 0.9.0 +# build(deps): bump ron from 0.9.0-alpha.1 to 0.10.1 # https://github.com/pubgrub-rs/pubgrub/pull/330 Patch200: https://github.com/pubgrub-rs/pubgrub/pull/330.patch From 4c02668f6b05fb3e666df39c822ab0ae6e4bc271 Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Sat, 26 Apr 2025 09:28:06 -0400 Subject: [PATCH 020/214] Update to 0.6.17 --- .gitignore | 2 + 330.patch | 158 ----------------------------------------------------- sources | 4 +- uv.spec | 14 ++--- 4 files changed, 8 insertions(+), 170 deletions(-) delete mode 100644 330.patch diff --git a/.gitignore b/.gitignore index 47d6cd6..d9f56aa 100644 --- a/.gitignore +++ b/.gitignore @@ -103,3 +103,5 @@ /uv-0.6.13.tar.gz /uv-0.6.14.tar.gz /uv-0.6.16.tar.gz +/uv-0.6.17.tar.gz +/pubgrub-a3b4db3abb1829ce889fb89fa6d157fef529ef7e.tar.gz diff --git a/330.patch b/330.patch deleted file mode 100644 index 768d38a..0000000 --- a/330.patch +++ /dev/null @@ -1,158 +0,0 @@ -From 583321b938988ae69e6f9ecc5647eba94c4fdcb8 Mon Sep 17 00:00:00 2001 -From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> -Date: Thu, 3 Apr 2025 15:32:00 +0000 -Subject: [PATCH 1/4] build(deps): bump ron from 0.9.0-alpha.1 to 0.9.0 - -Bumps [ron](https://github.com/ron-rs/ron) from 0.9.0-alpha.1 to 0.9.0. -- [Release notes](https://github.com/ron-rs/ron/releases) -- [Changelog](https://github.com/ron-rs/ron/blob/master/CHANGELOG.md) -- [Commits](https://github.com/ron-rs/ron/commits/v0.9.0) - ---- -updated-dependencies: -- dependency-name: ron - dependency-version: 0.9.0 - dependency-type: direct:production - update-type: version-update:semver-patch -... - -Signed-off-by: dependabot[bot] ---- - Cargo.lock | 4 ++-- - Cargo.toml | 2 +- - version-ranges/Cargo.toml | 2 +- - 3 files changed, 4 insertions(+), 4 deletions(-) - -diff --git a/Cargo.lock b/Cargo.lock -index bf2d6975..c35dbb2c 100644 ---- a/Cargo.lock -+++ b/Cargo.lock -@@ -730,9 +730,9 @@ checksum = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c" - - [[package]] - name = "ron" --version = "0.9.0-alpha.1" -+version = "0.9.0" - source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "7644a2a539ff7fa991c8f4652373cd722d387e39229415103243914249730836" -+checksum = "63f3aa105dea217ef30d89581b65a4d527a19afc95ef5750be3890e8d3c5b837" - dependencies = [ - "base64", - "bitflags", -diff --git a/Cargo.toml b/Cargo.toml -index 338ccb87..76c723b5 100644 ---- a/Cargo.toml -+++ b/Cargo.toml -@@ -36,7 +36,7 @@ version-ranges = { version = "0.1.0", path = "version-ranges" } - criterion = { version = "2.7.2", package = "codspeed-criterion-compat" } - env_logger = "0.11.6" - proptest = "1.6.0" --ron = "=0.9.0-alpha.1" -+ron = "=0.9.0" - varisat = "0.2.2" - version-ranges = { version = "0.1.0", path = "version-ranges", features = ["proptest"] } - -diff --git a/version-ranges/Cargo.toml b/version-ranges/Cargo.toml -index 4ba888bf..14405b89 100644 ---- a/version-ranges/Cargo.toml -+++ b/version-ranges/Cargo.toml -@@ -18,4 +18,4 @@ serde = ["dep:serde", "smallvec/serde"] - - [dev-dependencies] - proptest = "1.6.0" --ron = "=0.9.0-alpha.1" -+ron = "=0.9.0" - -From 8ef1f0e6cfc8ec847d5cefda7edcfbebd1a3017e Mon Sep 17 00:00:00 2001 -From: konstin -Date: Mon, 7 Apr 2025 19:11:09 +0200 -Subject: [PATCH 2/4] Use SemVer again - ---- - Cargo.toml | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/Cargo.toml b/Cargo.toml -index 76c723b5..25125b6b 100644 ---- a/Cargo.toml -+++ b/Cargo.toml -@@ -36,7 +36,7 @@ version-ranges = { version = "0.1.0", path = "version-ranges" } - criterion = { version = "2.7.2", package = "codspeed-criterion-compat" } - env_logger = "0.11.6" - proptest = "1.6.0" --ron = "=0.9.0" -+ron = "0.9.0" - varisat = "0.2.2" - version-ranges = { version = "0.1.0", path = "version-ranges", features = ["proptest"] } - - -From 983d40d061296a22a97810ea6946eb67048f511b Mon Sep 17 00:00:00 2001 -From: konstin -Date: Mon, 7 Apr 2025 19:51:38 +0200 -Subject: [PATCH 3/4] Use SemVer again - ---- - version-ranges/Cargo.toml | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/version-ranges/Cargo.toml b/version-ranges/Cargo.toml -index 14405b89..ce2c69f1 100644 ---- a/version-ranges/Cargo.toml -+++ b/version-ranges/Cargo.toml -@@ -18,4 +18,4 @@ serde = ["dep:serde", "smallvec/serde"] - - [dev-dependencies] - proptest = "1.6.0" --ron = "=0.9.0" -+ron = "0.9.0" - -From 28404215bc62a21c7e0ccef3298776adf5e44b7f Mon Sep 17 00:00:00 2001 -From: konstin -Date: Wed, 23 Apr 2025 13:32:00 +0200 -Subject: [PATCH 4/4] Update ron to 0.10.1 - ---- - Cargo.lock | 4 ++-- - Cargo.toml | 2 +- - version-ranges/Cargo.toml | 2 +- - 3 files changed, 4 insertions(+), 4 deletions(-) - -diff --git a/Cargo.lock b/Cargo.lock -index c35dbb2c..7361d606 100644 ---- a/Cargo.lock -+++ b/Cargo.lock -@@ -730,9 +730,9 @@ checksum = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c" - - [[package]] - name = "ron" --version = "0.9.0" -+version = "0.10.1" - source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "63f3aa105dea217ef30d89581b65a4d527a19afc95ef5750be3890e8d3c5b837" -+checksum = "beceb6f7bf81c73e73aeef6dd1356d9a1b2b4909e1f0fc3e59b034f9572d7b7f" - dependencies = [ - "base64", - "bitflags", -diff --git a/Cargo.toml b/Cargo.toml -index 25125b6b..93a2ce30 100644 ---- a/Cargo.toml -+++ b/Cargo.toml -@@ -36,7 +36,7 @@ version-ranges = { version = "0.1.0", path = "version-ranges" } - criterion = { version = "2.7.2", package = "codspeed-criterion-compat" } - env_logger = "0.11.6" - proptest = "1.6.0" --ron = "0.9.0" -+ron = "0.10.1" - varisat = "0.2.2" - version-ranges = { version = "0.1.0", path = "version-ranges", features = ["proptest"] } - -diff --git a/version-ranges/Cargo.toml b/version-ranges/Cargo.toml -index ce2c69f1..95d76508 100644 ---- a/version-ranges/Cargo.toml -+++ b/version-ranges/Cargo.toml -@@ -18,4 +18,4 @@ serde = ["dep:serde", "smallvec/serde"] - - [dev-dependencies] - proptest = "1.6.0" --ron = "0.9.0" -+ron = "0.10.1" diff --git a/sources b/sources index 30c0683..46de166 100644 --- a/sources +++ b/sources @@ -1,4 +1,4 @@ -SHA512 (uv-0.6.16.tar.gz) = 656114553bf26bde74276fdf9e60cfa83ec6b8d9ada99fb1b210b157c1e847feace0741965c10c8d5d0e3721129d5d7d3860612c944402d4b531af2188ede21e +SHA512 (uv-0.6.17.tar.gz) = aae465ef02a29a856f4de69230f77d31149c95ed5a88e489b46c34aa61020f29dcf406168abea77626e7d5297b2e004a89445f343e3ee763c297981b0d50233a SHA512 (rs-async-zip-c909fda63fcafe4af496a07bfda28a5aae97e58d.tar.gz) = 3a309566f4925b02496fcf19bc2865968edf6fb65082ca4079d2cee79e6b0353a1910c079f2afe656da0d0f6ddde5102052a221ea35a7dabc6d690a11218b20a -SHA512 (pubgrub-b70cf707aa43f21b32f3a61b8a0889b15032d5c4.tar.gz) = 401ea5ca16e978d5407a1400e4e27cec9fcac11332067ee1ed8a3bc511901e08fc421ce875ebbb0990593ed549a4a5f4620914a71ae3490c7b8ae0f7b26b5937 +SHA512 (pubgrub-a3b4db3abb1829ce889fb89fa6d157fef529ef7e.tar.gz) = 3e434326040445b836bbbb5e3af186a480198cae3d9b3bc78fa1e8c7f78b558ef15de88c6c941d25ada6be80ca7bb5cf1e1c10647b3e991aeb44cb58acccff35 SHA512 (tl-6e25b2ee2513d75385101a8ff9f591ef51f314ec.tar.gz) = 4abbc4240ed129c92da8d616e27a6df0f24cdc85a0803acfdae588ca91f9e5b8d482e3ac88b2e657ff68917b1b43cef1e7ef3c887f624659b231fa5a13fcae68 diff --git a/uv.spec b/uv.spec index cc6db7d..49eb6b8 100644 --- a/uv.spec +++ b/uv.spec @@ -14,7 +14,7 @@ %bcond it 0 Name: uv -Version: 0.6.16 +Version: 0.6.17 Release: %autorelease Summary: An extremely fast Python package installer and resolver, written in Rust @@ -159,9 +159,9 @@ Source100: %{async_zip_git}/archive/%{async_zip_rev}/rs-async-zip-%{async_z # We therefore bundle the fork as prescribed in # https://docs.fedoraproject.org/en-US/packaging-guidelines/Rust/#_replacing_git_dependencies %global pubgrub_git https://github.com/astral-sh/pubgrub -%global pubgrub_rev b70cf707aa43f21b32f3a61b8a0889b15032d5c4 -%global pubgrub_baseversion 0.3.0~alpha.1 -%global pubgrub_snapdate 20250202 +%global pubgrub_rev a3b4db3abb1829ce889fb89fa6d157fef529ef7e +%global pubgrub_baseversion 0.3.0 +%global pubgrub_snapdate 20250423 %global version_ranges_baseversion 0.1.1 Source200: %{pubgrub_git}/archive/%{pubgrub_rev}/pubgrub-%{pubgrub_rev}.tar.gz @@ -199,12 +199,6 @@ Patch: 0001-Downstream-patch-always-find-the-system-wide-uv-exec.patch # Update sanitize-filename requirement from 0.5 to 0.6 Patch100: https://github.com/Majored/rs-async-zip/pull/153.patch -# This patch is for the forked, bundled pubgrub crate. -# -# build(deps): bump ron from 0.9.0-alpha.1 to 0.10.1 -# https://github.com/pubgrub-rs/pubgrub/pull/330 -Patch200: https://github.com/pubgrub-rs/pubgrub/pull/330.patch - # https://fedoraproject.org/wiki/Changes/EncourageI686LeafRemoval ExcludeArch: %{ix86} From ce6d976c5dcb6c10820b30e95df4094b7e920988 Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Sun, 11 May 2025 13:17:34 -0400 Subject: [PATCH 021/214] No longer patch out tests requiring wiremock --- uv.spec | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/uv.spec b/uv.spec index 49eb6b8..79e68a4 100644 --- a/uv.spec +++ b/uv.spec @@ -96,6 +96,7 @@ Summary: An extremely fast Python package installer and resolver, written # Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT # BSD-2-Clause OR Apache-2.0 OR MIT # BSD-3-Clause +# CDLA-Permissive-2.0 # ISC # LGPL-3.0-or-later OR MPL-2.0 # MIT @@ -121,6 +122,7 @@ License: %{shrink: (Apache-2.0 WITH LLVM-exception) AND (Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT) AND BSD-3-Clause AND + CDLA-Permissive-2.0 AND ISC AND (LGPL-3.0-or-later OR MIT) AND (LGPL-3.0-or-later OR MPL-2.0) AND @@ -519,16 +521,6 @@ tomcli set crates/uv/Cargo.toml lists delitem features.default 'crates-io' # Python installation with specific patch versions,” is already not among the # default features. -# Omit tests requiring wiremock; its dependency tree is too large and complex -# to consider packaging it right now. The conditional #[cfg(any())] is always -# false. -tomcli set crates/uv-auth/Cargo.toml del dev-dependencies.wiremock -sed -r -i 's/^#\[cfg\(test\)\]/#[cfg(any())]\r&/' \ - crates/uv-auth/src/middleware.rs -tomcli set crates/uv/Cargo.toml del dev-dependencies.wiremock -sed -r -i 's/^mod pip_install;$/#[cfg(any())]\r&/' \ - crates/uv/tests/it/main.rs - %if %{without it} # Integration tests (it crate) nearly all require specific Python interpreter # versions (major.minor, not major.minor.patch, unless the python-patch feature @@ -678,6 +670,13 @@ skip="${skip-} --skip help::help_subsubcommand" skip="${skip-} --skip help::help_with_global_option" skip="${skip-} --skip help::help_with_no_pager" +# TODO: What’s going wrong here? It doesn’t seem serious… +# thread 'middleware::tests::test_tracing_url' panicked at +# crates/uv-auth/src/middleware.rs:2095:5: +# Could not set global tracing subscriber: SetGlobalDefaultError("a global +# default trace dispatcher has already been set") +skip="${skip-} --skip middleware::tests::test_tracing_url" + %cargo_test -- -- --exact ${skip-} %endif From 3fb593f675f8cf2b30741e65014733df3151526a Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Fri, 9 May 2025 11:16:24 -0400 Subject: [PATCH 022/214] Update to 0.7.0 --- .gitignore | 1 + sources | 2 +- uv.spec | 33 ++++++++++++++++++++++++++++++++- 3 files changed, 34 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index d9f56aa..ab11a88 100644 --- a/.gitignore +++ b/.gitignore @@ -105,3 +105,4 @@ /uv-0.6.16.tar.gz /uv-0.6.17.tar.gz /pubgrub-a3b4db3abb1829ce889fb89fa6d157fef529ef7e.tar.gz +/uv-0.7.0.tar.gz diff --git a/sources b/sources index 46de166..1ea505e 100644 --- a/sources +++ b/sources @@ -1,4 +1,4 @@ -SHA512 (uv-0.6.17.tar.gz) = aae465ef02a29a856f4de69230f77d31149c95ed5a88e489b46c34aa61020f29dcf406168abea77626e7d5297b2e004a89445f343e3ee763c297981b0d50233a +SHA512 (uv-0.7.0.tar.gz) = a55cea36f5b8ba3d0cc40df4a2457d9c89dbe2a8f82a4b4254de2e21f1a607e1a927a8c5b75444ae9464b776104e2ef0c6ddafe47b39834e824ab48628a60289 SHA512 (rs-async-zip-c909fda63fcafe4af496a07bfda28a5aae97e58d.tar.gz) = 3a309566f4925b02496fcf19bc2865968edf6fb65082ca4079d2cee79e6b0353a1910c079f2afe656da0d0f6ddde5102052a221ea35a7dabc6d690a11218b20a SHA512 (pubgrub-a3b4db3abb1829ce889fb89fa6d157fef529ef7e.tar.gz) = 3e434326040445b836bbbb5e3af186a480198cae3d9b3bc78fa1e8c7f78b558ef15de88c6c941d25ada6be80ca7bb5cf1e1c10647b3e991aeb44cb58acccff35 SHA512 (tl-6e25b2ee2513d75385101a8ff9f591ef51f314ec.tar.gz) = 4abbc4240ed129c92da8d616e27a6df0f24cdc85a0803acfdae588ca91f9e5b8d482e3ac88b2e657ff68917b1b43cef1e7ef3c887f624659b231fa5a13fcae68 diff --git a/uv.spec b/uv.spec index 79e68a4..d4e2659 100644 --- a/uv.spec +++ b/uv.spec @@ -14,7 +14,7 @@ %bcond it 0 Name: uv -Version: 0.6.17 +Version: 0.7.0 Release: %autorelease Summary: An extremely fast Python package installer and resolver, written in Rust @@ -648,6 +648,37 @@ skip="${skip-} --skip keyring::tests::fetch_url_with_password" # These tests require specific Python interpreter versions (down to patch # release number), which upstream normally downloads, precompiled, into the # build area; they might also require network access. +# -p uv --test it: +skip="${skip-} --skip version::self_version" +skip="${skip-} --skip version::self_version_json" +skip="${skip-} --skip version::self_version_short" +skip="${skip-} --skip version::version_bump_minor" +skip="${skip-} --skip version::version_bump_patch" +skip="${skip-} --skip version::version_bump_patch_short" +skip="${skip-} --skip version::version_get" +skip="${skip-} --skip version::version_get_dynamic" +skip="${skip-} --skip version::version_get_fallback_missing_strict" +skip="${skip-} --skip version::version_get_fallback_missing_strict_preview" +skip="${skip-} --skip version::version_get_fallback_unmanaged" +skip="${skip-} --skip version::version_get_fallback_unmanaged_json" +skip="${skip-} --skip version::version_get_fallback_unmanaged_short" +skip="${skip-} --skip version::version_get_fallback_unmanaged_strict" +skip="${skip-} --skip version::version_get_json" +skip="${skip-} --skip version::version_get_short" +skip="${skip-} --skip version::version_major_complex_mess" +skip="${skip-} --skip version::version_major_dev" +skip="${skip-} --skip version::version_major_dry" +skip="${skip-} --skip version::version_major_post" +skip="${skip-} --skip version::version_major_uncompleted" +skip="${skip-} --skip version::version_major_version" +skip="${skip-} --skip version::version_minor_uncompleted" +skip="${skip-} --skip version::version_missing_bump" +skip="${skip-} --skip version::version_patch_uncompleted" +skip="${skip-} --skip version::version_set_dry" +skip="${skip-} --skip version::version_set_dynamic" +skip="${skip-} --skip version::version_set_invalid" +skip="${skip-} --skip version::version_set_value" +skip="${skip-} --skip version::version_set_value_short" # -p uv-client --test it: skip="${skip-} --skip remote_metadata::remote_metadata_with_and_without_cache" From f66a7818330e3d7463faed64cd5d78a51fcdb1d8 Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Fri, 9 May 2025 14:42:43 -0400 Subject: [PATCH 023/214] Update to 0.7.1 --- .gitignore | 1 + sources | 2 +- uv.spec | 3 ++- 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index ab11a88..ea90eb1 100644 --- a/.gitignore +++ b/.gitignore @@ -106,3 +106,4 @@ /uv-0.6.17.tar.gz /pubgrub-a3b4db3abb1829ce889fb89fa6d157fef529ef7e.tar.gz /uv-0.7.0.tar.gz +/uv-0.7.1.tar.gz diff --git a/sources b/sources index 1ea505e..8e410b2 100644 --- a/sources +++ b/sources @@ -1,4 +1,4 @@ -SHA512 (uv-0.7.0.tar.gz) = a55cea36f5b8ba3d0cc40df4a2457d9c89dbe2a8f82a4b4254de2e21f1a607e1a927a8c5b75444ae9464b776104e2ef0c6ddafe47b39834e824ab48628a60289 +SHA512 (uv-0.7.1.tar.gz) = 0dd90e84aa798b7ad5e6c28c42648594f4d35f7f05d93e184a3a6eb14881260b6483b43e715d342deb26dd8d7f2e19a412a5bd17705b87c5942a6e1990505f9f SHA512 (rs-async-zip-c909fda63fcafe4af496a07bfda28a5aae97e58d.tar.gz) = 3a309566f4925b02496fcf19bc2865968edf6fb65082ca4079d2cee79e6b0353a1910c079f2afe656da0d0f6ddde5102052a221ea35a7dabc6d690a11218b20a SHA512 (pubgrub-a3b4db3abb1829ce889fb89fa6d157fef529ef7e.tar.gz) = 3e434326040445b836bbbb5e3af186a480198cae3d9b3bc78fa1e8c7f78b558ef15de88c6c941d25ada6be80ca7bb5cf1e1c10647b3e991aeb44cb58acccff35 SHA512 (tl-6e25b2ee2513d75385101a8ff9f591ef51f314ec.tar.gz) = 4abbc4240ed129c92da8d616e27a6df0f24cdc85a0803acfdae588ca91f9e5b8d482e3ac88b2e657ff68917b1b43cef1e7ef3c887f624659b231fa5a13fcae68 diff --git a/uv.spec b/uv.spec index d4e2659..038f0a0 100644 --- a/uv.spec +++ b/uv.spec @@ -14,7 +14,7 @@ %bcond it 0 Name: uv -Version: 0.7.0 +Version: 0.7.1 Release: %autorelease Summary: An extremely fast Python package installer and resolver, written in Rust @@ -665,6 +665,7 @@ skip="${skip-} --skip version::version_get_fallback_unmanaged_short" skip="${skip-} --skip version::version_get_fallback_unmanaged_strict" skip="${skip-} --skip version::version_get_json" skip="${skip-} --skip version::version_get_short" +skip="${skip-} --skip version::version_get_workspace" skip="${skip-} --skip version::version_major_complex_mess" skip="${skip-} --skip version::version_major_dev" skip="${skip-} --skip version::version_major_dry" From 3e18a0ecb322096211bb92a04f98fce261087d54 Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Fri, 9 May 2025 14:43:17 -0400 Subject: [PATCH 024/214] Update to 0.7.2 --- .gitignore | 1 + sources | 2 +- uv.spec | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index ea90eb1..a168774 100644 --- a/.gitignore +++ b/.gitignore @@ -107,3 +107,4 @@ /pubgrub-a3b4db3abb1829ce889fb89fa6d157fef529ef7e.tar.gz /uv-0.7.0.tar.gz /uv-0.7.1.tar.gz +/uv-0.7.2.tar.gz diff --git a/sources b/sources index 8e410b2..704b8a1 100644 --- a/sources +++ b/sources @@ -1,4 +1,4 @@ -SHA512 (uv-0.7.1.tar.gz) = 0dd90e84aa798b7ad5e6c28c42648594f4d35f7f05d93e184a3a6eb14881260b6483b43e715d342deb26dd8d7f2e19a412a5bd17705b87c5942a6e1990505f9f +SHA512 (uv-0.7.2.tar.gz) = 6895100911361f3a9a2bb463a9cf62ff598f1af3046dc7aacce442f5728778b45e42da8553a7d479013b2ae6e8517a6061531ae78b1398b38199a3b0237c4272 SHA512 (rs-async-zip-c909fda63fcafe4af496a07bfda28a5aae97e58d.tar.gz) = 3a309566f4925b02496fcf19bc2865968edf6fb65082ca4079d2cee79e6b0353a1910c079f2afe656da0d0f6ddde5102052a221ea35a7dabc6d690a11218b20a SHA512 (pubgrub-a3b4db3abb1829ce889fb89fa6d157fef529ef7e.tar.gz) = 3e434326040445b836bbbb5e3af186a480198cae3d9b3bc78fa1e8c7f78b558ef15de88c6c941d25ada6be80ca7bb5cf1e1c10647b3e991aeb44cb58acccff35 SHA512 (tl-6e25b2ee2513d75385101a8ff9f591ef51f314ec.tar.gz) = 4abbc4240ed129c92da8d616e27a6df0f24cdc85a0803acfdae588ca91f9e5b8d482e3ac88b2e657ff68917b1b43cef1e7ef3c887f624659b231fa5a13fcae68 diff --git a/uv.spec b/uv.spec index 038f0a0..661ac4e 100644 --- a/uv.spec +++ b/uv.spec @@ -14,7 +14,7 @@ %bcond it 0 Name: uv -Version: 0.7.1 +Version: 0.7.2 Release: %autorelease Summary: An extremely fast Python package installer and resolver, written in Rust From f1cc2538f638dc726127ea45b44e0d42abccb3d9 Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Fri, 9 May 2025 19:48:14 -0400 Subject: [PATCH 025/214] Update to 0.7.3 --- .gitignore | 1 + sources | 2 +- uv.spec | 62 ++++++++++++++++++++++++++++++++++++------------------ 3 files changed, 44 insertions(+), 21 deletions(-) diff --git a/.gitignore b/.gitignore index a168774..29fc383 100644 --- a/.gitignore +++ b/.gitignore @@ -108,3 +108,4 @@ /uv-0.7.0.tar.gz /uv-0.7.1.tar.gz /uv-0.7.2.tar.gz +/uv-0.7.3.tar.gz diff --git a/sources b/sources index 704b8a1..65df8c4 100644 --- a/sources +++ b/sources @@ -1,4 +1,4 @@ -SHA512 (uv-0.7.2.tar.gz) = 6895100911361f3a9a2bb463a9cf62ff598f1af3046dc7aacce442f5728778b45e42da8553a7d479013b2ae6e8517a6061531ae78b1398b38199a3b0237c4272 +SHA512 (uv-0.7.3.tar.gz) = bd6db26be61b072f60ee82522d9edeb6a80104d52ba92f30b50d34bfe2ff3c9b27e40081c289ae6a73d9e4ca288c392a95fb4843c9ef1726da3d55c558469d70 SHA512 (rs-async-zip-c909fda63fcafe4af496a07bfda28a5aae97e58d.tar.gz) = 3a309566f4925b02496fcf19bc2865968edf6fb65082ca4079d2cee79e6b0353a1910c079f2afe656da0d0f6ddde5102052a221ea35a7dabc6d690a11218b20a SHA512 (pubgrub-a3b4db3abb1829ce889fb89fa6d157fef529ef7e.tar.gz) = 3e434326040445b836bbbb5e3af186a480198cae3d9b3bc78fa1e8c7f78b558ef15de88c6c941d25ada6be80ca7bb5cf1e1c10647b3e991aeb44cb58acccff35 SHA512 (tl-6e25b2ee2513d75385101a8ff9f591ef51f314ec.tar.gz) = 4abbc4240ed129c92da8d616e27a6df0f24cdc85a0803acfdae588ca91f9e5b8d482e3ac88b2e657ff68917b1b43cef1e7ef3c887f624659b231fa5a13fcae68 diff --git a/uv.spec b/uv.spec index 661ac4e..52f6e42 100644 --- a/uv.spec +++ b/uv.spec @@ -14,7 +14,7 @@ %bcond it 0 Name: uv -Version: 0.7.2 +Version: 0.7.3 Release: %autorelease Summary: An extremely fast Python package installer and resolver, written in Rust @@ -495,31 +495,34 @@ tomcli set Cargo.toml append workspace.exclude crates/uv-bench # do without. tomcli set Cargo.toml append workspace.exclude crates/uv-dev -# Do not request static linking of liblzma – not even when the performance -# feature is enabled. -tomcli set crates/uv-extract/Cargo.toml lists delitem \ - features.performance 'xz2/static' +# Do not request static linking of anything (particularly, liblzma) +tomcli set crates/uv/Cargo.toml lists delitem \ + features.default 'uv-distribution/static' +tomcli set crates/uv-distribution/Cargo.toml del features.static +tomcli set crates/uv-extract/Cargo.toml del features.static # Disable several default features that control which tests are compiled and # executed, and which are not usable in offline builds: # -# ”Introduces a dependency on managed Python installations.” -# (These are pre-compiled Pythons downloaded from the Internet.) -tomcli set crates/uv/Cargo.toml lists delitem features.default 'python-managed' +# - crates-io: Introduces a testing dependency on crates.io. +# - git: Introduces a testing dependency on Git. This sounds innocuous – we +# have git! – but in fact, it controls tests of git dependencies, which +# implies accessing remote repositories, e.g. on GitHub. +# - pypi: Introduces a testing dependency on PyPI. +# - python-managed: Introduces a testing dependency on managed Python +# installations. (These are pre-compiled Pythons downloaded from the +# Internet.) # -# ”Introduces a dependency on PyPI.” -tomcli set crates/uv/Cargo.toml lists delitem features.default 'pypi' +# These are OK: +# - python: Introduces a testing dependency on a local Python installation. +# - slow-tests: Include "slow" test cases. +# - test-ecosystem: Includes test cases that require ecosystem packages # -# ”Introduces a dependency on Git.” -# This sounds innocuous – we have git! – but in fact, it controls tests of git -# dependencies, which implies accessing remote repositories, e.g. on GitHub. -tomcli set crates/uv/Cargo.toml lists delitem features.default 'git' -# -# ”Introduces a dependency on crates.io.” -tomcli set crates/uv/Cargo.toml lists delitem features.default 'crates-io' # Note that the python-patch feature, which ”introduces a dependency on a local # Python installation with specific patch versions,” is already not among the # default features. +tomcli set crates/uv/Cargo.toml lists delitem features.default-tests \ + '(crates-io|git|pypi|python-managed)' %if %{without it} # Integration tests (it crate) nearly all require specific Python interpreter @@ -645,9 +648,9 @@ skip="${skip-} --skip keyring::tests::fetch_url_with_empty_username" skip="${skip-} --skip keyring::tests::fetch_url_with_no_username" skip="${skip-} --skip keyring::tests::fetch_url_with_password" -# These tests require specific Python interpreter versions (down to patch -# release number), which upstream normally downloads, precompiled, into the -# build area; they might also require network access. +# These tests require specific Python interpreter versions, which upstream +# normally downloads, precompiled, into the build area; they might also require +# network access. # -p uv --test it: skip="${skip-} --skip version::self_version" skip="${skip-} --skip version::self_version_json" @@ -709,6 +712,25 @@ skip="${skip-} --skip help::help_with_no_pager" # default trace dispatcher has already been set") skip="${skip-} --skip middleware::tests::test_tracing_url" +# Upstream is trying to ensure platform-independent byte-for-byte deterministic +# wheels. This isn’t quite working out. It would be nice to understand this, +# but this kind of reproducibility can be brittle, and there are many possible +# innocuous reasons behind it. +# ---- tests::built_by_uv_building stdout ---- +# ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Snapshot Summary ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +# Snapshot: built_by_uv_building-6 +# Source: crates/uv-build-backend/src/lib.rs:516 +# ──────────────────────────────────────────────────────────────────────────────── +# Expression: format!("{:x}", sha2::Sha256::digest(&index_wheel_contents)) +# ──────────────────────────────────────────────────────────────────────────────── +# -old snapshot +# +new results +# ────────────┬─────────────────────────────────────────────────────────────────── +# 0 │-ac3f68ac448023bca26de689d80401bff57f764396ae802bf4666234740ffbe3 +# 0 │+7ba9bfcaf3c0354c2cb8578922a00726b1ff6bdfa85fcb738bd45978fa86fd0a +# ────────────┴─────────────────────────────────────────────────────────────────── +skip="${skip-} --skip tests::built_by_uv_building" + %cargo_test -- -- --exact ${skip-} %endif From ad45d891f49af63c5dee37e91edcb49c6d8b76d9 Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Thu, 15 May 2025 20:25:55 -0400 Subject: [PATCH 026/214] Update to 0.7.4 --- .gitignore | 2 ++ sources | 4 ++-- uv.spec | 6 +++--- 3 files changed, 7 insertions(+), 5 deletions(-) diff --git a/.gitignore b/.gitignore index 29fc383..09f94d4 100644 --- a/.gitignore +++ b/.gitignore @@ -109,3 +109,5 @@ /uv-0.7.1.tar.gz /uv-0.7.2.tar.gz /uv-0.7.3.tar.gz +/uv-0.7.4.tar.gz +/pubgrub-73d6ecf5a4e4eb1c754b8c3255c4d31bdc266fdb.tar.gz diff --git a/sources b/sources index 65df8c4..d6de368 100644 --- a/sources +++ b/sources @@ -1,4 +1,4 @@ -SHA512 (uv-0.7.3.tar.gz) = bd6db26be61b072f60ee82522d9edeb6a80104d52ba92f30b50d34bfe2ff3c9b27e40081c289ae6a73d9e4ca288c392a95fb4843c9ef1726da3d55c558469d70 +SHA512 (uv-0.7.4.tar.gz) = fd6843eea391e9ae60d2af70747a765ffcb03b3c4ca0c8c7d0115085b87cd3f8d683f58a14665a8d133eb99361de60784730c53bbbbf98c750ac647733055827 SHA512 (rs-async-zip-c909fda63fcafe4af496a07bfda28a5aae97e58d.tar.gz) = 3a309566f4925b02496fcf19bc2865968edf6fb65082ca4079d2cee79e6b0353a1910c079f2afe656da0d0f6ddde5102052a221ea35a7dabc6d690a11218b20a -SHA512 (pubgrub-a3b4db3abb1829ce889fb89fa6d157fef529ef7e.tar.gz) = 3e434326040445b836bbbb5e3af186a480198cae3d9b3bc78fa1e8c7f78b558ef15de88c6c941d25ada6be80ca7bb5cf1e1c10647b3e991aeb44cb58acccff35 +SHA512 (pubgrub-73d6ecf5a4e4eb1c754b8c3255c4d31bdc266fdb.tar.gz) = 42b1f5d6f075579d78a1231c27d9c25c4d79b7097746adee8281021916a085abc7a86c848ada03819acd5b09dccbf6106497be5ed09e56218e7f5206c0ad893a SHA512 (tl-6e25b2ee2513d75385101a8ff9f591ef51f314ec.tar.gz) = 4abbc4240ed129c92da8d616e27a6df0f24cdc85a0803acfdae588ca91f9e5b8d482e3ac88b2e657ff68917b1b43cef1e7ef3c887f624659b231fa5a13fcae68 diff --git a/uv.spec b/uv.spec index 52f6e42..195716b 100644 --- a/uv.spec +++ b/uv.spec @@ -14,7 +14,7 @@ %bcond it 0 Name: uv -Version: 0.7.3 +Version: 0.7.4 Release: %autorelease Summary: An extremely fast Python package installer and resolver, written in Rust @@ -161,9 +161,9 @@ Source100: %{async_zip_git}/archive/%{async_zip_rev}/rs-async-zip-%{async_z # We therefore bundle the fork as prescribed in # https://docs.fedoraproject.org/en-US/packaging-guidelines/Rust/#_replacing_git_dependencies %global pubgrub_git https://github.com/astral-sh/pubgrub -%global pubgrub_rev a3b4db3abb1829ce889fb89fa6d157fef529ef7e +%global pubgrub_rev 73d6ecf5a4e4eb1c754b8c3255c4d31bdc266fdb %global pubgrub_baseversion 0.3.0 -%global pubgrub_snapdate 20250423 +%global pubgrub_snapdate 20250509 %global version_ranges_baseversion 0.1.1 Source200: %{pubgrub_git}/archive/%{pubgrub_rev}/pubgrub-%{pubgrub_rev}.tar.gz From de03096adb40bcb85d0d359c8812bf50996d170c Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Sat, 17 May 2025 07:17:54 -0400 Subject: [PATCH 027/214] Update to 0.7.5 (close RHBZ#2362372) --- .gitignore | 1 + sources | 2 +- uv.spec | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 09f94d4..6be35a0 100644 --- a/.gitignore +++ b/.gitignore @@ -111,3 +111,4 @@ /uv-0.7.3.tar.gz /uv-0.7.4.tar.gz /pubgrub-73d6ecf5a4e4eb1c754b8c3255c4d31bdc266fdb.tar.gz +/uv-0.7.5.tar.gz diff --git a/sources b/sources index d6de368..5bf178f 100644 --- a/sources +++ b/sources @@ -1,4 +1,4 @@ -SHA512 (uv-0.7.4.tar.gz) = fd6843eea391e9ae60d2af70747a765ffcb03b3c4ca0c8c7d0115085b87cd3f8d683f58a14665a8d133eb99361de60784730c53bbbbf98c750ac647733055827 +SHA512 (uv-0.7.5.tar.gz) = 62da69710fa91f60c661d3648e2577fb4d28a3dbfb6800b0315dd1ef5ad755500a732efe6400b4de7b644c2cb595c080414e7b6890f96555a0d3a3131a3b8c73 SHA512 (rs-async-zip-c909fda63fcafe4af496a07bfda28a5aae97e58d.tar.gz) = 3a309566f4925b02496fcf19bc2865968edf6fb65082ca4079d2cee79e6b0353a1910c079f2afe656da0d0f6ddde5102052a221ea35a7dabc6d690a11218b20a SHA512 (pubgrub-73d6ecf5a4e4eb1c754b8c3255c4d31bdc266fdb.tar.gz) = 42b1f5d6f075579d78a1231c27d9c25c4d79b7097746adee8281021916a085abc7a86c848ada03819acd5b09dccbf6106497be5ed09e56218e7f5206c0ad893a SHA512 (tl-6e25b2ee2513d75385101a8ff9f591ef51f314ec.tar.gz) = 4abbc4240ed129c92da8d616e27a6df0f24cdc85a0803acfdae588ca91f9e5b8d482e3ac88b2e657ff68917b1b43cef1e7ef3c887f624659b231fa5a13fcae68 diff --git a/uv.spec b/uv.spec index 195716b..84e8dc2 100644 --- a/uv.spec +++ b/uv.spec @@ -14,7 +14,7 @@ %bcond it 0 Name: uv -Version: 0.7.4 +Version: 0.7.5 Release: %autorelease Summary: An extremely fast Python package installer and resolver, written in Rust From 362adc21873b05481ac18db35941d296a2c2d1fa Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Tue, 20 May 2025 05:49:05 -0400 Subject: [PATCH 028/214] Update to 0.7.6 (close RHBZ#2367417) --- .gitignore | 1 + sources | 2 +- uv.spec | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 6be35a0..0712a6f 100644 --- a/.gitignore +++ b/.gitignore @@ -112,3 +112,4 @@ /uv-0.7.4.tar.gz /pubgrub-73d6ecf5a4e4eb1c754b8c3255c4d31bdc266fdb.tar.gz /uv-0.7.5.tar.gz +/uv-0.7.6.tar.gz diff --git a/sources b/sources index 5bf178f..a54349b 100644 --- a/sources +++ b/sources @@ -1,4 +1,4 @@ -SHA512 (uv-0.7.5.tar.gz) = 62da69710fa91f60c661d3648e2577fb4d28a3dbfb6800b0315dd1ef5ad755500a732efe6400b4de7b644c2cb595c080414e7b6890f96555a0d3a3131a3b8c73 +SHA512 (uv-0.7.6.tar.gz) = dad58684bdd1e092da8cbf75282d436dc802e7344afa8c2d787b101c5043cc2c02b4a14d8cce071f3d1b2d45095c80381911b00879e99ec66dcfc427257a67ce SHA512 (rs-async-zip-c909fda63fcafe4af496a07bfda28a5aae97e58d.tar.gz) = 3a309566f4925b02496fcf19bc2865968edf6fb65082ca4079d2cee79e6b0353a1910c079f2afe656da0d0f6ddde5102052a221ea35a7dabc6d690a11218b20a SHA512 (pubgrub-73d6ecf5a4e4eb1c754b8c3255c4d31bdc266fdb.tar.gz) = 42b1f5d6f075579d78a1231c27d9c25c4d79b7097746adee8281021916a085abc7a86c848ada03819acd5b09dccbf6106497be5ed09e56218e7f5206c0ad893a SHA512 (tl-6e25b2ee2513d75385101a8ff9f591ef51f314ec.tar.gz) = 4abbc4240ed129c92da8d616e27a6df0f24cdc85a0803acfdae588ca91f9e5b8d482e3ac88b2e657ff68917b1b43cef1e7ef3c887f624659b231fa5a13fcae68 diff --git a/uv.spec b/uv.spec index 84e8dc2..bec3223 100644 --- a/uv.spec +++ b/uv.spec @@ -14,7 +14,7 @@ %bcond it 0 Name: uv -Version: 0.7.5 +Version: 0.7.6 Release: %autorelease Summary: An extremely fast Python package installer and resolver, written in Rust From d262321d32022def9ec7a3dec4198c92ea806195 Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Sat, 24 May 2025 20:28:23 -0400 Subject: [PATCH 029/214] Update to 0.7.8 (close RHBZ#2368123) --- .gitignore | 2 ++ sources | 4 ++-- uv.spec | 8 +++++--- 3 files changed, 9 insertions(+), 5 deletions(-) diff --git a/.gitignore b/.gitignore index 0712a6f..51befad 100644 --- a/.gitignore +++ b/.gitignore @@ -113,3 +113,5 @@ /pubgrub-73d6ecf5a4e4eb1c754b8c3255c4d31bdc266fdb.tar.gz /uv-0.7.5.tar.gz /uv-0.7.6.tar.gz +/uv-0.7.8.tar.gz +/pubgrub-06ec5a5f59ffaeb6cf5079c6cb184467da06c9db.tar.gz diff --git a/sources b/sources index a54349b..c4c6209 100644 --- a/sources +++ b/sources @@ -1,4 +1,4 @@ -SHA512 (uv-0.7.6.tar.gz) = dad58684bdd1e092da8cbf75282d436dc802e7344afa8c2d787b101c5043cc2c02b4a14d8cce071f3d1b2d45095c80381911b00879e99ec66dcfc427257a67ce +SHA512 (uv-0.7.8.tar.gz) = 109821612a9a07bf0fdadcc942893a8e024ef828f22f25b5d3f2a10088882892cb84a8b1e37874e7346c9a0815dcd15cb736a2a768ff525c6198482fe7aba3ff SHA512 (rs-async-zip-c909fda63fcafe4af496a07bfda28a5aae97e58d.tar.gz) = 3a309566f4925b02496fcf19bc2865968edf6fb65082ca4079d2cee79e6b0353a1910c079f2afe656da0d0f6ddde5102052a221ea35a7dabc6d690a11218b20a -SHA512 (pubgrub-73d6ecf5a4e4eb1c754b8c3255c4d31bdc266fdb.tar.gz) = 42b1f5d6f075579d78a1231c27d9c25c4d79b7097746adee8281021916a085abc7a86c848ada03819acd5b09dccbf6106497be5ed09e56218e7f5206c0ad893a +SHA512 (pubgrub-06ec5a5f59ffaeb6cf5079c6cb184467da06c9db.tar.gz) = 3f0b18aecbc73fee91fc7de9f10d240ddc06c836fa2f116c1f007dd7818d099e6aea1852ca0b8d1a26ac19aac896535dba1a6298851a65515b553810c6245784 SHA512 (tl-6e25b2ee2513d75385101a8ff9f591ef51f314ec.tar.gz) = 4abbc4240ed129c92da8d616e27a6df0f24cdc85a0803acfdae588ca91f9e5b8d482e3ac88b2e657ff68917b1b43cef1e7ef3c887f624659b231fa5a13fcae68 diff --git a/uv.spec b/uv.spec index bec3223..4de941c 100644 --- a/uv.spec +++ b/uv.spec @@ -14,7 +14,7 @@ %bcond it 0 Name: uv -Version: 0.7.6 +Version: 0.7.8 Release: %autorelease Summary: An extremely fast Python package installer and resolver, written in Rust @@ -161,9 +161,9 @@ Source100: %{async_zip_git}/archive/%{async_zip_rev}/rs-async-zip-%{async_z # We therefore bundle the fork as prescribed in # https://docs.fedoraproject.org/en-US/packaging-guidelines/Rust/#_replacing_git_dependencies %global pubgrub_git https://github.com/astral-sh/pubgrub -%global pubgrub_rev 73d6ecf5a4e4eb1c754b8c3255c4d31bdc266fdb +%global pubgrub_rev 06ec5a5f59ffaeb6cf5079c6cb184467da06c9db %global pubgrub_baseversion 0.3.0 -%global pubgrub_snapdate 20250509 +%global pubgrub_snapdate 20250523 %global version_ranges_baseversion 0.1.1 Source200: %{pubgrub_git}/archive/%{pubgrub_rev}/pubgrub-%{pubgrub_rev}.tar.gz @@ -680,9 +680,11 @@ skip="${skip-} --skip version::version_missing_bump" skip="${skip-} --skip version::version_patch_uncompleted" skip="${skip-} --skip version::version_set_dry" skip="${skip-} --skip version::version_set_dynamic" +skip="${skip-} --skip version::version_set_evil_constraints" skip="${skip-} --skip version::version_set_invalid" skip="${skip-} --skip version::version_set_value" skip="${skip-} --skip version::version_set_value_short" +skip="${skip-} --skip version::version_set_workspace" # -p uv-client --test it: skip="${skip-} --skip remote_metadata::remote_metadata_with_and_without_cache" From 9556064c25fcd2a578d818274dbc9d290e8264f9 Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Wed, 28 May 2025 07:49:44 -0400 Subject: [PATCH 030/214] Enable integration tests in Fedora --- 13699.patch | 764 ++++++++++++++++++++++++++++++++++++++++++++++++++++ uv.spec | 59 ++-- 2 files changed, 784 insertions(+), 39 deletions(-) create mode 100644 13699.patch diff --git a/13699.patch b/13699.patch new file mode 100644 index 0000000..80c256d --- /dev/null +++ b/13699.patch @@ -0,0 +1,764 @@ +From 963441aeea8f9f09912d98f6bd2e772af5b39d61 Mon Sep 17 00:00:00 2001 +From: "Benjamin A. Beasley" +Date: Mon, 26 May 2025 08:12:37 -0400 +Subject: [PATCH 1/3] Conditionalize more tests that require PyPI + +--- + crates/uv-client/tests/it/remote_metadata.rs | 1 + + crates/uv/tests/it/branching_urls.rs | 10 ++++++++-- + crates/uv/tests/it/build_backend.rs | 3 +++ + crates/uv/tests/it/pip_check.rs | 3 +++ + crates/uv/tests/it/pip_list.rs | 10 ++++++++++ + crates/uv/tests/it/pip_show.rs | 10 ++++++++++ + crates/uv/tests/it/pip_tree.rs | 19 +++++++++++++++++++ + crates/uv/tests/it/pip_uninstall.rs | 6 ++++++ + crates/uv/tests/it/venv.rs | 2 ++ + crates/uv/tests/it/version.rs | 2 ++ + crates/uv/tests/it/workspace.rs | 14 ++++++++++++++ + 11 files changed, 78 insertions(+), 2 deletions(-) + +diff --git a/crates/uv-client/tests/it/remote_metadata.rs b/crates/uv-client/tests/it/remote_metadata.rs +index 72bc7322238a..95348ffbd4bd 100644 +--- a/crates/uv-client/tests/it/remote_metadata.rs ++++ b/crates/uv-client/tests/it/remote_metadata.rs +@@ -10,6 +10,7 @@ use uv_distribution_types::{BuiltDist, DirectUrlBuiltDist, IndexCapabilities}; + use uv_pep508::VerbatimUrl; + + #[tokio::test] ++#[cfg(feature = "pypi")] + async fn remote_metadata_with_and_without_cache() -> Result<()> { + let cache = Cache::temp()?.init()?; + let client = RegistryClientBuilder::new(cache).build(); +diff --git a/crates/uv/tests/it/branching_urls.rs b/crates/uv/tests/it/branching_urls.rs +index 09c77ef591eb..a02ec0de31d2 100644 +--- a/crates/uv/tests/it/branching_urls.rs ++++ b/crates/uv/tests/it/branching_urls.rs +@@ -14,6 +14,7 @@ use crate::common::{TestContext, make_project, uv_snapshot}; + /// ] + /// ``` + #[test] ++#[cfg(feature = "pypi")] + fn branching_urls_disjoint() -> Result<()> { + let context = TestContext::new("3.12"); + +@@ -47,6 +48,7 @@ fn branching_urls_disjoint() -> Result<()> { + /// ] + /// ``` + #[test] ++#[cfg(feature = "pypi")] + fn branching_urls_overlapping() -> Result<()> { + let context = TestContext::new("3.12"); + +@@ -83,6 +85,7 @@ fn branching_urls_overlapping() -> Result<()> { + /// a -> b -> b2 -> https://../iniconfig-2.0.0-py3-none-any.whl + /// ``` + #[test] ++#[cfg(feature = "pypi")] + fn root_package_splits_but_transitive_conflict() -> Result<()> { + let context = TestContext::new("3.12"); + +@@ -151,6 +154,7 @@ fn root_package_splits_but_transitive_conflict() -> Result<()> { + /// a -> b -> b2 ; python_version >= '3.12' -> https://../iniconfig-2.0.0-py3-none-any.whl + /// ``` + #[test] ++#[cfg(feature = "pypi")] + fn root_package_splits_transitive_too() -> Result<()> { + let context = TestContext::new("3.12"); + +@@ -356,6 +360,7 @@ fn root_package_splits_transitive_too() -> Result<()> { + /// a -> b2 ; python_version >= '3.12' -> iniconfig==2.0.0 + /// ``` + #[test] ++#[cfg(feature = "pypi")] + fn root_package_splits_other_dependencies_too() -> Result<()> { + let context = TestContext::new("3.12"); + +@@ -539,6 +544,7 @@ fn root_package_splits_other_dependencies_too() -> Result<()> { + /// ] + /// ``` + #[test] ++#[cfg(feature = "pypi")] + fn branching_between_registry_and_direct_url() -> Result<()> { + let context = TestContext::new("3.12"); + +@@ -624,7 +630,7 @@ fn branching_between_registry_and_direct_url() -> Result<()> { + /// ] + /// ``` + #[test] +-#[cfg(feature = "git")] ++#[cfg(all(feature = "git", feature = "pypi"))] + fn branching_urls_of_different_sources_disjoint() -> Result<()> { + let context = TestContext::new("3.12"); + +@@ -708,7 +714,7 @@ fn branching_urls_of_different_sources_disjoint() -> Result<()> { + /// ] + /// ``` + #[test] +-#[cfg(feature = "git")] ++#[cfg(all(feature = "git", feature = "pypi"))] + fn branching_urls_of_different_sources_conflict() -> Result<()> { + let context = TestContext::new("3.12"); + +diff --git a/crates/uv/tests/it/build_backend.rs b/crates/uv/tests/it/build_backend.rs +index ee4cde32bbd4..ad3caedcea06 100644 +--- a/crates/uv/tests/it/build_backend.rs ++++ b/crates/uv/tests/it/build_backend.rs +@@ -24,6 +24,7 @@ const BUILT_BY_UV_TEST_SCRIPT: &str = indoc! {r#" + /// + /// We can't test end-to-end here including the PEP 517 bridge code since we don't have a uv wheel. + #[test] ++#[cfg(feature = "pypi")] + fn built_by_uv_direct_wheel() -> Result<()> { + let context = TestContext::new("3.12"); + let built_by_uv = Path::new("../../scripts/packages/built-by-uv"); +@@ -83,6 +84,7 @@ fn built_by_uv_direct_wheel() -> Result<()> { + /// We can't test end-to-end here including the PEP 517 bridge code since we don't have a uv wheel, + /// so we call the build backend directly. + #[test] ++#[cfg(feature = "pypi")] + fn built_by_uv_direct() -> Result<()> { + let context = TestContext::new("3.12"); + let built_by_uv = Path::new("../../scripts/packages/built-by-uv"); +@@ -160,6 +162,7 @@ fn built_by_uv_direct() -> Result<()> { + /// We can't test end-to-end here including the PEP 517 bridge code since we don't have a uv wheel, + /// so we call the build backend directly. + #[test] ++#[cfg(feature = "pypi")] + fn built_by_uv_editable() -> Result<()> { + let context = TestContext::new("3.12"); + let built_by_uv = Path::new("../../scripts/packages/built-by-uv"); +diff --git a/crates/uv/tests/it/pip_check.rs b/crates/uv/tests/it/pip_check.rs +index 891b1f050b58..1af9b6ae9963 100644 +--- a/crates/uv/tests/it/pip_check.rs ++++ b/crates/uv/tests/it/pip_check.rs +@@ -6,6 +6,7 @@ use crate::common::TestContext; + use crate::common::uv_snapshot; + + #[test] ++#[cfg(feature = "pypi")] + fn check_compatible_packages() -> Result<()> { + let context = TestContext::new("3.12"); + +@@ -50,6 +51,7 @@ fn check_compatible_packages() -> Result<()> { + // requests 2.31.0 requires idna (<4,>=2.5) + // this test force-installs idna 2.4 to trigger a failure. + #[test] ++#[cfg(feature = "pypi")] + fn check_incompatible_packages() -> Result<()> { + let context = TestContext::new("3.12"); + +@@ -119,6 +121,7 @@ fn check_incompatible_packages() -> Result<()> { + // this test force-installs idna 2.4 and urllib3 1.20 to trigger a failure + // with multiple incompatible packages. + #[test] ++#[cfg(feature = "pypi")] + fn check_multiple_incompatible_packages() -> Result<()> { + let context = TestContext::new("3.12"); + +diff --git a/crates/uv/tests/it/pip_list.rs b/crates/uv/tests/it/pip_list.rs +index 5c26c03aaecb..ec1f288e68ee 100644 +--- a/crates/uv/tests/it/pip_list.rs ++++ b/crates/uv/tests/it/pip_list.rs +@@ -56,6 +56,7 @@ fn list_empty_json() { + } + + #[test] ++#[cfg(feature = "pypi")] + fn list_single_no_editable() -> Result<()> { + let context = TestContext::new("3.12"); + +@@ -96,6 +97,7 @@ fn list_single_no_editable() -> Result<()> { + } + + #[test] ++#[cfg(feature = "pypi")] + fn list_outdated_columns() -> Result<()> { + let context = TestContext::new("3.12"); + +@@ -136,6 +138,7 @@ fn list_outdated_columns() -> Result<()> { + } + + #[test] ++#[cfg(feature = "pypi")] + fn list_outdated_json() -> Result<()> { + let context = TestContext::new("3.12"); + +@@ -232,6 +235,7 @@ fn list_outdated_git() -> Result<()> { + } + + #[test] ++#[cfg(feature = "pypi")] + fn list_outdated_index() -> Result<()> { + let context = TestContext::new("3.12"); + +@@ -275,6 +279,7 @@ fn list_outdated_index() -> Result<()> { + } + + #[test] ++#[cfg(feature = "pypi")] + fn list_editable() { + let context = TestContext::new("3.12"); + +@@ -320,6 +325,7 @@ fn list_editable() { + } + + #[test] ++#[cfg(feature = "pypi")] + fn list_editable_only() { + let context = TestContext::new("3.12"); + +@@ -394,6 +400,7 @@ fn list_editable_only() { + } + + #[test] ++#[cfg(feature = "pypi")] + fn list_exclude() { + let context = TestContext::new("3.12"); + +@@ -475,6 +482,7 @@ fn list_exclude() { + } + + #[test] ++#[cfg(feature = "pypi")] + #[cfg(not(windows))] + fn list_format_json() { + let context = TestContext::new("3.12"); +@@ -541,6 +549,7 @@ fn list_format_json() { + } + + #[test] ++#[cfg(feature = "pypi")] + fn list_format_freeze() { + let context = TestContext::new("3.12"); + +@@ -706,6 +715,7 @@ Version: 0.1-bulbasaur + } + + #[test] ++#[cfg(feature = "pypi")] + fn list_ignores_quiet_flag_format_freeze() { + let context = TestContext::new("3.12"); + +diff --git a/crates/uv/tests/it/pip_show.rs b/crates/uv/tests/it/pip_show.rs +index 4371b089e8a7..a097e128b65a 100644 +--- a/crates/uv/tests/it/pip_show.rs ++++ b/crates/uv/tests/it/pip_show.rs +@@ -26,6 +26,7 @@ fn show_empty() { + } + + #[test] ++#[cfg(feature = "pypi")] + fn show_requires_multiple() -> Result<()> { + let context = TestContext::new("3.12"); + +@@ -75,6 +76,7 @@ fn show_requires_multiple() -> Result<()> { + /// Asserts that the Python version marker in the metadata is correctly evaluated. + /// `click` v8.1.7 requires `importlib-metadata`, but only when `python_version < "3.8"`. + #[test] ++#[cfg(feature = "pypi")] + fn show_python_version_marker() -> Result<()> { + let context = TestContext::new("3.12"); + +@@ -124,6 +126,7 @@ fn show_python_version_marker() -> Result<()> { + } + + #[test] ++#[cfg(feature = "pypi")] + fn show_found_single_package() -> Result<()> { + let context = TestContext::new("3.12"); + +@@ -168,6 +171,7 @@ fn show_found_single_package() -> Result<()> { + } + + #[test] ++#[cfg(feature = "pypi")] + fn show_found_multiple_packages() -> Result<()> { + let context = TestContext::new("3.12"); + +@@ -224,6 +228,7 @@ fn show_found_multiple_packages() -> Result<()> { + } + + #[test] ++#[cfg(feature = "pypi")] + fn show_found_one_out_of_three() -> Result<()> { + let context = TestContext::new("3.12"); + +@@ -276,6 +281,7 @@ fn show_found_one_out_of_three() -> Result<()> { + } + + #[test] ++#[cfg(feature = "pypi")] + fn show_found_one_out_of_two_quiet() -> Result<()> { + let context = TestContext::new("3.12"); + +@@ -323,6 +329,7 @@ fn show_found_one_out_of_two_quiet() -> Result<()> { + } + + #[test] ++#[cfg(feature = "pypi")] + fn show_empty_quiet() -> Result<()> { + let context = TestContext::new("3.12"); + +@@ -369,6 +376,7 @@ fn show_empty_quiet() -> Result<()> { + } + + #[test] ++#[cfg(feature = "pypi")] + fn show_editable() -> Result<()> { + let context = TestContext::new("3.12"); + +@@ -405,6 +413,7 @@ fn show_editable() -> Result<()> { + } + + #[test] ++#[cfg(feature = "pypi")] + fn show_required_by_multiple() -> Result<()> { + let context = TestContext::new("3.12"); + +@@ -460,6 +469,7 @@ fn show_required_by_multiple() -> Result<()> { + } + + #[test] ++#[cfg(feature = "pypi")] + fn show_files() { + let context = TestContext::new("3.12"); + +diff --git a/crates/uv/tests/it/pip_tree.rs b/crates/uv/tests/it/pip_tree.rs +index 085d2e08d52f..5393c98235f3 100644 +--- a/crates/uv/tests/it/pip_tree.rs ++++ b/crates/uv/tests/it/pip_tree.rs +@@ -26,6 +26,7 @@ fn no_package() { + } + + #[test] ++#[cfg(feature = "pypi")] + fn prune_last_in_the_subgroup() { + let context = TestContext::new("3.12"); + +@@ -69,6 +70,7 @@ fn prune_last_in_the_subgroup() { + } + + #[test] ++#[cfg(feature = "pypi")] + fn single_package() { + let context = TestContext::new("3.12"); + +@@ -114,6 +116,7 @@ fn single_package() { + } + + #[test] ++#[cfg(feature = "pypi")] + fn nested_dependencies() { + let context = TestContext::new("3.12"); + +@@ -163,6 +166,7 @@ fn nested_dependencies() { + + /// Identical test as `invert` since `--reverse` is simply an alias for `--invert`. + #[test] ++#[cfg(feature = "pypi")] + fn reverse() { + let context = TestContext::new("3.12"); + +@@ -214,6 +218,7 @@ fn reverse() { + } + + #[test] ++#[cfg(feature = "pypi")] + fn invert() { + let context = TestContext::new("3.12"); + +@@ -265,6 +270,7 @@ fn invert() { + } + + #[test] ++#[cfg(feature = "pypi")] + fn depth() { + let context = TestContext::new("3.12"); + +@@ -364,6 +370,7 @@ fn depth() { + } + + #[test] ++#[cfg(feature = "pypi")] + fn prune() { + let context = TestContext::new("3.12"); + +@@ -468,6 +475,7 @@ fn prune() { + + /// Ensure `pip tree` behaves correctly after a package has been removed. + #[test] ++#[cfg(feature = "pypi")] + fn removed_dependency() { + let context = TestContext::new("3.12"); + +@@ -523,6 +531,7 @@ fn removed_dependency() { + } + + #[test] ++#[cfg(feature = "pypi")] + fn multiple_packages() { + let context = TestContext::new("3.12"); + +@@ -577,6 +586,7 @@ fn multiple_packages() { + + /// Show the installed tree in the presence of a cycle. + #[test] ++#[cfg(feature = "pypi")] + fn cycle() { + let context = TestContext::new("3.12"); + +@@ -644,6 +654,7 @@ fn cycle() { + + /// Both `pendulum` and `boto3` depend on `python-dateutil`. + #[test] ++#[cfg(feature = "pypi")] + fn multiple_packages_shared_descendant() { + let context = TestContext::new("3.12"); + +@@ -697,6 +708,7 @@ fn multiple_packages_shared_descendant() { + + /// Test the interaction between `--no-dedupe` and `--invert`. + #[test] ++#[cfg(feature = "pypi")] + fn no_dedupe_and_invert() { + let context = TestContext::new("3.12"); + +@@ -749,6 +761,7 @@ fn no_dedupe_and_invert() { + } + + #[test] ++#[cfg(feature = "pypi")] + fn no_dedupe() { + let context = TestContext::new("3.12"); + +@@ -843,6 +856,7 @@ fn with_editable() { + } + + #[test] ++#[cfg(feature = "pypi")] + fn package_flag() { + let context = TestContext::new("3.12"); + +@@ -910,6 +924,7 @@ fn package_flag() { + } + + #[test] ++#[cfg(feature = "pypi")] + fn show_version_specifiers_simple() { + let context = TestContext::new("3.12"); + +@@ -953,6 +968,7 @@ fn show_version_specifiers_simple() { + } + + #[test] ++#[cfg(feature = "pypi")] + fn show_version_specifiers_with_invert() { + let context = TestContext::new("3.12"); + +@@ -1008,6 +1024,7 @@ fn show_version_specifiers_with_invert() { + } + + #[test] ++#[cfg(feature = "pypi")] + fn show_version_specifiers_with_package() { + let context = TestContext::new("3.12"); + +@@ -1055,6 +1072,7 @@ fn show_version_specifiers_with_package() { + } + + #[test] ++#[cfg(feature = "pypi")] + fn print_output_even_with_quite_flag() { + let context = TestContext::new("3.12"); + +@@ -1094,6 +1112,7 @@ fn print_output_even_with_quite_flag() { + } + + #[test] ++#[cfg(feature = "pypi")] + fn outdated() { + let context = TestContext::new("3.12"); + +diff --git a/crates/uv/tests/it/pip_uninstall.rs b/crates/uv/tests/it/pip_uninstall.rs +index 5c820673d663..3c1c0d717da5 100644 +--- a/crates/uv/tests/it/pip_uninstall.rs ++++ b/crates/uv/tests/it/pip_uninstall.rs +@@ -100,6 +100,7 @@ fn invalid_requirements_txt_requirement() -> Result<()> { + } + + #[test] ++#[cfg(feature = "pypi")] + fn uninstall() -> Result<()> { + let context = TestContext::new("3.12"); + +@@ -142,6 +143,7 @@ fn uninstall() -> Result<()> { + } + + #[test] ++#[cfg(feature = "pypi")] + fn missing_record() -> Result<()> { + let context = TestContext::new("3.12"); + +@@ -180,6 +182,7 @@ fn missing_record() -> Result<()> { + } + + #[test] ++#[cfg(feature = "pypi")] + fn uninstall_editable_by_name() -> Result<()> { + let context = TestContext::new("3.12"); + +@@ -228,6 +231,7 @@ fn uninstall_editable_by_name() -> Result<()> { + } + + #[test] ++#[cfg(feature = "pypi")] + fn uninstall_by_path() -> Result<()> { + let context = TestContext::new("3.12"); + +@@ -276,6 +280,7 @@ fn uninstall_by_path() -> Result<()> { + } + + #[test] ++#[cfg(feature = "pypi")] + fn uninstall_duplicate_by_path() -> Result<()> { + let context = TestContext::new("3.12"); + +@@ -326,6 +331,7 @@ fn uninstall_duplicate_by_path() -> Result<()> { + + /// Uninstall a duplicate package in a virtual environment. + #[test] ++#[cfg(feature = "pypi")] + fn uninstall_duplicate() -> Result<()> { + use uv_fs::copy_dir_all; + +diff --git a/crates/uv/tests/it/venv.rs b/crates/uv/tests/it/venv.rs +index d601b2535a9e..7a2367412216 100644 +--- a/crates/uv/tests/it/venv.rs ++++ b/crates/uv/tests/it/venv.rs +@@ -579,6 +579,7 @@ fn create_venv_explicit_request_takes_priority_over_python_version_file() { + } + + #[test] ++#[cfg(feature = "pypi")] + fn seed() { + let context = TestContext::new_with_versions(&["3.12"]); + uv_snapshot!(context.filters(), context.venv() +@@ -602,6 +603,7 @@ fn seed() { + } + + #[test] ++#[cfg(feature = "pypi")] + fn seed_older_python_version() { + let context = TestContext::new_with_versions(&["3.11"]); + uv_snapshot!(context.filters(), context.venv() +diff --git a/crates/uv/tests/it/version.rs b/crates/uv/tests/it/version.rs +index 6ecc38aa3175..1fda427058d8 100644 +--- a/crates/uv/tests/it/version.rs ++++ b/crates/uv/tests/it/version.rs +@@ -1368,6 +1368,7 @@ fn version_get_workspace() -> Result<()> { + /// + /// Also check that --locked/--frozen/--no-sync do what they say + #[test] ++#[cfg(feature = "pypi")] + fn version_set_workspace() -> Result<()> { + let context = TestContext::new("3.12"); + +@@ -1709,6 +1710,7 @@ fn version_set_workspace() -> Result<()> { + /// It would be nice to have a case where we still get a package dependency, but + /// this still demonstrates the non-trivial "hazard" of a version change. + #[test] ++#[cfg(feature = "pypi")] + fn version_set_evil_constraints() -> Result<()> { + let context = TestContext::new("3.12"); + +diff --git a/crates/uv/tests/it/workspace.rs b/crates/uv/tests/it/workspace.rs +index 1b375597ccf8..c52c4a2f198a 100644 +--- a/crates/uv/tests/it/workspace.rs ++++ b/crates/uv/tests/it/workspace.rs +@@ -24,6 +24,7 @@ fn workspaces_dir() -> PathBuf { + } + + #[test] ++#[cfg(feature = "pypi")] + fn test_albatross_in_examples_bird_feeder() { + let context = TestContext::new("3.12"); + let workspace = context.temp_dir.child("workspace"); +@@ -67,6 +68,7 @@ fn test_albatross_in_examples_bird_feeder() { + } + + #[test] ++#[cfg(feature = "pypi")] + fn test_albatross_in_examples() { + let context = TestContext::new("3.12"); + let workspace = context.temp_dir.child("workspace"); +@@ -107,6 +109,7 @@ fn test_albatross_in_examples() { + } + + #[test] ++#[cfg(feature = "pypi")] + fn test_albatross_just_project() { + let context = TestContext::new("3.12"); + let workspace = context.temp_dir.child("workspace"); +@@ -147,6 +150,7 @@ fn test_albatross_just_project() { + } + + #[test] ++#[cfg(feature = "pypi")] + fn test_albatross_project_in_excluded() { + let context = TestContext::new("3.12"); + let workspace = context.temp_dir.child("workspace"); +@@ -222,6 +226,7 @@ fn test_albatross_project_in_excluded() { + } + + #[test] ++#[cfg(feature = "pypi")] + fn test_albatross_root_workspace() { + let context = TestContext::new("3.12"); + let workspace = context.temp_dir.child("workspace"); +@@ -265,6 +270,7 @@ fn test_albatross_root_workspace() { + } + + #[test] ++#[cfg(feature = "pypi")] + fn test_albatross_root_workspace_bird_feeder() { + let context = TestContext::new("3.12"); + let workspace = context.temp_dir.child("workspace"); +@@ -310,6 +316,7 @@ fn test_albatross_root_workspace_bird_feeder() { + } + + #[test] ++#[cfg(feature = "pypi")] + fn test_albatross_root_workspace_albatross() { + let context = TestContext::new("3.12"); + let workspace = context.temp_dir.child("workspace"); +@@ -355,6 +362,7 @@ fn test_albatross_root_workspace_albatross() { + } + + #[test] ++#[cfg(feature = "pypi")] + fn test_albatross_virtual_workspace() { + let context = TestContext::new("3.12"); + let workspace = context.temp_dir.child("workspace"); +@@ -402,6 +410,7 @@ fn test_albatross_virtual_workspace() { + + /// Check that `uv run --package` works in a virtual workspace. + #[test] ++#[cfg(feature = "pypi")] + fn test_uv_run_with_package_virtual_workspace() -> Result<()> { + let context = TestContext::new("3.12"); + let work_dir = context.temp_dir.join("albatross-virtual-workspace"); +@@ -471,6 +480,7 @@ fn test_uv_run_with_package_virtual_workspace() -> Result<()> { + /// Check that `uv run` works from a virtual workspace root, which should sync all packages in the + /// workspace. + #[test] ++#[cfg(feature = "pypi")] + fn test_uv_run_virtual_workspace_root() -> Result<()> { + let context = TestContext::new("3.12"); + let work_dir = context.temp_dir.join("albatross-virtual-workspace"); +@@ -511,6 +521,7 @@ fn test_uv_run_virtual_workspace_root() -> Result<()> { + + /// Check that `uv run --package` works in a root workspace. + #[test] ++#[cfg(feature = "pypi")] + fn test_uv_run_with_package_root_workspace() -> Result<()> { + let context = TestContext::new("3.12"); + let work_dir = context.temp_dir.join("albatross-root-workspace"); +@@ -573,6 +584,7 @@ fn test_uv_run_with_package_root_workspace() -> Result<()> { + + /// Check that `uv run --isolated` creates isolated virtual environments. + #[test] ++#[cfg(feature = "pypi")] + fn test_uv_run_isolate() -> Result<()> { + let context = TestContext::new("3.12"); + let work_dir = context.temp_dir.join("albatross-root-workspace"); +@@ -694,6 +706,7 @@ fn workspace_lock_idempotence(workspace: &str, subdirectories: &[&str]) -> Resul + + /// Check that the resolution is the same no matter where in the workspace we are. + #[test] ++#[cfg(feature = "pypi")] + fn workspace_lock_idempotence_root_workspace() -> Result<()> { + workspace_lock_idempotence( + "albatross-root-workspace", +@@ -705,6 +718,7 @@ fn workspace_lock_idempotence_root_workspace() -> Result<()> { + /// Check that the resolution is the same no matter where in the workspace we are, and that locking + /// works even if there is no root project. + #[test] ++#[cfg(feature = "pypi")] + fn workspace_lock_idempotence_virtual_workspace() -> Result<()> { + workspace_lock_idempotence( + "albatross-virtual-workspace", + +From 951a202905b2b483af6d90ad9953e335bea3fab7 Mon Sep 17 00:00:00 2001 +From: "Benjamin A. Beasley" +Date: Wed, 28 May 2025 08:21:05 -0400 +Subject: [PATCH 2/3] Conditionalize pip_check at the module level + +Also require the python feature for it. +--- + crates/uv/tests/it/main.rs | 1 + + crates/uv/tests/it/pip_check.rs | 3 --- + 2 files changed, 1 insertion(+), 3 deletions(-) + +diff --git a/crates/uv/tests/it/main.rs b/crates/uv/tests/it/main.rs +index 926a3a790815..5daa56a3aed6 100644 +--- a/crates/uv/tests/it/main.rs ++++ b/crates/uv/tests/it/main.rs +@@ -41,6 +41,7 @@ mod lock_scenarios; + + mod version; + ++#[cfg(all(feature = "python", feature = "pypi"))] + mod pip_check; + + #[cfg(all(feature = "python", feature = "pypi"))] +diff --git a/crates/uv/tests/it/pip_check.rs b/crates/uv/tests/it/pip_check.rs +index 1af9b6ae9963..891b1f050b58 100644 +--- a/crates/uv/tests/it/pip_check.rs ++++ b/crates/uv/tests/it/pip_check.rs +@@ -6,7 +6,6 @@ use crate::common::TestContext; + use crate::common::uv_snapshot; + + #[test] +-#[cfg(feature = "pypi")] + fn check_compatible_packages() -> Result<()> { + let context = TestContext::new("3.12"); + +@@ -51,7 +50,6 @@ fn check_compatible_packages() -> Result<()> { + // requests 2.31.0 requires idna (<4,>=2.5) + // this test force-installs idna 2.4 to trigger a failure. + #[test] +-#[cfg(feature = "pypi")] + fn check_incompatible_packages() -> Result<()> { + let context = TestContext::new("3.12"); + +@@ -121,7 +119,6 @@ fn check_incompatible_packages() -> Result<()> { + // this test force-installs idna 2.4 and urllib3 1.20 to trigger a failure + // with multiple incompatible packages. + #[test] +-#[cfg(feature = "pypi")] + fn check_multiple_incompatible_packages() -> Result<()> { + let context = TestContext::new("3.12"); + + +From 75a95f8447c5c027f80fc928e9e803d125d12585 Mon Sep 17 00:00:00 2001 +From: "Benjamin A. Beasley" +Date: Wed, 28 May 2025 08:27:45 -0400 +Subject: [PATCH 3/3] Fix incorrect application of the pypi feature outside the + uv crate + +--- + crates/uv-client/tests/it/remote_metadata.rs | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/crates/uv-client/tests/it/remote_metadata.rs b/crates/uv-client/tests/it/remote_metadata.rs +index 95348ffbd4bd..72bc7322238a 100644 +--- a/crates/uv-client/tests/it/remote_metadata.rs ++++ b/crates/uv-client/tests/it/remote_metadata.rs +@@ -10,7 +10,6 @@ use uv_distribution_types::{BuiltDist, DirectUrlBuiltDist, IndexCapabilities}; + use uv_pep508::VerbatimUrl; + + #[tokio::test] +-#[cfg(feature = "pypi")] + async fn remote_metadata_with_and_without_cache() -> Result<()> { + let cache = Cache::temp()?.init()?; + let client = RegistryClientBuilder::new(cache).build(); diff --git a/uv.spec b/uv.spec index 4de941c..d85beae 100644 --- a/uv.spec +++ b/uv.spec @@ -5,13 +5,10 @@ # confidence that everything works correctly in an environment that only has # the main system Python. # -# For the time being, these are still disabled since many of them still want -# network access, even when features like pypi and crates-io are removed from -# the default features. We should discuss this with upstream and consider -# offering a PR to conditionalize the affected tests. See -# https://src.fedoraproject.org/rpms/uv/pull-request/18#comment-229365 and -# https://github.com/astral-sh/uv/issues/8970#issuecomment-2466794088. -%bcond it 0 +# EPEL10 does not have alternative versions of Python, so we cannot run most of +# the integration tests there, and manually selecting those we can run would be +# far too tedious. +%bcond it %{undefined el10} Name: uv Version: 0.7.8 @@ -198,6 +195,10 @@ Patch: 0001-Downstream-only-do-not-override-the-default-allocato.patch # https://github.com/astral-sh/uv/issues/4451 Patch: 0001-Downstream-patch-always-find-the-system-wide-uv-exec.patch +# Conditionalize more tests that require PyPI +# https://github.com/astral-sh/uv/pull/13699 +Patch: %{url}/pull/13699.patch + # Update sanitize-filename requirement from 0.5 to 0.6 Patch100: https://github.com/Majored/rs-async-zip/pull/153.patch @@ -229,7 +230,10 @@ BuildRequires: tomcli BuildRequires: python3-devel %if %{with check} && %{with it} # See trove classifiers in pyproject.toml for supported Pythons. +%if %{defined fc41} +# https://fedoraproject.org/wiki/Changes/RetirePython3.8 BuildRequires: /usr/bin/python3.8 +%endif BuildRequires: /usr/bin/python3.9 BuildRequires: /usr/bin/python3.10 BuildRequires: /usr/bin/python3.11 @@ -536,6 +540,7 @@ mods="${mods-}${mods+|}build_backend" mods="${mods-}${mods+|}pip_(check|list|show|tree|uninstall)" mods="${mods-}${mods+|}python_(dir|find|install|list|pin)" mods="${mods-}${mods+|}venv" +mods="${mods-}${mods+|}version" mods="${mods-}${mods+|}workspace" comment='Downstream-only: skip, needs specific Python interpreter versions' sed -r -i "s@mod (${mods});@// ${comment}\n#[cfg(any())]\n&@" \ @@ -648,44 +653,20 @@ skip="${skip-} --skip keyring::tests::fetch_url_with_empty_username" skip="${skip-} --skip keyring::tests::fetch_url_with_no_username" skip="${skip-} --skip keyring::tests::fetch_url_with_password" +%if %{without it} # These tests require specific Python interpreter versions, which upstream -# normally downloads, precompiled, into the build area; they might also require -# network access. +# normally downloads, precompiled, into the build area. # -p uv --test it: skip="${skip-} --skip version::self_version" skip="${skip-} --skip version::self_version_json" skip="${skip-} --skip version::self_version_short" -skip="${skip-} --skip version::version_bump_minor" -skip="${skip-} --skip version::version_bump_patch" -skip="${skip-} --skip version::version_bump_patch_short" -skip="${skip-} --skip version::version_get" -skip="${skip-} --skip version::version_get_dynamic" -skip="${skip-} --skip version::version_get_fallback_missing_strict" -skip="${skip-} --skip version::version_get_fallback_missing_strict_preview" -skip="${skip-} --skip version::version_get_fallback_unmanaged" -skip="${skip-} --skip version::version_get_fallback_unmanaged_json" -skip="${skip-} --skip version::version_get_fallback_unmanaged_short" -skip="${skip-} --skip version::version_get_fallback_unmanaged_strict" -skip="${skip-} --skip version::version_get_json" -skip="${skip-} --skip version::version_get_short" -skip="${skip-} --skip version::version_get_workspace" -skip="${skip-} --skip version::version_major_complex_mess" -skip="${skip-} --skip version::version_major_dev" -skip="${skip-} --skip version::version_major_dry" -skip="${skip-} --skip version::version_major_post" -skip="${skip-} --skip version::version_major_uncompleted" -skip="${skip-} --skip version::version_major_version" -skip="${skip-} --skip version::version_minor_uncompleted" -skip="${skip-} --skip version::version_missing_bump" -skip="${skip-} --skip version::version_patch_uncompleted" -skip="${skip-} --skip version::version_set_dry" -skip="${skip-} --skip version::version_set_dynamic" -skip="${skip-} --skip version::version_set_evil_constraints" -skip="${skip-} --skip version::version_set_invalid" -skip="${skip-} --skip version::version_set_value" -skip="${skip-} --skip version::version_set_value_short" -skip="${skip-} --skip version::version_set_workspace" +%endif # -p uv-client --test it: +# This requires specific Python interpreter versions (so it would be grouped +# with the conditionalized integration tests above), but it also requires +# network access to PyPI, so it must be skipped either way until it can be +# appropriately conditionalized upstream; see +# https://github.com/astral-sh/uv/pull/13699#issuecomment-2916115588. skip="${skip-} --skip remote_metadata::remote_metadata_with_and_without_cache" %if %[ %{defined fc41} || %{defined fc40} || %{defined el10} || %{defined el9} ] From 771ab067c7152a82dee462e149e5c8d49543a6aa Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Wed, 28 May 2025 14:29:31 -0400 Subject: [PATCH 031/214] No longer need to skip several `help::*` tests MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Upstream’s expected output has caught up. --- uv.spec | 11 ----------- 1 file changed, 11 deletions(-) diff --git a/uv.spec b/uv.spec index d85beae..f64311a 100644 --- a/uv.spec +++ b/uv.spec @@ -677,17 +677,6 @@ skip="${skip-} --skip lock::tests::missing_dependency_source_version_unambiguous skip="${skip-} --skip lock::tests::missing_dependency_version_unambiguous" %endif -# Trivial differences in --help output formatting (whitespace) -skip="${skip-} --skip help::help" -skip="${skip-} --skip help::help_flag" -skip="${skip-} --skip help::help_flag_subcommand" -skip="${skip-} --skip help::help_flag_subsubcommand" -skip="${skip-} --skip help::help_short_flag" -skip="${skip-} --skip help::help_subcommand" -skip="${skip-} --skip help::help_subsubcommand" -skip="${skip-} --skip help::help_with_global_option" -skip="${skip-} --skip help::help_with_no_pager" - # TODO: What’s going wrong here? It doesn’t seem serious… # thread 'middleware::tests::test_tracing_url' panicked at # crates/uv-auth/src/middleware.rs:2095:5: From b904243dfefafbc438067a4aceb14fad326ff49e Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Thu, 29 May 2025 07:42:25 -0400 Subject: [PATCH 032/214] Skip python_list::python_list_downloads on less-common architectures --- uv.spec | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/uv.spec b/uv.spec index f64311a..b7e81fb 100644 --- a/uv.spec +++ b/uv.spec @@ -660,6 +660,12 @@ skip="${skip-} --skip keyring::tests::fetch_url_with_password" skip="${skip-} --skip version::self_version" skip="${skip-} --skip version::self_version_json" skip="${skip-} --skip version::self_version_short" +%else +%ifnarch %{x86_64} %{arm64} +# On other architectures, the list of available downloads differs, e.g. pypy +# and graalpy downloads may be missing. +skip="${skip-} --skip python_list::python_list_downloads" +%endif %endif # -p uv-client --test it: # This requires specific Python interpreter versions (so it would be grouped From b5e21fe30eeedbf615fe979d82ea7fc084211dee Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Fri, 30 May 2025 17:36:56 -0400 Subject: [PATCH 033/214] Update to 0.7.9 (close RHBZ#2369514) --- .gitignore | 1 + 13699.patch | 20 ++++++++++---------- sources | 2 +- uv.spec | 2 +- 4 files changed, 13 insertions(+), 12 deletions(-) diff --git a/.gitignore b/.gitignore index 51befad..a53d5ac 100644 --- a/.gitignore +++ b/.gitignore @@ -115,3 +115,4 @@ /uv-0.7.6.tar.gz /uv-0.7.8.tar.gz /pubgrub-06ec5a5f59ffaeb6cf5079c6cb184467da06c9db.tar.gz +/uv-0.7.9.tar.gz diff --git a/13699.patch b/13699.patch index 80c256d..ebc8740 100644 --- a/13699.patch +++ b/13699.patch @@ -1,4 +1,4 @@ -From 963441aeea8f9f09912d98f6bd2e772af5b39d61 Mon Sep 17 00:00:00 2001 +From 2b19a7446d6f502651b181461e69b7c0a889bbbb Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Mon, 26 May 2025 08:12:37 -0400 Subject: [PATCH 1/3] Conditionalize more tests that require PyPI @@ -18,11 +18,11 @@ Subject: [PATCH 1/3] Conditionalize more tests that require PyPI 11 files changed, 78 insertions(+), 2 deletions(-) diff --git a/crates/uv-client/tests/it/remote_metadata.rs b/crates/uv-client/tests/it/remote_metadata.rs -index 72bc7322238a..95348ffbd4bd 100644 +index 1dbdf1badd11..1bbce6ab8588 100644 --- a/crates/uv-client/tests/it/remote_metadata.rs +++ b/crates/uv-client/tests/it/remote_metadata.rs -@@ -10,6 +10,7 @@ use uv_distribution_types::{BuiltDist, DirectUrlBuiltDist, IndexCapabilities}; - use uv_pep508::VerbatimUrl; +@@ -10,6 +10,7 @@ use uv_pep508::VerbatimUrl; + use uv_redacted::DisplaySafeUrl; #[tokio::test] +#[cfg(feature = "pypi")] @@ -532,7 +532,7 @@ index 5c820673d663..3c1c0d717da5 100644 use uv_fs::copy_dir_all; diff --git a/crates/uv/tests/it/venv.rs b/crates/uv/tests/it/venv.rs -index d601b2535a9e..7a2367412216 100644 +index 54c528d0eca7..1d9eb5721b20 100644 --- a/crates/uv/tests/it/venv.rs +++ b/crates/uv/tests/it/venv.rs @@ -579,6 +579,7 @@ fn create_venv_explicit_request_takes_priority_over_python_version_file() { @@ -688,7 +688,7 @@ index 1b375597ccf8..c52c4a2f198a 100644 workspace_lock_idempotence( "albatross-virtual-workspace", -From 951a202905b2b483af6d90ad9953e335bea3fab7 Mon Sep 17 00:00:00 2001 +From d62ca447187b525609c55f666ddfeef5cd208818 Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Wed, 28 May 2025 08:21:05 -0400 Subject: [PATCH 2/3] Conditionalize pip_check at the module level @@ -740,7 +740,7 @@ index 1af9b6ae9963..891b1f050b58 100644 let context = TestContext::new("3.12"); -From 75a95f8447c5c027f80fc928e9e803d125d12585 Mon Sep 17 00:00:00 2001 +From 2d77f60b929f3f97d1e8502d7bee22502dfb8b7c Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Wed, 28 May 2025 08:27:45 -0400 Subject: [PATCH 3/3] Fix incorrect application of the pypi feature outside the @@ -751,11 +751,11 @@ Subject: [PATCH 3/3] Fix incorrect application of the pypi feature outside the 1 file changed, 1 deletion(-) diff --git a/crates/uv-client/tests/it/remote_metadata.rs b/crates/uv-client/tests/it/remote_metadata.rs -index 95348ffbd4bd..72bc7322238a 100644 +index 1bbce6ab8588..1dbdf1badd11 100644 --- a/crates/uv-client/tests/it/remote_metadata.rs +++ b/crates/uv-client/tests/it/remote_metadata.rs -@@ -10,7 +10,6 @@ use uv_distribution_types::{BuiltDist, DirectUrlBuiltDist, IndexCapabilities}; - use uv_pep508::VerbatimUrl; +@@ -10,7 +10,6 @@ use uv_pep508::VerbatimUrl; + use uv_redacted::DisplaySafeUrl; #[tokio::test] -#[cfg(feature = "pypi")] diff --git a/sources b/sources index c4c6209..5fadc3d 100644 --- a/sources +++ b/sources @@ -1,4 +1,4 @@ -SHA512 (uv-0.7.8.tar.gz) = 109821612a9a07bf0fdadcc942893a8e024ef828f22f25b5d3f2a10088882892cb84a8b1e37874e7346c9a0815dcd15cb736a2a768ff525c6198482fe7aba3ff +SHA512 (uv-0.7.9.tar.gz) = ddf7cd499998dca5249c23493ede2a65db3514c45decf0b1b95887dcd0423f0ce93cebbf442731d8fdc7fbd502d4e924100f878ab9a832e053f2291e3531d2a1 SHA512 (rs-async-zip-c909fda63fcafe4af496a07bfda28a5aae97e58d.tar.gz) = 3a309566f4925b02496fcf19bc2865968edf6fb65082ca4079d2cee79e6b0353a1910c079f2afe656da0d0f6ddde5102052a221ea35a7dabc6d690a11218b20a SHA512 (pubgrub-06ec5a5f59ffaeb6cf5079c6cb184467da06c9db.tar.gz) = 3f0b18aecbc73fee91fc7de9f10d240ddc06c836fa2f116c1f007dd7818d099e6aea1852ca0b8d1a26ac19aac896535dba1a6298851a65515b553810c6245784 SHA512 (tl-6e25b2ee2513d75385101a8ff9f591ef51f314ec.tar.gz) = 4abbc4240ed129c92da8d616e27a6df0f24cdc85a0803acfdae588ca91f9e5b8d482e3ac88b2e657ff68917b1b43cef1e7ef3c887f624659b231fa5a13fcae68 diff --git a/uv.spec b/uv.spec index b7e81fb..da25e63 100644 --- a/uv.spec +++ b/uv.spec @@ -11,7 +11,7 @@ %bcond it %{undefined el10} Name: uv -Version: 0.7.8 +Version: 0.7.9 Release: %autorelease Summary: An extremely fast Python package installer and resolver, written in Rust From cacdd737f611084d246be2005ce31a9489e74244 Mon Sep 17 00:00:00 2001 From: Python Maint Date: Tue, 3 Jun 2025 13:38:53 +0200 Subject: [PATCH 034/214] Rebuilt for Python 3.14 From fe57fcd71d6d91e8db473461cabf181da8e33061 Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Wed, 4 Jun 2025 08:44:55 -0400 Subject: [PATCH 035/214] Update to 0.7.10 - Loosen goblin and nix dependencies until they can be updated --- .gitignore | 1 + 13699.patch | 764 ---------------------------------------------------- sources | 4 +- uv.spec | 20 +- 4 files changed, 18 insertions(+), 771 deletions(-) delete mode 100644 13699.patch diff --git a/.gitignore b/.gitignore index a53d5ac..1e7c398 100644 --- a/.gitignore +++ b/.gitignore @@ -116,3 +116,4 @@ /uv-0.7.8.tar.gz /pubgrub-06ec5a5f59ffaeb6cf5079c6cb184467da06c9db.tar.gz /uv-0.7.9.tar.gz +/uv-0.7.10.tar.gz diff --git a/13699.patch b/13699.patch deleted file mode 100644 index ebc8740..0000000 --- a/13699.patch +++ /dev/null @@ -1,764 +0,0 @@ -From 2b19a7446d6f502651b181461e69b7c0a889bbbb Mon Sep 17 00:00:00 2001 -From: "Benjamin A. Beasley" -Date: Mon, 26 May 2025 08:12:37 -0400 -Subject: [PATCH 1/3] Conditionalize more tests that require PyPI - ---- - crates/uv-client/tests/it/remote_metadata.rs | 1 + - crates/uv/tests/it/branching_urls.rs | 10 ++++++++-- - crates/uv/tests/it/build_backend.rs | 3 +++ - crates/uv/tests/it/pip_check.rs | 3 +++ - crates/uv/tests/it/pip_list.rs | 10 ++++++++++ - crates/uv/tests/it/pip_show.rs | 10 ++++++++++ - crates/uv/tests/it/pip_tree.rs | 19 +++++++++++++++++++ - crates/uv/tests/it/pip_uninstall.rs | 6 ++++++ - crates/uv/tests/it/venv.rs | 2 ++ - crates/uv/tests/it/version.rs | 2 ++ - crates/uv/tests/it/workspace.rs | 14 ++++++++++++++ - 11 files changed, 78 insertions(+), 2 deletions(-) - -diff --git a/crates/uv-client/tests/it/remote_metadata.rs b/crates/uv-client/tests/it/remote_metadata.rs -index 1dbdf1badd11..1bbce6ab8588 100644 ---- a/crates/uv-client/tests/it/remote_metadata.rs -+++ b/crates/uv-client/tests/it/remote_metadata.rs -@@ -10,6 +10,7 @@ use uv_pep508::VerbatimUrl; - use uv_redacted::DisplaySafeUrl; - - #[tokio::test] -+#[cfg(feature = "pypi")] - async fn remote_metadata_with_and_without_cache() -> Result<()> { - let cache = Cache::temp()?.init()?; - let client = RegistryClientBuilder::new(cache).build(); -diff --git a/crates/uv/tests/it/branching_urls.rs b/crates/uv/tests/it/branching_urls.rs -index 09c77ef591eb..a02ec0de31d2 100644 ---- a/crates/uv/tests/it/branching_urls.rs -+++ b/crates/uv/tests/it/branching_urls.rs -@@ -14,6 +14,7 @@ use crate::common::{TestContext, make_project, uv_snapshot}; - /// ] - /// ``` - #[test] -+#[cfg(feature = "pypi")] - fn branching_urls_disjoint() -> Result<()> { - let context = TestContext::new("3.12"); - -@@ -47,6 +48,7 @@ fn branching_urls_disjoint() -> Result<()> { - /// ] - /// ``` - #[test] -+#[cfg(feature = "pypi")] - fn branching_urls_overlapping() -> Result<()> { - let context = TestContext::new("3.12"); - -@@ -83,6 +85,7 @@ fn branching_urls_overlapping() -> Result<()> { - /// a -> b -> b2 -> https://../iniconfig-2.0.0-py3-none-any.whl - /// ``` - #[test] -+#[cfg(feature = "pypi")] - fn root_package_splits_but_transitive_conflict() -> Result<()> { - let context = TestContext::new("3.12"); - -@@ -151,6 +154,7 @@ fn root_package_splits_but_transitive_conflict() -> Result<()> { - /// a -> b -> b2 ; python_version >= '3.12' -> https://../iniconfig-2.0.0-py3-none-any.whl - /// ``` - #[test] -+#[cfg(feature = "pypi")] - fn root_package_splits_transitive_too() -> Result<()> { - let context = TestContext::new("3.12"); - -@@ -356,6 +360,7 @@ fn root_package_splits_transitive_too() -> Result<()> { - /// a -> b2 ; python_version >= '3.12' -> iniconfig==2.0.0 - /// ``` - #[test] -+#[cfg(feature = "pypi")] - fn root_package_splits_other_dependencies_too() -> Result<()> { - let context = TestContext::new("3.12"); - -@@ -539,6 +544,7 @@ fn root_package_splits_other_dependencies_too() -> Result<()> { - /// ] - /// ``` - #[test] -+#[cfg(feature = "pypi")] - fn branching_between_registry_and_direct_url() -> Result<()> { - let context = TestContext::new("3.12"); - -@@ -624,7 +630,7 @@ fn branching_between_registry_and_direct_url() -> Result<()> { - /// ] - /// ``` - #[test] --#[cfg(feature = "git")] -+#[cfg(all(feature = "git", feature = "pypi"))] - fn branching_urls_of_different_sources_disjoint() -> Result<()> { - let context = TestContext::new("3.12"); - -@@ -708,7 +714,7 @@ fn branching_urls_of_different_sources_disjoint() -> Result<()> { - /// ] - /// ``` - #[test] --#[cfg(feature = "git")] -+#[cfg(all(feature = "git", feature = "pypi"))] - fn branching_urls_of_different_sources_conflict() -> Result<()> { - let context = TestContext::new("3.12"); - -diff --git a/crates/uv/tests/it/build_backend.rs b/crates/uv/tests/it/build_backend.rs -index ee4cde32bbd4..ad3caedcea06 100644 ---- a/crates/uv/tests/it/build_backend.rs -+++ b/crates/uv/tests/it/build_backend.rs -@@ -24,6 +24,7 @@ const BUILT_BY_UV_TEST_SCRIPT: &str = indoc! {r#" - /// - /// We can't test end-to-end here including the PEP 517 bridge code since we don't have a uv wheel. - #[test] -+#[cfg(feature = "pypi")] - fn built_by_uv_direct_wheel() -> Result<()> { - let context = TestContext::new("3.12"); - let built_by_uv = Path::new("../../scripts/packages/built-by-uv"); -@@ -83,6 +84,7 @@ fn built_by_uv_direct_wheel() -> Result<()> { - /// We can't test end-to-end here including the PEP 517 bridge code since we don't have a uv wheel, - /// so we call the build backend directly. - #[test] -+#[cfg(feature = "pypi")] - fn built_by_uv_direct() -> Result<()> { - let context = TestContext::new("3.12"); - let built_by_uv = Path::new("../../scripts/packages/built-by-uv"); -@@ -160,6 +162,7 @@ fn built_by_uv_direct() -> Result<()> { - /// We can't test end-to-end here including the PEP 517 bridge code since we don't have a uv wheel, - /// so we call the build backend directly. - #[test] -+#[cfg(feature = "pypi")] - fn built_by_uv_editable() -> Result<()> { - let context = TestContext::new("3.12"); - let built_by_uv = Path::new("../../scripts/packages/built-by-uv"); -diff --git a/crates/uv/tests/it/pip_check.rs b/crates/uv/tests/it/pip_check.rs -index 891b1f050b58..1af9b6ae9963 100644 ---- a/crates/uv/tests/it/pip_check.rs -+++ b/crates/uv/tests/it/pip_check.rs -@@ -6,6 +6,7 @@ use crate::common::TestContext; - use crate::common::uv_snapshot; - - #[test] -+#[cfg(feature = "pypi")] - fn check_compatible_packages() -> Result<()> { - let context = TestContext::new("3.12"); - -@@ -50,6 +51,7 @@ fn check_compatible_packages() -> Result<()> { - // requests 2.31.0 requires idna (<4,>=2.5) - // this test force-installs idna 2.4 to trigger a failure. - #[test] -+#[cfg(feature = "pypi")] - fn check_incompatible_packages() -> Result<()> { - let context = TestContext::new("3.12"); - -@@ -119,6 +121,7 @@ fn check_incompatible_packages() -> Result<()> { - // this test force-installs idna 2.4 and urllib3 1.20 to trigger a failure - // with multiple incompatible packages. - #[test] -+#[cfg(feature = "pypi")] - fn check_multiple_incompatible_packages() -> Result<()> { - let context = TestContext::new("3.12"); - -diff --git a/crates/uv/tests/it/pip_list.rs b/crates/uv/tests/it/pip_list.rs -index 5c26c03aaecb..ec1f288e68ee 100644 ---- a/crates/uv/tests/it/pip_list.rs -+++ b/crates/uv/tests/it/pip_list.rs -@@ -56,6 +56,7 @@ fn list_empty_json() { - } - - #[test] -+#[cfg(feature = "pypi")] - fn list_single_no_editable() -> Result<()> { - let context = TestContext::new("3.12"); - -@@ -96,6 +97,7 @@ fn list_single_no_editable() -> Result<()> { - } - - #[test] -+#[cfg(feature = "pypi")] - fn list_outdated_columns() -> Result<()> { - let context = TestContext::new("3.12"); - -@@ -136,6 +138,7 @@ fn list_outdated_columns() -> Result<()> { - } - - #[test] -+#[cfg(feature = "pypi")] - fn list_outdated_json() -> Result<()> { - let context = TestContext::new("3.12"); - -@@ -232,6 +235,7 @@ fn list_outdated_git() -> Result<()> { - } - - #[test] -+#[cfg(feature = "pypi")] - fn list_outdated_index() -> Result<()> { - let context = TestContext::new("3.12"); - -@@ -275,6 +279,7 @@ fn list_outdated_index() -> Result<()> { - } - - #[test] -+#[cfg(feature = "pypi")] - fn list_editable() { - let context = TestContext::new("3.12"); - -@@ -320,6 +325,7 @@ fn list_editable() { - } - - #[test] -+#[cfg(feature = "pypi")] - fn list_editable_only() { - let context = TestContext::new("3.12"); - -@@ -394,6 +400,7 @@ fn list_editable_only() { - } - - #[test] -+#[cfg(feature = "pypi")] - fn list_exclude() { - let context = TestContext::new("3.12"); - -@@ -475,6 +482,7 @@ fn list_exclude() { - } - - #[test] -+#[cfg(feature = "pypi")] - #[cfg(not(windows))] - fn list_format_json() { - let context = TestContext::new("3.12"); -@@ -541,6 +549,7 @@ fn list_format_json() { - } - - #[test] -+#[cfg(feature = "pypi")] - fn list_format_freeze() { - let context = TestContext::new("3.12"); - -@@ -706,6 +715,7 @@ Version: 0.1-bulbasaur - } - - #[test] -+#[cfg(feature = "pypi")] - fn list_ignores_quiet_flag_format_freeze() { - let context = TestContext::new("3.12"); - -diff --git a/crates/uv/tests/it/pip_show.rs b/crates/uv/tests/it/pip_show.rs -index 4371b089e8a7..a097e128b65a 100644 ---- a/crates/uv/tests/it/pip_show.rs -+++ b/crates/uv/tests/it/pip_show.rs -@@ -26,6 +26,7 @@ fn show_empty() { - } - - #[test] -+#[cfg(feature = "pypi")] - fn show_requires_multiple() -> Result<()> { - let context = TestContext::new("3.12"); - -@@ -75,6 +76,7 @@ fn show_requires_multiple() -> Result<()> { - /// Asserts that the Python version marker in the metadata is correctly evaluated. - /// `click` v8.1.7 requires `importlib-metadata`, but only when `python_version < "3.8"`. - #[test] -+#[cfg(feature = "pypi")] - fn show_python_version_marker() -> Result<()> { - let context = TestContext::new("3.12"); - -@@ -124,6 +126,7 @@ fn show_python_version_marker() -> Result<()> { - } - - #[test] -+#[cfg(feature = "pypi")] - fn show_found_single_package() -> Result<()> { - let context = TestContext::new("3.12"); - -@@ -168,6 +171,7 @@ fn show_found_single_package() -> Result<()> { - } - - #[test] -+#[cfg(feature = "pypi")] - fn show_found_multiple_packages() -> Result<()> { - let context = TestContext::new("3.12"); - -@@ -224,6 +228,7 @@ fn show_found_multiple_packages() -> Result<()> { - } - - #[test] -+#[cfg(feature = "pypi")] - fn show_found_one_out_of_three() -> Result<()> { - let context = TestContext::new("3.12"); - -@@ -276,6 +281,7 @@ fn show_found_one_out_of_three() -> Result<()> { - } - - #[test] -+#[cfg(feature = "pypi")] - fn show_found_one_out_of_two_quiet() -> Result<()> { - let context = TestContext::new("3.12"); - -@@ -323,6 +329,7 @@ fn show_found_one_out_of_two_quiet() -> Result<()> { - } - - #[test] -+#[cfg(feature = "pypi")] - fn show_empty_quiet() -> Result<()> { - let context = TestContext::new("3.12"); - -@@ -369,6 +376,7 @@ fn show_empty_quiet() -> Result<()> { - } - - #[test] -+#[cfg(feature = "pypi")] - fn show_editable() -> Result<()> { - let context = TestContext::new("3.12"); - -@@ -405,6 +413,7 @@ fn show_editable() -> Result<()> { - } - - #[test] -+#[cfg(feature = "pypi")] - fn show_required_by_multiple() -> Result<()> { - let context = TestContext::new("3.12"); - -@@ -460,6 +469,7 @@ fn show_required_by_multiple() -> Result<()> { - } - - #[test] -+#[cfg(feature = "pypi")] - fn show_files() { - let context = TestContext::new("3.12"); - -diff --git a/crates/uv/tests/it/pip_tree.rs b/crates/uv/tests/it/pip_tree.rs -index 085d2e08d52f..5393c98235f3 100644 ---- a/crates/uv/tests/it/pip_tree.rs -+++ b/crates/uv/tests/it/pip_tree.rs -@@ -26,6 +26,7 @@ fn no_package() { - } - - #[test] -+#[cfg(feature = "pypi")] - fn prune_last_in_the_subgroup() { - let context = TestContext::new("3.12"); - -@@ -69,6 +70,7 @@ fn prune_last_in_the_subgroup() { - } - - #[test] -+#[cfg(feature = "pypi")] - fn single_package() { - let context = TestContext::new("3.12"); - -@@ -114,6 +116,7 @@ fn single_package() { - } - - #[test] -+#[cfg(feature = "pypi")] - fn nested_dependencies() { - let context = TestContext::new("3.12"); - -@@ -163,6 +166,7 @@ fn nested_dependencies() { - - /// Identical test as `invert` since `--reverse` is simply an alias for `--invert`. - #[test] -+#[cfg(feature = "pypi")] - fn reverse() { - let context = TestContext::new("3.12"); - -@@ -214,6 +218,7 @@ fn reverse() { - } - - #[test] -+#[cfg(feature = "pypi")] - fn invert() { - let context = TestContext::new("3.12"); - -@@ -265,6 +270,7 @@ fn invert() { - } - - #[test] -+#[cfg(feature = "pypi")] - fn depth() { - let context = TestContext::new("3.12"); - -@@ -364,6 +370,7 @@ fn depth() { - } - - #[test] -+#[cfg(feature = "pypi")] - fn prune() { - let context = TestContext::new("3.12"); - -@@ -468,6 +475,7 @@ fn prune() { - - /// Ensure `pip tree` behaves correctly after a package has been removed. - #[test] -+#[cfg(feature = "pypi")] - fn removed_dependency() { - let context = TestContext::new("3.12"); - -@@ -523,6 +531,7 @@ fn removed_dependency() { - } - - #[test] -+#[cfg(feature = "pypi")] - fn multiple_packages() { - let context = TestContext::new("3.12"); - -@@ -577,6 +586,7 @@ fn multiple_packages() { - - /// Show the installed tree in the presence of a cycle. - #[test] -+#[cfg(feature = "pypi")] - fn cycle() { - let context = TestContext::new("3.12"); - -@@ -644,6 +654,7 @@ fn cycle() { - - /// Both `pendulum` and `boto3` depend on `python-dateutil`. - #[test] -+#[cfg(feature = "pypi")] - fn multiple_packages_shared_descendant() { - let context = TestContext::new("3.12"); - -@@ -697,6 +708,7 @@ fn multiple_packages_shared_descendant() { - - /// Test the interaction between `--no-dedupe` and `--invert`. - #[test] -+#[cfg(feature = "pypi")] - fn no_dedupe_and_invert() { - let context = TestContext::new("3.12"); - -@@ -749,6 +761,7 @@ fn no_dedupe_and_invert() { - } - - #[test] -+#[cfg(feature = "pypi")] - fn no_dedupe() { - let context = TestContext::new("3.12"); - -@@ -843,6 +856,7 @@ fn with_editable() { - } - - #[test] -+#[cfg(feature = "pypi")] - fn package_flag() { - let context = TestContext::new("3.12"); - -@@ -910,6 +924,7 @@ fn package_flag() { - } - - #[test] -+#[cfg(feature = "pypi")] - fn show_version_specifiers_simple() { - let context = TestContext::new("3.12"); - -@@ -953,6 +968,7 @@ fn show_version_specifiers_simple() { - } - - #[test] -+#[cfg(feature = "pypi")] - fn show_version_specifiers_with_invert() { - let context = TestContext::new("3.12"); - -@@ -1008,6 +1024,7 @@ fn show_version_specifiers_with_invert() { - } - - #[test] -+#[cfg(feature = "pypi")] - fn show_version_specifiers_with_package() { - let context = TestContext::new("3.12"); - -@@ -1055,6 +1072,7 @@ fn show_version_specifiers_with_package() { - } - - #[test] -+#[cfg(feature = "pypi")] - fn print_output_even_with_quite_flag() { - let context = TestContext::new("3.12"); - -@@ -1094,6 +1112,7 @@ fn print_output_even_with_quite_flag() { - } - - #[test] -+#[cfg(feature = "pypi")] - fn outdated() { - let context = TestContext::new("3.12"); - -diff --git a/crates/uv/tests/it/pip_uninstall.rs b/crates/uv/tests/it/pip_uninstall.rs -index 5c820673d663..3c1c0d717da5 100644 ---- a/crates/uv/tests/it/pip_uninstall.rs -+++ b/crates/uv/tests/it/pip_uninstall.rs -@@ -100,6 +100,7 @@ fn invalid_requirements_txt_requirement() -> Result<()> { - } - - #[test] -+#[cfg(feature = "pypi")] - fn uninstall() -> Result<()> { - let context = TestContext::new("3.12"); - -@@ -142,6 +143,7 @@ fn uninstall() -> Result<()> { - } - - #[test] -+#[cfg(feature = "pypi")] - fn missing_record() -> Result<()> { - let context = TestContext::new("3.12"); - -@@ -180,6 +182,7 @@ fn missing_record() -> Result<()> { - } - - #[test] -+#[cfg(feature = "pypi")] - fn uninstall_editable_by_name() -> Result<()> { - let context = TestContext::new("3.12"); - -@@ -228,6 +231,7 @@ fn uninstall_editable_by_name() -> Result<()> { - } - - #[test] -+#[cfg(feature = "pypi")] - fn uninstall_by_path() -> Result<()> { - let context = TestContext::new("3.12"); - -@@ -276,6 +280,7 @@ fn uninstall_by_path() -> Result<()> { - } - - #[test] -+#[cfg(feature = "pypi")] - fn uninstall_duplicate_by_path() -> Result<()> { - let context = TestContext::new("3.12"); - -@@ -326,6 +331,7 @@ fn uninstall_duplicate_by_path() -> Result<()> { - - /// Uninstall a duplicate package in a virtual environment. - #[test] -+#[cfg(feature = "pypi")] - fn uninstall_duplicate() -> Result<()> { - use uv_fs::copy_dir_all; - -diff --git a/crates/uv/tests/it/venv.rs b/crates/uv/tests/it/venv.rs -index 54c528d0eca7..1d9eb5721b20 100644 ---- a/crates/uv/tests/it/venv.rs -+++ b/crates/uv/tests/it/venv.rs -@@ -579,6 +579,7 @@ fn create_venv_explicit_request_takes_priority_over_python_version_file() { - } - - #[test] -+#[cfg(feature = "pypi")] - fn seed() { - let context = TestContext::new_with_versions(&["3.12"]); - uv_snapshot!(context.filters(), context.venv() -@@ -602,6 +603,7 @@ fn seed() { - } - - #[test] -+#[cfg(feature = "pypi")] - fn seed_older_python_version() { - let context = TestContext::new_with_versions(&["3.11"]); - uv_snapshot!(context.filters(), context.venv() -diff --git a/crates/uv/tests/it/version.rs b/crates/uv/tests/it/version.rs -index 6ecc38aa3175..1fda427058d8 100644 ---- a/crates/uv/tests/it/version.rs -+++ b/crates/uv/tests/it/version.rs -@@ -1368,6 +1368,7 @@ fn version_get_workspace() -> Result<()> { - /// - /// Also check that --locked/--frozen/--no-sync do what they say - #[test] -+#[cfg(feature = "pypi")] - fn version_set_workspace() -> Result<()> { - let context = TestContext::new("3.12"); - -@@ -1709,6 +1710,7 @@ fn version_set_workspace() -> Result<()> { - /// It would be nice to have a case where we still get a package dependency, but - /// this still demonstrates the non-trivial "hazard" of a version change. - #[test] -+#[cfg(feature = "pypi")] - fn version_set_evil_constraints() -> Result<()> { - let context = TestContext::new("3.12"); - -diff --git a/crates/uv/tests/it/workspace.rs b/crates/uv/tests/it/workspace.rs -index 1b375597ccf8..c52c4a2f198a 100644 ---- a/crates/uv/tests/it/workspace.rs -+++ b/crates/uv/tests/it/workspace.rs -@@ -24,6 +24,7 @@ fn workspaces_dir() -> PathBuf { - } - - #[test] -+#[cfg(feature = "pypi")] - fn test_albatross_in_examples_bird_feeder() { - let context = TestContext::new("3.12"); - let workspace = context.temp_dir.child("workspace"); -@@ -67,6 +68,7 @@ fn test_albatross_in_examples_bird_feeder() { - } - - #[test] -+#[cfg(feature = "pypi")] - fn test_albatross_in_examples() { - let context = TestContext::new("3.12"); - let workspace = context.temp_dir.child("workspace"); -@@ -107,6 +109,7 @@ fn test_albatross_in_examples() { - } - - #[test] -+#[cfg(feature = "pypi")] - fn test_albatross_just_project() { - let context = TestContext::new("3.12"); - let workspace = context.temp_dir.child("workspace"); -@@ -147,6 +150,7 @@ fn test_albatross_just_project() { - } - - #[test] -+#[cfg(feature = "pypi")] - fn test_albatross_project_in_excluded() { - let context = TestContext::new("3.12"); - let workspace = context.temp_dir.child("workspace"); -@@ -222,6 +226,7 @@ fn test_albatross_project_in_excluded() { - } - - #[test] -+#[cfg(feature = "pypi")] - fn test_albatross_root_workspace() { - let context = TestContext::new("3.12"); - let workspace = context.temp_dir.child("workspace"); -@@ -265,6 +270,7 @@ fn test_albatross_root_workspace() { - } - - #[test] -+#[cfg(feature = "pypi")] - fn test_albatross_root_workspace_bird_feeder() { - let context = TestContext::new("3.12"); - let workspace = context.temp_dir.child("workspace"); -@@ -310,6 +316,7 @@ fn test_albatross_root_workspace_bird_feeder() { - } - - #[test] -+#[cfg(feature = "pypi")] - fn test_albatross_root_workspace_albatross() { - let context = TestContext::new("3.12"); - let workspace = context.temp_dir.child("workspace"); -@@ -355,6 +362,7 @@ fn test_albatross_root_workspace_albatross() { - } - - #[test] -+#[cfg(feature = "pypi")] - fn test_albatross_virtual_workspace() { - let context = TestContext::new("3.12"); - let workspace = context.temp_dir.child("workspace"); -@@ -402,6 +410,7 @@ fn test_albatross_virtual_workspace() { - - /// Check that `uv run --package` works in a virtual workspace. - #[test] -+#[cfg(feature = "pypi")] - fn test_uv_run_with_package_virtual_workspace() -> Result<()> { - let context = TestContext::new("3.12"); - let work_dir = context.temp_dir.join("albatross-virtual-workspace"); -@@ -471,6 +480,7 @@ fn test_uv_run_with_package_virtual_workspace() -> Result<()> { - /// Check that `uv run` works from a virtual workspace root, which should sync all packages in the - /// workspace. - #[test] -+#[cfg(feature = "pypi")] - fn test_uv_run_virtual_workspace_root() -> Result<()> { - let context = TestContext::new("3.12"); - let work_dir = context.temp_dir.join("albatross-virtual-workspace"); -@@ -511,6 +521,7 @@ fn test_uv_run_virtual_workspace_root() -> Result<()> { - - /// Check that `uv run --package` works in a root workspace. - #[test] -+#[cfg(feature = "pypi")] - fn test_uv_run_with_package_root_workspace() -> Result<()> { - let context = TestContext::new("3.12"); - let work_dir = context.temp_dir.join("albatross-root-workspace"); -@@ -573,6 +584,7 @@ fn test_uv_run_with_package_root_workspace() -> Result<()> { - - /// Check that `uv run --isolated` creates isolated virtual environments. - #[test] -+#[cfg(feature = "pypi")] - fn test_uv_run_isolate() -> Result<()> { - let context = TestContext::new("3.12"); - let work_dir = context.temp_dir.join("albatross-root-workspace"); -@@ -694,6 +706,7 @@ fn workspace_lock_idempotence(workspace: &str, subdirectories: &[&str]) -> Resul - - /// Check that the resolution is the same no matter where in the workspace we are. - #[test] -+#[cfg(feature = "pypi")] - fn workspace_lock_idempotence_root_workspace() -> Result<()> { - workspace_lock_idempotence( - "albatross-root-workspace", -@@ -705,6 +718,7 @@ fn workspace_lock_idempotence_root_workspace() -> Result<()> { - /// Check that the resolution is the same no matter where in the workspace we are, and that locking - /// works even if there is no root project. - #[test] -+#[cfg(feature = "pypi")] - fn workspace_lock_idempotence_virtual_workspace() -> Result<()> { - workspace_lock_idempotence( - "albatross-virtual-workspace", - -From d62ca447187b525609c55f666ddfeef5cd208818 Mon Sep 17 00:00:00 2001 -From: "Benjamin A. Beasley" -Date: Wed, 28 May 2025 08:21:05 -0400 -Subject: [PATCH 2/3] Conditionalize pip_check at the module level - -Also require the python feature for it. ---- - crates/uv/tests/it/main.rs | 1 + - crates/uv/tests/it/pip_check.rs | 3 --- - 2 files changed, 1 insertion(+), 3 deletions(-) - -diff --git a/crates/uv/tests/it/main.rs b/crates/uv/tests/it/main.rs -index 926a3a790815..5daa56a3aed6 100644 ---- a/crates/uv/tests/it/main.rs -+++ b/crates/uv/tests/it/main.rs -@@ -41,6 +41,7 @@ mod lock_scenarios; - - mod version; - -+#[cfg(all(feature = "python", feature = "pypi"))] - mod pip_check; - - #[cfg(all(feature = "python", feature = "pypi"))] -diff --git a/crates/uv/tests/it/pip_check.rs b/crates/uv/tests/it/pip_check.rs -index 1af9b6ae9963..891b1f050b58 100644 ---- a/crates/uv/tests/it/pip_check.rs -+++ b/crates/uv/tests/it/pip_check.rs -@@ -6,7 +6,6 @@ use crate::common::TestContext; - use crate::common::uv_snapshot; - - #[test] --#[cfg(feature = "pypi")] - fn check_compatible_packages() -> Result<()> { - let context = TestContext::new("3.12"); - -@@ -51,7 +50,6 @@ fn check_compatible_packages() -> Result<()> { - // requests 2.31.0 requires idna (<4,>=2.5) - // this test force-installs idna 2.4 to trigger a failure. - #[test] --#[cfg(feature = "pypi")] - fn check_incompatible_packages() -> Result<()> { - let context = TestContext::new("3.12"); - -@@ -121,7 +119,6 @@ fn check_incompatible_packages() -> Result<()> { - // this test force-installs idna 2.4 and urllib3 1.20 to trigger a failure - // with multiple incompatible packages. - #[test] --#[cfg(feature = "pypi")] - fn check_multiple_incompatible_packages() -> Result<()> { - let context = TestContext::new("3.12"); - - -From 2d77f60b929f3f97d1e8502d7bee22502dfb8b7c Mon Sep 17 00:00:00 2001 -From: "Benjamin A. Beasley" -Date: Wed, 28 May 2025 08:27:45 -0400 -Subject: [PATCH 3/3] Fix incorrect application of the pypi feature outside the - uv crate - ---- - crates/uv-client/tests/it/remote_metadata.rs | 1 - - 1 file changed, 1 deletion(-) - -diff --git a/crates/uv-client/tests/it/remote_metadata.rs b/crates/uv-client/tests/it/remote_metadata.rs -index 1bbce6ab8588..1dbdf1badd11 100644 ---- a/crates/uv-client/tests/it/remote_metadata.rs -+++ b/crates/uv-client/tests/it/remote_metadata.rs -@@ -10,7 +10,6 @@ use uv_pep508::VerbatimUrl; - use uv_redacted::DisplaySafeUrl; - - #[tokio::test] --#[cfg(feature = "pypi")] - async fn remote_metadata_with_and_without_cache() -> Result<()> { - let cache = Cache::temp()?.init()?; - let client = RegistryClientBuilder::new(cache).build(); diff --git a/sources b/sources index 5fadc3d..8ec556e 100644 --- a/sources +++ b/sources @@ -1,4 +1,4 @@ -SHA512 (uv-0.7.9.tar.gz) = ddf7cd499998dca5249c23493ede2a65db3514c45decf0b1b95887dcd0423f0ce93cebbf442731d8fdc7fbd502d4e924100f878ab9a832e053f2291e3531d2a1 -SHA512 (rs-async-zip-c909fda63fcafe4af496a07bfda28a5aae97e58d.tar.gz) = 3a309566f4925b02496fcf19bc2865968edf6fb65082ca4079d2cee79e6b0353a1910c079f2afe656da0d0f6ddde5102052a221ea35a7dabc6d690a11218b20a +SHA512 (uv-0.7.10.tar.gz) = a92521fcbc03abb07ed5bcda653aa218e7082777b517747224619c7bad6c9b05fad837088198aeb419fd3fac164be8d248cb699ca7a39a77298e83e86398594c SHA512 (pubgrub-06ec5a5f59ffaeb6cf5079c6cb184467da06c9db.tar.gz) = 3f0b18aecbc73fee91fc7de9f10d240ddc06c836fa2f116c1f007dd7818d099e6aea1852ca0b8d1a26ac19aac896535dba1a6298851a65515b553810c6245784 +SHA512 (rs-async-zip-c909fda63fcafe4af496a07bfda28a5aae97e58d.tar.gz) = 3a309566f4925b02496fcf19bc2865968edf6fb65082ca4079d2cee79e6b0353a1910c079f2afe656da0d0f6ddde5102052a221ea35a7dabc6d690a11218b20a SHA512 (tl-6e25b2ee2513d75385101a8ff9f591ef51f314ec.tar.gz) = 4abbc4240ed129c92da8d616e27a6df0f24cdc85a0803acfdae588ca91f9e5b8d482e3ac88b2e657ff68917b1b43cef1e7ef3c887f624659b231fa5a13fcae68 diff --git a/uv.spec b/uv.spec index da25e63..79e9fd7 100644 --- a/uv.spec +++ b/uv.spec @@ -11,7 +11,7 @@ %bcond it %{undefined el10} Name: uv -Version: 0.7.9 +Version: 0.7.10 Release: %autorelease Summary: An extremely fast Python package installer and resolver, written in Rust @@ -195,10 +195,6 @@ Patch: 0001-Downstream-only-do-not-override-the-default-allocato.patch # https://github.com/astral-sh/uv/issues/4451 Patch: 0001-Downstream-patch-always-find-the-system-wide-uv-exec.patch -# Conditionalize more tests that require PyPI -# https://github.com/astral-sh/uv/pull/13699 -Patch: %{url}/pull/13699.patch - # Update sanitize-filename requirement from 0.5 to 0.6 Patch100: https://github.com/Majored/rs-async-zip/pull/153.patch @@ -566,6 +562,20 @@ tomcli set crates/uv/Cargo.toml del dependencies.tracing-durations-export # # https://bugzilla.redhat.com/show_bug.cgi?id=1234567 # tomcli set crates/uv/Cargo.toml str dev-dependencies.foocrate.version 0.1.2 +# goblin +# wanted: 0.10.0 +# currently packaged: 0.9.3 +# https://bugzilla.redhat.com/show_bug.cgi?id=2368499 +tomcli set Cargo.toml str \ + workspace.dependencies.goblin.version '>= 0.9.3, <0.11' + +# nix +# wanted: 0.30.0 +# currently packaged: 0.29.0 +# https://bugzilla.redhat.com/show_bug.cgi?id=2362868 +tomcli set Cargo.toml str \ + workspace.dependencies.nix.version '>= 0.29, <0.31' + %cargo_prep From a79e7796e7aa934c1268b87ef2acdac711366d17 Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Mon, 9 Jun 2025 14:00:04 -0400 Subject: [PATCH 036/214] Update to 0.7.11 --- .gitignore | 1 + sources | 2 +- uv.spec | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 1e7c398..0bcbe88 100644 --- a/.gitignore +++ b/.gitignore @@ -117,3 +117,4 @@ /pubgrub-06ec5a5f59ffaeb6cf5079c6cb184467da06c9db.tar.gz /uv-0.7.9.tar.gz /uv-0.7.10.tar.gz +/uv-0.7.11.tar.gz diff --git a/sources b/sources index 8ec556e..892dc54 100644 --- a/sources +++ b/sources @@ -1,4 +1,4 @@ -SHA512 (uv-0.7.10.tar.gz) = a92521fcbc03abb07ed5bcda653aa218e7082777b517747224619c7bad6c9b05fad837088198aeb419fd3fac164be8d248cb699ca7a39a77298e83e86398594c +SHA512 (uv-0.7.11.tar.gz) = 21afce7addef5d95c01df7aab270a5e76909e9add597bf9a2c6a1433c79dbf479566061d62d5a0a585ac6bd46810966ea8d17ea242c60850fec0916d5d202b02 SHA512 (pubgrub-06ec5a5f59ffaeb6cf5079c6cb184467da06c9db.tar.gz) = 3f0b18aecbc73fee91fc7de9f10d240ddc06c836fa2f116c1f007dd7818d099e6aea1852ca0b8d1a26ac19aac896535dba1a6298851a65515b553810c6245784 SHA512 (rs-async-zip-c909fda63fcafe4af496a07bfda28a5aae97e58d.tar.gz) = 3a309566f4925b02496fcf19bc2865968edf6fb65082ca4079d2cee79e6b0353a1910c079f2afe656da0d0f6ddde5102052a221ea35a7dabc6d690a11218b20a SHA512 (tl-6e25b2ee2513d75385101a8ff9f591ef51f314ec.tar.gz) = 4abbc4240ed129c92da8d616e27a6df0f24cdc85a0803acfdae588ca91f9e5b8d482e3ac88b2e657ff68917b1b43cef1e7ef3c887f624659b231fa5a13fcae68 diff --git a/uv.spec b/uv.spec index 79e9fd7..4cb132e 100644 --- a/uv.spec +++ b/uv.spec @@ -11,7 +11,7 @@ %bcond it %{undefined el10} Name: uv -Version: 0.7.10 +Version: 0.7.11 Release: %autorelease Summary: An extremely fast Python package installer and resolver, written in Rust From 95afbd636f3d006824cf076d5a3a3ef1b600667b Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Mon, 9 Jun 2025 14:08:51 -0400 Subject: [PATCH 037/214] Update to 0.7.12 (close RHBZ#2370087) --- .gitignore | 1 + sources | 2 +- uv.spec | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 0bcbe88..660be34 100644 --- a/.gitignore +++ b/.gitignore @@ -118,3 +118,4 @@ /uv-0.7.9.tar.gz /uv-0.7.10.tar.gz /uv-0.7.11.tar.gz +/uv-0.7.12.tar.gz diff --git a/sources b/sources index 892dc54..f7a0f5e 100644 --- a/sources +++ b/sources @@ -1,4 +1,4 @@ -SHA512 (uv-0.7.11.tar.gz) = 21afce7addef5d95c01df7aab270a5e76909e9add597bf9a2c6a1433c79dbf479566061d62d5a0a585ac6bd46810966ea8d17ea242c60850fec0916d5d202b02 +SHA512 (uv-0.7.12.tar.gz) = 949281a0c4c5478abb94b53e41bcaab9ea1a9728a2d6ae97c25159fbed32e35a7967d78c923eab5a58ae3b360e780950800e287de15752a87a3765c1cd081216 SHA512 (pubgrub-06ec5a5f59ffaeb6cf5079c6cb184467da06c9db.tar.gz) = 3f0b18aecbc73fee91fc7de9f10d240ddc06c836fa2f116c1f007dd7818d099e6aea1852ca0b8d1a26ac19aac896535dba1a6298851a65515b553810c6245784 SHA512 (rs-async-zip-c909fda63fcafe4af496a07bfda28a5aae97e58d.tar.gz) = 3a309566f4925b02496fcf19bc2865968edf6fb65082ca4079d2cee79e6b0353a1910c079f2afe656da0d0f6ddde5102052a221ea35a7dabc6d690a11218b20a SHA512 (tl-6e25b2ee2513d75385101a8ff9f591ef51f314ec.tar.gz) = 4abbc4240ed129c92da8d616e27a6df0f24cdc85a0803acfdae588ca91f9e5b8d482e3ac88b2e657ff68917b1b43cef1e7ef3c887f624659b231fa5a13fcae68 diff --git a/uv.spec b/uv.spec index 4cb132e..ae43634 100644 --- a/uv.spec +++ b/uv.spec @@ -11,7 +11,7 @@ %bcond it %{undefined el10} Name: uv -Version: 0.7.11 +Version: 0.7.12 Release: %autorelease Summary: An extremely fast Python package installer and resolver, written in Rust From 88e50bbc7832e2952a2d8e5379ea27ddb8ef4cef Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Tue, 10 Jun 2025 09:54:36 -0400 Subject: [PATCH 038/214] Unpin reqwest since we will coordinate updates to avoid regressions --- uv-0.7.12-unpin-reqwest.patch | 12 ++++++++++++ uv.spec | 14 ++++++++++++++ 2 files changed, 26 insertions(+) create mode 100644 uv-0.7.12-unpin-reqwest.patch diff --git a/uv-0.7.12-unpin-reqwest.patch b/uv-0.7.12-unpin-reqwest.patch new file mode 100644 index 0000000..58d9709 --- /dev/null +++ b/uv-0.7.12-unpin-reqwest.patch @@ -0,0 +1,12 @@ +diff -Naur uv-0.7.12-original/Cargo.toml uv-0.7.12/Cargo.toml +--- uv-0.7.12-original/Cargo.toml 2025-06-06 15:42:06.000000000 -0400 ++++ uv-0.7.12/Cargo.toml 2025-06-10 09:48:59.475932481 -0400 +@@ -142,7 +142,7 @@ + reflink-copy = { version = "0.1.19" } + regex = { version = "1.10.6" } + regex-automata = { version = "0.4.8", default-features = false, features = ["dfa-build", "dfa-search", "perf", "std", "syntax"] } +-reqwest = { version = "=0.12.15", default-features = false, features = ["json", "gzip", "stream", "rustls-tls", "rustls-tls-native-roots", "socks", "multipart", "http2", "blocking"] } ++reqwest = { version = "0.12.15", default-features = false, features = ["json", "gzip", "stream", "rustls-tls", "rustls-tls-native-roots", "socks", "multipart", "http2", "blocking"] } + reqwest-middleware = { version = "0.4.0", features = ["multipart"] } + reqwest-retry = { version = "0.7.0" } + rkyv = { version = "0.8.8", features = ["bytecheck"] } diff --git a/uv.spec b/uv.spec index ae43634..0ef49ab 100644 --- a/uv.spec +++ b/uv.spec @@ -195,6 +195,20 @@ Patch: 0001-Downstream-only-do-not-override-the-default-allocato.patch # https://github.com/astral-sh/uv/issues/4451 Patch: 0001-Downstream-patch-always-find-the-system-wide-uv-exec.patch +# Unpin reqwest. Reverts “Downgrade reqwest and hyper-util,” +# https://github.com/astral-sh/uv/pull/13835. The pin was due to +# https://github.com/astral-sh/uv/issues/13831, and based on discussion in that +# issue and in https://github.com/hyperium/hyper-util/pull/200, we can update +# reqwest as long as we also update hyper-util to 0.1.14 or later. +# +# The issue that the pin worked around was only reported on MacOS, but we would +# rather not assume that is the only place it occurs. +# +# This is downstream-only because it is extremely temporary: upstream is +# tracking and testing the fix in hyper-util, and we can expect that the +# version pin will be removed in the next release or two. +Patch: uv-0.7.12-unpin-reqwest.patch + # Update sanitize-filename requirement from 0.5 to 0.6 Patch100: https://github.com/Majored/rs-async-zip/pull/153.patch From 1a25598ed84f614db3eb74a8ad5ce671a24235ea Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Thu, 12 Jun 2025 20:40:02 -0400 Subject: [PATCH 039/214] Update to 0.7.13 (close RHBZ#2372605) --- .gitignore | 1 + sources | 2 +- ...npin-reqwest.patch => uv-0.7.13-unpin-reqwest.patch | 10 +++++----- uv.spec | 4 ++-- 4 files changed, 9 insertions(+), 8 deletions(-) rename uv-0.7.12-unpin-reqwest.patch => uv-0.7.13-unpin-reqwest.patch (52%) diff --git a/.gitignore b/.gitignore index 660be34..5f6c959 100644 --- a/.gitignore +++ b/.gitignore @@ -119,3 +119,4 @@ /uv-0.7.10.tar.gz /uv-0.7.11.tar.gz /uv-0.7.12.tar.gz +/uv-0.7.13.tar.gz diff --git a/sources b/sources index f7a0f5e..9297f30 100644 --- a/sources +++ b/sources @@ -1,4 +1,4 @@ -SHA512 (uv-0.7.12.tar.gz) = 949281a0c4c5478abb94b53e41bcaab9ea1a9728a2d6ae97c25159fbed32e35a7967d78c923eab5a58ae3b360e780950800e287de15752a87a3765c1cd081216 +SHA512 (uv-0.7.13.tar.gz) = 5a8b523476071c9da83eafea3a6624e48e7ff60a1a65c551d061af3ed01d852d6dafc5c3feb1458b76c6d64eaa37e038bfe82c5a962c96f87bfe1389ad811674 SHA512 (pubgrub-06ec5a5f59ffaeb6cf5079c6cb184467da06c9db.tar.gz) = 3f0b18aecbc73fee91fc7de9f10d240ddc06c836fa2f116c1f007dd7818d099e6aea1852ca0b8d1a26ac19aac896535dba1a6298851a65515b553810c6245784 SHA512 (rs-async-zip-c909fda63fcafe4af496a07bfda28a5aae97e58d.tar.gz) = 3a309566f4925b02496fcf19bc2865968edf6fb65082ca4079d2cee79e6b0353a1910c079f2afe656da0d0f6ddde5102052a221ea35a7dabc6d690a11218b20a SHA512 (tl-6e25b2ee2513d75385101a8ff9f591ef51f314ec.tar.gz) = 4abbc4240ed129c92da8d616e27a6df0f24cdc85a0803acfdae588ca91f9e5b8d482e3ac88b2e657ff68917b1b43cef1e7ef3c887f624659b231fa5a13fcae68 diff --git a/uv-0.7.12-unpin-reqwest.patch b/uv-0.7.13-unpin-reqwest.patch similarity index 52% rename from uv-0.7.12-unpin-reqwest.patch rename to uv-0.7.13-unpin-reqwest.patch index 58d9709..8c04a3a 100644 --- a/uv-0.7.12-unpin-reqwest.patch +++ b/uv-0.7.13-unpin-reqwest.patch @@ -1,12 +1,12 @@ -diff -Naur uv-0.7.12-original/Cargo.toml uv-0.7.12/Cargo.toml ---- uv-0.7.12-original/Cargo.toml 2025-06-06 15:42:06.000000000 -0400 -+++ uv-0.7.12/Cargo.toml 2025-06-10 09:48:59.475932481 -0400 +diff -Naur uv-0.7.13-original/Cargo.toml uv-0.7.13/Cargo.toml +--- uv-0.7.13-original/Cargo.toml 2025-06-12 15:33:31.000000000 -0400 ++++ uv-0.7.13/Cargo.toml 2025-06-12 20:38:06.759717740 -0400 @@ -142,7 +142,7 @@ reflink-copy = { version = "0.1.19" } regex = { version = "1.10.6" } regex-automata = { version = "0.4.8", default-features = false, features = ["dfa-build", "dfa-search", "perf", "std", "syntax"] } --reqwest = { version = "=0.12.15", default-features = false, features = ["json", "gzip", "stream", "rustls-tls", "rustls-tls-native-roots", "socks", "multipart", "http2", "blocking"] } -+reqwest = { version = "0.12.15", default-features = false, features = ["json", "gzip", "stream", "rustls-tls", "rustls-tls-native-roots", "socks", "multipart", "http2", "blocking"] } +-reqwest = { version = "=0.12.15", default-features = false, features = ["json", "gzip", "deflate", "zstd", "stream", "rustls-tls", "rustls-tls-native-roots", "socks", "multipart", "http2", "blocking"] } ++reqwest = { version = "0.12.15", default-features = false, features = ["json", "gzip", "deflate", "zstd", "stream", "rustls-tls", "rustls-tls-native-roots", "socks", "multipart", "http2", "blocking"] } reqwest-middleware = { version = "0.4.0", features = ["multipart"] } reqwest-retry = { version = "0.7.0" } rkyv = { version = "0.8.8", features = ["bytecheck"] } diff --git a/uv.spec b/uv.spec index 0ef49ab..28c427d 100644 --- a/uv.spec +++ b/uv.spec @@ -11,7 +11,7 @@ %bcond it %{undefined el10} Name: uv -Version: 0.7.12 +Version: 0.7.13 Release: %autorelease Summary: An extremely fast Python package installer and resolver, written in Rust @@ -207,7 +207,7 @@ Patch: 0001-Downstream-patch-always-find-the-system-wide-uv-exec.patch # This is downstream-only because it is extremely temporary: upstream is # tracking and testing the fix in hyper-util, and we can expect that the # version pin will be removed in the next release or two. -Patch: uv-0.7.12-unpin-reqwest.patch +Patch: uv-0.7.13-unpin-reqwest.patch # Update sanitize-filename requirement from 0.5 to 0.6 Patch100: https://github.com/Majored/rs-async-zip/pull/153.patch From ae35072a416159378b7a8d1d323c9401e1bcc622 Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Tue, 17 Jun 2025 23:20:51 -0400 Subject: [PATCH 040/214] No longer allow goblin 0.9 --- uv.spec | 7 ------- 1 file changed, 7 deletions(-) diff --git a/uv.spec b/uv.spec index 28c427d..67cfe31 100644 --- a/uv.spec +++ b/uv.spec @@ -576,13 +576,6 @@ tomcli set crates/uv/Cargo.toml del dependencies.tracing-durations-export # # https://bugzilla.redhat.com/show_bug.cgi?id=1234567 # tomcli set crates/uv/Cargo.toml str dev-dependencies.foocrate.version 0.1.2 -# goblin -# wanted: 0.10.0 -# currently packaged: 0.9.3 -# https://bugzilla.redhat.com/show_bug.cgi?id=2368499 -tomcli set Cargo.toml str \ - workspace.dependencies.goblin.version '>= 0.9.3, <0.11' - # nix # wanted: 0.30.0 # currently packaged: 0.29.0 From a9e8b2c0b2e1232f86e9a61e578798094cf9aaa1 Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Fri, 20 Jun 2025 07:48:35 -0400 Subject: [PATCH 041/214] No longer allow nix 0.29 --- uv.spec | 7 ------- 1 file changed, 7 deletions(-) diff --git a/uv.spec b/uv.spec index 67cfe31..b87a32c 100644 --- a/uv.spec +++ b/uv.spec @@ -576,13 +576,6 @@ tomcli set crates/uv/Cargo.toml del dependencies.tracing-durations-export # # https://bugzilla.redhat.com/show_bug.cgi?id=1234567 # tomcli set crates/uv/Cargo.toml str dev-dependencies.foocrate.version 0.1.2 -# nix -# wanted: 0.30.0 -# currently packaged: 0.29.0 -# https://bugzilla.redhat.com/show_bug.cgi?id=2362868 -tomcli set Cargo.toml str \ - workspace.dependencies.nix.version '>= 0.29, <0.31' - %cargo_prep From 0cb6d987ac30b419a3b7252f9f94f2a55c108c08 Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Tue, 24 Jun 2025 20:42:52 -0400 Subject: [PATCH 042/214] Allow which 8 --- uv.spec | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/uv.spec b/uv.spec index b87a32c..35ddcc3 100644 --- a/uv.spec +++ b/uv.spec @@ -576,6 +576,14 @@ tomcli set crates/uv/Cargo.toml del dependencies.tracing-durations-export # # https://bugzilla.redhat.com/show_bug.cgi?id=1234567 # tomcli set crates/uv/Cargo.toml str dev-dependencies.foocrate.version 0.1.2 +# which +# wanted: 7.0.3 +# currently packaged: 7.0.3, but planning to update to 8.0.0 +# https://bugzilla.redhat.com/show_bug.cgi?id=1234567 +# Updated upstream in uv 0.4.13. +tomcli set Cargo.toml str workspace.dependencies.which.version \ + '>=7.0.0, <9.0.0' + %cargo_prep From 8a7b554c64583dbdc2b618dee1afc6fc34730343 Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Tue, 24 Jun 2025 11:52:33 -0400 Subject: [PATCH 043/214] Update to 0.7.14 --- .gitignore | 2 + 14238.patch | 39 ++++ 14243.patch | 348 ++++++++++++++++++++++++++++++++++ sources | 5 +- uv-0.7.13-unpin-reqwest.patch | 12 -- uv.spec | 74 ++++++-- 6 files changed, 448 insertions(+), 32 deletions(-) create mode 100644 14238.patch create mode 100644 14243.patch delete mode 100644 uv-0.7.13-unpin-reqwest.patch diff --git a/.gitignore b/.gitignore index 5f6c959..4d36ab6 100644 --- a/.gitignore +++ b/.gitignore @@ -120,3 +120,5 @@ /uv-0.7.11.tar.gz /uv-0.7.12.tar.gz /uv-0.7.13.tar.gz +/uv-0.7.14.tar.gz +/reqwest-middleware-ad8b9d332d1773fde8b4cd008486de5973e0a3f8.tar.gz diff --git a/14238.patch b/14238.patch new file mode 100644 index 0000000..5714ae6 --- /dev/null +++ b/14238.patch @@ -0,0 +1,39 @@ +From 880892c28cd6d8cc80ac6abfb0778aaf1becf029 Mon Sep 17 00:00:00 2001 +From: "Benjamin A. Beasley" +Date: Tue, 24 Jun 2025 08:46:58 -0400 +Subject: [PATCH] Stop forking wiremock; the necessary change is in 0.6.4 + +--- + Cargo.lock | 5 +++-- + Cargo.toml | 2 +- + 2 files changed, 4 insertions(+), 3 deletions(-) + +diff --git a/Cargo.lock b/Cargo.lock +index 6a717094ce64..0680e0c28df0 100644 +--- a/Cargo.lock ++++ b/Cargo.lock +@@ -6700,8 +6700,9 @@ checksum = "d135d17ab770252ad95e9a872d365cf3090e3be864a34ab46f48555993efc904" + + [[package]] + name = "wiremock" +-version = "0.6.3" +-source = "git+https://github.com/astral-sh/wiremock-rs?rev=b79b69f62521df9f83a54e866432397562eae789#b79b69f62521df9f83a54e866432397562eae789" ++version = "0.6.4" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "a2b8b99d4cdbf36b239a9532e31fe4fb8acc38d1897c1761e161550a7dc78e6a" + dependencies = [ + "assert-json-diff", + "async-trait", +diff --git a/Cargo.toml b/Cargo.toml +index 4269c6cfa340..b2d9c0f8a00e 100644 +--- a/Cargo.toml ++++ b/Cargo.toml +@@ -189,7 +189,7 @@ windows-core = { version = "0.59.0" } + windows-registry = { version = "0.5.0" } + windows-result = { version = "0.3.0" } + windows-sys = { version = "0.59.0", features = ["Win32_Foundation", "Win32_Security", "Win32_Storage_FileSystem", "Win32_System_Ioctl", "Win32_System_IO", "Win32_System_Registry"] } +-wiremock = { git = "https://github.com/astral-sh/wiremock-rs", rev = "b79b69f62521df9f83a54e866432397562eae789" } ++wiremock = { version = "0.6.4" } + xz2 = { version = "0.1.7" } + zip = { version = "2.2.3", default-features = false, features = ["deflate", "zstd", "bzip2", "lzma", "xz"] } + diff --git a/14243.patch b/14243.patch new file mode 100644 index 0000000..7477876 --- /dev/null +++ b/14243.patch @@ -0,0 +1,348 @@ +From 25ee6603fe0e725fdc709d830f11eeace1d7260a Mon Sep 17 00:00:00 2001 +From: "Benjamin A. Beasley" +Date: Tue, 24 Jun 2025 09:24:29 -0400 +Subject: [PATCH 1/3] Update dev-dep. on hyper-util in uv-client to 0.1.14 + +That version is already in Cargo.lock, but this still seems to make +sense given https://github.com/hyperium/hyper/issues/3900. +--- + crates/uv-client/Cargo.toml | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/crates/uv-client/Cargo.toml b/crates/uv-client/Cargo.toml +index bc7fc611f93a1..dc9112b0133a6 100644 +--- a/crates/uv-client/Cargo.toml ++++ b/crates/uv-client/Cargo.toml +@@ -62,7 +62,7 @@ url = { workspace = true } + anyhow = { workspace = true } + http-body-util = { version = "0.1.2" } + hyper = { version = "1.4.1", features = ["server", "http1"] } +-hyper-util = { version = "0.1.8", features = ["tokio"] } ++hyper-util = { version = "0.1.14", features = ["tokio"] } + insta = { version = "1.40.0", features = ["filters", "json", "redactions"] } + tokio = { workspace = true } + wiremock = { workspace = true } + +From 6aa331ed816bf85ba5b5600e7915ff83264f04a6 Mon Sep 17 00:00:00 2001 +From: "Benjamin A. Beasley" +Date: Tue, 24 Jun 2025 09:22:56 -0400 +Subject: [PATCH 2/3] Unpin reqwest + +This was pinned in 794b3ec7506e0430b088a24d2e680ed7ac8d14b4 as a +workaround for https://github.com/astral-sh/uv/issues/13831; since the +fix is in hyper-util 0.1.14 (see +https://github.com/hyperium/hyper/issues/3900), and Cargo.lock has that +version, we can unpin reqwest now. + +A few insta snapshots needed to be updated for reqwest>=0.12.16. +--- + Cargo.lock | 95 ++++++++++++++++++----------------- + Cargo.toml | 2 +- + crates/uv/tests/it/network.rs | 8 +-- + 3 files changed, 54 insertions(+), 51 deletions(-) + +diff --git a/Cargo.lock b/Cargo.lock +index 0680e0c28df0d..7516803484f6a 100644 +--- a/Cargo.lock ++++ b/Cargo.lock +@@ -738,7 +738,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" + checksum = "117725a109d387c937a1533ce01b450cbde6b88abceea8473c4d7a85853cda3c" + dependencies = [ + "lazy_static", +- "windows-sys 0.59.0", ++ "windows-sys 0.48.0", + ] + + [[package]] +@@ -1675,7 +1675,7 @@ dependencies = [ + "tokio", + "tokio-rustls", + "tower-service", +- "webpki-roots", ++ "webpki-roots 0.26.8", + ] + + [[package]] +@@ -1684,6 +1684,7 @@ version = "0.1.14" + source = "registry+https://github.com/rust-lang/crates.io-index" + checksum = "dc2fdfdbff08affe55bb779f33b053aa1fe5dd5b54c257343c17edfa55711bdb" + dependencies = [ ++ "base64 0.22.1", + "bytes", + "futures-channel", + "futures-core", +@@ -1691,7 +1692,9 @@ dependencies = [ + "http", + "http-body", + "hyper", ++ "ipnet", + "libc", ++ "percent-encoding", + "pin-project-lite", + "socket2", + "tokio", +@@ -1922,6 +1925,16 @@ version = "2.11.0" + source = "registry+https://github.com/rust-lang/crates.io-index" + checksum = "469fb0b9cefa57e3ef31275ee7cacb78f2fdca44e4765491884a2b119d4eb130" + ++[[package]] ++name = "iri-string" ++version = "0.7.8" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "dbc5ebe9c3a1a7a5127f920a418f7585e9e758e911d0466ed004f393b0e380b2" ++dependencies = [ ++ "memchr", ++ "serde", ++] ++ + [[package]] + name = "is-terminal" + version = "0.4.15" +@@ -3039,9 +3052,9 @@ dependencies = [ + + [[package]] + name = "reqwest" +-version = "0.12.15" ++version = "0.12.20" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "d19c46a6fdd48bc4dab94b6103fccc55d34c67cc0ad04653aad4ea2a07cd7bbb" ++checksum = "eabf4c97d9130e2bf606614eb937e86edac8292eaa6f422f995d7e8de1eb1813" + dependencies = [ + "async-compression", + "base64 0.22.1", +@@ -3056,18 +3069,14 @@ dependencies = [ + "hyper", + "hyper-rustls", + "hyper-util", +- "ipnet", + "js-sys", + "log", +- "mime", + "mime_guess", +- "once_cell", + "percent-encoding", + "pin-project-lite", + "quinn", + "rustls", + "rustls-native-certs", +- "rustls-pemfile", + "rustls-pki-types", + "serde", + "serde_json", +@@ -3075,17 +3084,16 @@ dependencies = [ + "sync_wrapper", + "tokio", + "tokio-rustls", +- "tokio-socks", + "tokio-util", + "tower", ++ "tower-http", + "tower-service", + "url", + "wasm-bindgen", + "wasm-bindgen-futures", + "wasm-streams", + "web-sys", +- "webpki-roots", +- "windows-registry 0.4.0", ++ "webpki-roots 1.0.1", + ] + + [[package]] +@@ -3328,15 +3336,6 @@ dependencies = [ + "security-framework", + ] + +-[[package]] +-name = "rustls-pemfile" +-version = "2.2.0" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "dce314e5fee3f39953d46bb63bb8a46d40c2f8fb7cc5a3b6cab2bde9721d6e50" +-dependencies = [ +- "rustls-pki-types", +-] +- + [[package]] + name = "rustls-pki-types" + version = "1.11.0" +@@ -4138,18 +4137,6 @@ dependencies = [ + "tokio", + ] + +-[[package]] +-name = "tokio-socks" +-version = "0.5.2" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "0d4770b8024672c1101b3f6733eab95b18007dbe0847a8afe341fcf79e06043f" +-dependencies = [ +- "either", +- "futures-util", +- "thiserror 1.0.69", +- "tokio", +-] +- + [[package]] + name = "tokio-stream" + version = "0.1.17" +@@ -4232,6 +4219,24 @@ dependencies = [ + "tower-service", + ] + ++[[package]] ++name = "tower-http" ++version = "0.6.6" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "adc82fd73de2a9722ac5da747f12383d2bfdb93591ee6c58486e0097890f05f2" ++dependencies = [ ++ "bitflags 2.9.1", ++ "bytes", ++ "futures-util", ++ "http", ++ "http-body", ++ "iri-string", ++ "pin-project-lite", ++ "tower", ++ "tower-layer", ++ "tower-service", ++] ++ + [[package]] + name = "tower-layer" + version = "0.3.3" +@@ -5601,7 +5606,7 @@ dependencies = [ + "uv-trampoline-builder", + "uv-warnings", + "which", +- "windows-registry 0.5.2", ++ "windows-registry", + "windows-result 0.3.4", + "windows-sys 0.59.0", + ] +@@ -5805,7 +5810,7 @@ dependencies = [ + "tracing", + "uv-fs", + "uv-static", +- "windows-registry 0.5.2", ++ "windows-registry", + "windows-result 0.3.4", + "windows-sys 0.59.0", + ] +@@ -6186,6 +6191,15 @@ dependencies = [ + "rustls-pki-types", + ] + ++[[package]] ++name = "webpki-roots" ++version = "1.0.1" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "8782dd5a41a24eed3a4f40b606249b3e236ca61adf1f25ea4d45c73de122b502" ++dependencies = [ ++ "rustls-pki-types", ++] ++ + [[package]] + name = "weezl" + version = "0.1.8" +@@ -6243,7 +6257,7 @@ version = "0.1.9" + source = "registry+https://github.com/rust-lang/crates.io-index" + checksum = "cf221c93e13a30d793f7645a0e7762c55d169dbb0a49671918a2319d289b10bb" + dependencies = [ +- "windows-sys 0.59.0", ++ "windows-sys 0.48.0", + ] + + [[package]] +@@ -6413,17 +6427,6 @@ dependencies = [ + "windows-link", + ] + +-[[package]] +-name = "windows-registry" +-version = "0.4.0" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "4286ad90ddb45071efd1a66dfa43eb02dd0dfbae1545ad6cc3c51cf34d7e8ba3" +-dependencies = [ +- "windows-result 0.3.4", +- "windows-strings 0.3.1", +- "windows-targets 0.53.0", +-] +- + [[package]] + name = "windows-registry" + version = "0.5.2" +diff --git a/Cargo.toml b/Cargo.toml +index b2d9c0f8a00e7..2911ec2bbd565 100644 +--- a/Cargo.toml ++++ b/Cargo.toml +@@ -142,7 +142,7 @@ ref-cast = { version = "1.0.24" } + reflink-copy = { version = "0.1.19" } + regex = { version = "1.10.6" } + regex-automata = { version = "0.4.8", default-features = false, features = ["dfa-build", "dfa-search", "perf", "std", "syntax"] } +-reqwest = { version = "=0.12.15", default-features = false, features = ["json", "gzip", "deflate", "zstd", "stream", "rustls-tls", "rustls-tls-native-roots", "socks", "multipart", "http2", "blocking"] } ++reqwest = { version = "0.12.16", default-features = false, features = ["json", "gzip", "deflate", "zstd", "stream", "rustls-tls", "rustls-tls-native-roots", "socks", "multipart", "http2", "blocking"] } + reqwest-middleware = { git = "https://github.com/astral-sh/reqwest-middleware", rev = "ad8b9d332d1773fde8b4cd008486de5973e0a3f8", features = ["multipart"] } + reqwest-retry = { git = "https://github.com/astral-sh/reqwest-middleware", rev = "ad8b9d332d1773fde8b4cd008486de5973e0a3f8" } + rkyv = { version = "0.8.8", features = ["bytecheck"] } +diff --git a/crates/uv/tests/it/network.rs b/crates/uv/tests/it/network.rs +index 1a58059700c23..7f81040509097 100644 +--- a/crates/uv/tests/it/network.rs ++++ b/crates/uv/tests/it/network.rs +@@ -80,7 +80,7 @@ async fn simple_io_err() { + ----- stderr ----- + error: Failed to fetch: `[SERVER]/tqdm/` + Caused by: Request failed after 3 retries +- Caused by: error sending request for url ([SERVER]/tqdm/) ++ Caused by: error sending request + Caused by: client error (SendRequest) + Caused by: connection closed before message completed + "); +@@ -134,7 +134,7 @@ async fn find_links_io_error() { + error: Failed to read `--find-links` URL: [SERVER]/ + Caused by: Failed to fetch: `[SERVER]/` + Caused by: Request failed after 3 retries +- Caused by: error sending request for url ([SERVER]/) ++ Caused by: error sending request + Caused by: client error (SendRequest) + Caused by: connection closed before message completed + "); +@@ -189,7 +189,7 @@ async fn direct_url_io_error() { + × Failed to download `tqdm @ [SERVER]/packages/d0/30/dc54f88dd4a2b5dc8a0279bdd7270e735851848b762aeb1c1184ed1f6b14/tqdm-4.67.1-py3-none-any.whl` + ├─▶ Failed to fetch: `[SERVER]/packages/d0/30/dc54f88dd4a2b5dc8a0279bdd7270e735851848b762aeb1c1184ed1f6b14/tqdm-4.67.1-py3-none-any.whl` + ├─▶ Request failed after 3 retries +- ├─▶ error sending request for url ([SERVER]/packages/d0/30/dc54f88dd4a2b5dc8a0279bdd7270e735851848b762aeb1c1184ed1f6b14/tqdm-4.67.1-py3-none-any.whl) ++ ├─▶ error sending request + ├─▶ client error (SendRequest) + ╰─▶ connection closed before message completed + "); +@@ -278,7 +278,7 @@ async fn python_install_io_error() { + error: Failed to install cpython-3.10.0-macos-aarch64-none + Caused by: Failed to download [SERVER]/astral-sh/python-build-standalone/releases/download/20211017/cpython-3.10.0-aarch64-apple-darwin-pgo%2Blto-20211017T1616.tar.zst + Caused by: Request failed after 3 retries +- Caused by: error sending request for url ([SERVER]/astral-sh/python-build-standalone/releases/download/20211017/cpython-3.10.0-aarch64-apple-darwin-pgo%2Blto-20211017T1616.tar.zst) ++ Caused by: error sending request + Caused by: client error (SendRequest) + Caused by: connection closed before message completed + "); + +From dc9dec66a289337a849f2532e4ff2b86b66e049d Mon Sep 17 00:00:00 2001 +From: konstin +Date: Tue, 24 Jun 2025 21:04:10 +0200 +Subject: [PATCH 3/3] Use reqwest 0.12.20 + +--- + Cargo.toml | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Cargo.toml b/Cargo.toml +index 2911ec2bbd565..99c5651f67fc6 100644 +--- a/Cargo.toml ++++ b/Cargo.toml +@@ -142,7 +142,7 @@ ref-cast = { version = "1.0.24" } + reflink-copy = { version = "0.1.19" } + regex = { version = "1.10.6" } + regex-automata = { version = "0.4.8", default-features = false, features = ["dfa-build", "dfa-search", "perf", "std", "syntax"] } +-reqwest = { version = "0.12.16", default-features = false, features = ["json", "gzip", "deflate", "zstd", "stream", "rustls-tls", "rustls-tls-native-roots", "socks", "multipart", "http2", "blocking"] } ++reqwest = { version = "0.12.20", default-features = false, features = ["json", "gzip", "deflate", "zstd", "stream", "rustls-tls", "rustls-tls-native-roots", "socks", "multipart", "http2", "blocking"] } + reqwest-middleware = { git = "https://github.com/astral-sh/reqwest-middleware", rev = "ad8b9d332d1773fde8b4cd008486de5973e0a3f8", features = ["multipart"] } + reqwest-retry = { git = "https://github.com/astral-sh/reqwest-middleware", rev = "ad8b9d332d1773fde8b4cd008486de5973e0a3f8" } + rkyv = { version = "0.8.8", features = ["bytecheck"] } diff --git a/sources b/sources index 9297f30..c80bf47 100644 --- a/sources +++ b/sources @@ -1,4 +1,5 @@ -SHA512 (uv-0.7.13.tar.gz) = 5a8b523476071c9da83eafea3a6624e48e7ff60a1a65c551d061af3ed01d852d6dafc5c3feb1458b76c6d64eaa37e038bfe82c5a962c96f87bfe1389ad811674 -SHA512 (pubgrub-06ec5a5f59ffaeb6cf5079c6cb184467da06c9db.tar.gz) = 3f0b18aecbc73fee91fc7de9f10d240ddc06c836fa2f116c1f007dd7818d099e6aea1852ca0b8d1a26ac19aac896535dba1a6298851a65515b553810c6245784 +SHA512 (uv-0.7.14.tar.gz) = d9215b99c798289de87e87d1baf6458960f64661be577f33758543486725e4c24ed5ccd2f286dacef9a21119fce0401db2cfd3b0cedc74fac27feed6f9514f7c SHA512 (rs-async-zip-c909fda63fcafe4af496a07bfda28a5aae97e58d.tar.gz) = 3a309566f4925b02496fcf19bc2865968edf6fb65082ca4079d2cee79e6b0353a1910c079f2afe656da0d0f6ddde5102052a221ea35a7dabc6d690a11218b20a +SHA512 (pubgrub-06ec5a5f59ffaeb6cf5079c6cb184467da06c9db.tar.gz) = 3f0b18aecbc73fee91fc7de9f10d240ddc06c836fa2f116c1f007dd7818d099e6aea1852ca0b8d1a26ac19aac896535dba1a6298851a65515b553810c6245784 +SHA512 (reqwest-middleware-ad8b9d332d1773fde8b4cd008486de5973e0a3f8.tar.gz) = 2dad83835c87cdd79e2a08c19b5024b3fdf30d1d8cd14e480e434612e856ecc20a5404881ff81d5793d3e9d5808ee3d59ce920312a86a100535009da43d7d46b SHA512 (tl-6e25b2ee2513d75385101a8ff9f591ef51f314ec.tar.gz) = 4abbc4240ed129c92da8d616e27a6df0f24cdc85a0803acfdae588ca91f9e5b8d482e3ac88b2e657ff68917b1b43cef1e7ef3c887f624659b231fa5a13fcae68 diff --git a/uv-0.7.13-unpin-reqwest.patch b/uv-0.7.13-unpin-reqwest.patch deleted file mode 100644 index 8c04a3a..0000000 --- a/uv-0.7.13-unpin-reqwest.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -Naur uv-0.7.13-original/Cargo.toml uv-0.7.13/Cargo.toml ---- uv-0.7.13-original/Cargo.toml 2025-06-12 15:33:31.000000000 -0400 -+++ uv-0.7.13/Cargo.toml 2025-06-12 20:38:06.759717740 -0400 -@@ -142,7 +142,7 @@ - reflink-copy = { version = "0.1.19" } - regex = { version = "1.10.6" } - regex-automata = { version = "0.4.8", default-features = false, features = ["dfa-build", "dfa-search", "perf", "std", "syntax"] } --reqwest = { version = "=0.12.15", default-features = false, features = ["json", "gzip", "deflate", "zstd", "stream", "rustls-tls", "rustls-tls-native-roots", "socks", "multipart", "http2", "blocking"] } -+reqwest = { version = "0.12.15", default-features = false, features = ["json", "gzip", "deflate", "zstd", "stream", "rustls-tls", "rustls-tls-native-roots", "socks", "multipart", "http2", "blocking"] } - reqwest-middleware = { version = "0.4.0", features = ["multipart"] } - reqwest-retry = { version = "0.7.0" } - rkyv = { version = "0.8.8", features = ["bytecheck"] } diff --git a/uv.spec b/uv.spec index 35ddcc3..c4e276e 100644 --- a/uv.spec +++ b/uv.spec @@ -11,7 +11,7 @@ %bcond it %{undefined el10} Name: uv -Version: 0.7.13 +Version: 0.7.14 Release: %autorelease Summary: An extremely fast Python package installer and resolver, written in Rust @@ -75,6 +75,7 @@ Summary: An extremely fast Python package installer and resolver, written # licenses of the following bundled forks: # - async_zip, Source100, is MIT. # - pubgrub/version-ranges, Source200, is MPL-2.0. +# - reqwest-middleware/reqwest-retry, Source300, is (MIT OR Apache-2.0). # - tl, Source400, is MIT. # # (Apache-2.0 OR MIT) AND BSD-3-Clause @@ -164,6 +165,20 @@ Source100: %{async_zip_git}/archive/%{async_zip_rev}/rs-async-zip-%{async_z %global version_ranges_baseversion 0.1.1 Source200: %{pubgrub_git}/archive/%{pubgrub_rev}/pubgrub-%{pubgrub_rev}.tar.gz +# Until “Report retry count on Ok results,” +# https://github.com/TrueLayer/reqwest-middleware/pull/235, is reviewed, +# merged, and released, uv must use a fork of reqwest-middleware/reqwest-retry +# to support the changes in “Show retries for HTTP status code errors,” +# https://github.com/astral-sh/uv/pull/13897. We therefore bundle the fork as +# prescribed in +# https://docs.fedoraproject.org/en-US/packaging-guidelines/Rust/#_replacing_git_dependencies +%global reqwest_middleware_git https://github.com/astral-sh/reqwest-middleware +%global reqwest_middleware_rev ad8b9d332d1773fde8b4cd008486de5973e0a3f8 +%global reqwest_middleware_baseversion 0.4.2 +%global reqwest_middleware_snapdate 20250607 +%global reqwest_retry_baseversion 0.7.0 +Source300: %{reqwest_middleware_git}/archive/%{reqwest_middleware_rev}/reqwest-middleware-%{reqwest_middleware_rev}.tar.gz + # For the time being, uv must use a fork of tl. See: # Path back to using released tl crate dependency? # https://github.com/astral-sh/uv/issues/6687 @@ -195,19 +210,13 @@ Patch: 0001-Downstream-only-do-not-override-the-default-allocato.patch # https://github.com/astral-sh/uv/issues/4451 Patch: 0001-Downstream-patch-always-find-the-system-wide-uv-exec.patch -# Unpin reqwest. Reverts “Downgrade reqwest and hyper-util,” -# https://github.com/astral-sh/uv/pull/13835. The pin was due to -# https://github.com/astral-sh/uv/issues/13831, and based on discussion in that -# issue and in https://github.com/hyperium/hyper-util/pull/200, we can update -# reqwest as long as we also update hyper-util to 0.1.14 or later. -# -# The issue that the pin worked around was only reported on MacOS, but we would -# rather not assume that is the only place it occurs. -# -# This is downstream-only because it is extremely temporary: upstream is -# tracking and testing the fix in hyper-util, and we can expect that the -# version pin will be removed in the next release or two. -Patch: uv-0.7.13-unpin-reqwest.patch +# Update to reqwest 0.12.20 +# https://github.com/astral-sh/uv/pull/14243 +Patch: %{url}/pull/14243.patch + +# Stop forking wiremock; the necessary change is in 0.6.4 +# https://github.com/astral-sh/uv/pull/14238 +Patch: %{url}/pull/14238.patch # Update sanitize-filename requirement from 0.5 to 0.6 Patch100: https://github.com/Majored/rs-async-zip/pull/153.patch @@ -261,6 +270,13 @@ Provides: bundled(crate(async_zip)) = %{async_zip_version} %global version_ranges_version %{version_ranges_baseversion}^%{pubgrub_snapinfo} Provides: bundled(crate(pubgrub)) = %{pubgrub_version} Provides: bundled(crate(version-ranges)) = %{version_ranges_version} +# This is a fork of reqwest-middleware/reqwest-retry; see the notes about +# Source300. +%global reqwest_middleware_snapinfo %{reqwest_middleware_snapdate}git%{sub %{reqwest_middleware_rev} 1 7} +%global reqwest_middleware_version %{reqwest_middleware_baseversion}^%{reqwest_middleware_snapinfo} +%global reqwest_retry_version %{reqwest_retry_baseversion}^%{reqwest_middleware_snapinfo} +Provides: bundled(crate(reqwest-middleware)) = %{reqwest_middleware_version} +Provides: bundled(crate(reqwest-retry)) = %{reqwest_retry_version} # This is a fork of tl; see the notes about Source400. %global tl_snapinfo %{tl_snapdate}git%{sub %{tl_rev} 1 7} %global tl_version %{tl_baseversion}^%{tl_snapinfo} @@ -446,6 +462,29 @@ install -t LICENSE.bundled/version-ranges -D -p -m 0644 \ crates/pubgrub/version-ranges/LICENSE git2path workspace.dependencies.version-ranges crates/pubgrub/version-ranges +# See comments above Source300: +%setup -q -T -D -b 300 -n uv-%{version} +pushd '../reqwest-middleware-%{reqwest_middleware_rev}/reqwest-middleware' +%autopatch -p1 -m300 -M399 +popd +ln -s '../../reqwest-middleware-%{reqwest_middleware_rev}/reqwest-middleware' \ + crates/reqwest-middleware +ln -s '../../reqwest-middleware-%{reqwest_middleware_rev}/reqwest-retry' \ + crates/reqwest-retry +git2path workspace.dependencies.reqwest-middleware crates/reqwest-middleware +git2path workspace.dependencies.reqwest-retry crates/reqwest-retry +tomcli set Cargo.toml del patch.crates-io.reqwest-middleware +tomcli set Cargo.toml del patch.crates-io.reqwest-retry +# We do not need the reqwest-tracing crate. +rm -rv '../reqwest-middleware-%{reqwest_middleware_rev}/reqwest-tracing' +tomcli set crates/reqwest-middleware/Cargo.toml del \ + dev-dependencies.reqwest-tracing +# Note that install does always dereference symlinks, which is what we want: +install -t LICENSE.bundled/reqwest-middleware -D -p -m 0644 \ + crates/reqwest-middleware/LICENSE* +install -t LICENSE.bundled/reqwest-retry -D -p -m 0644 \ + crates/reqwest-retry/LICENSE* + # See comments above Source400: %setup -q -T -D -b 400 -n uv-%{version} ln -s '../../tl-%{tl_rev}' crates/tl @@ -577,12 +616,11 @@ tomcli set crates/uv/Cargo.toml del dependencies.tracing-durations-export # tomcli set crates/uv/Cargo.toml str dev-dependencies.foocrate.version 0.1.2 # which -# wanted: 7.0.3 -# currently packaged: 7.0.3, but planning to update to 8.0.0 +# wanted: 8.0.0 +# currently packaged: 7.0.3 # https://bugzilla.redhat.com/show_bug.cgi?id=1234567 -# Updated upstream in uv 0.4.13. tomcli set Cargo.toml str workspace.dependencies.which.version \ - '>=7.0.0, <9.0.0' + '>=7.0.3, <9.0.0' %cargo_prep From 60fbba09471fc6cbfa8ae9330a36265c86bf1610 Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Tue, 24 Jun 2025 20:38:59 -0400 Subject: [PATCH 044/214] Bundle ONLY reqwest-retry, not reqwest-middleware While they come from the same repository, uv upstream only forked reqwest-retry. --- uv.spec | 26 ++++++++++++-------------- 1 file changed, 12 insertions(+), 14 deletions(-) diff --git a/uv.spec b/uv.spec index c4e276e..4bc6797 100644 --- a/uv.spec +++ b/uv.spec @@ -174,7 +174,6 @@ Source200: %{pubgrub_git}/archive/%{pubgrub_rev}/pubgrub-%{pubgrub_rev}.tar # https://docs.fedoraproject.org/en-US/packaging-guidelines/Rust/#_replacing_git_dependencies %global reqwest_middleware_git https://github.com/astral-sh/reqwest-middleware %global reqwest_middleware_rev ad8b9d332d1773fde8b4cd008486de5973e0a3f8 -%global reqwest_middleware_baseversion 0.4.2 %global reqwest_middleware_snapdate 20250607 %global reqwest_retry_baseversion 0.7.0 Source300: %{reqwest_middleware_git}/archive/%{reqwest_middleware_rev}/reqwest-middleware-%{reqwest_middleware_rev}.tar.gz @@ -273,9 +272,7 @@ Provides: bundled(crate(version-ranges)) = %{version_ranges_version} # This is a fork of reqwest-middleware/reqwest-retry; see the notes about # Source300. %global reqwest_middleware_snapinfo %{reqwest_middleware_snapdate}git%{sub %{reqwest_middleware_rev} 1 7} -%global reqwest_middleware_version %{reqwest_middleware_baseversion}^%{reqwest_middleware_snapinfo} %global reqwest_retry_version %{reqwest_retry_baseversion}^%{reqwest_middleware_snapinfo} -Provides: bundled(crate(reqwest-middleware)) = %{reqwest_middleware_version} Provides: bundled(crate(reqwest-retry)) = %{reqwest_retry_version} # This is a fork of tl; see the notes about Source400. %global tl_snapinfo %{tl_snapdate}git%{sub %{tl_rev} 1 7} @@ -467,23 +464,24 @@ git2path workspace.dependencies.version-ranges crates/pubgrub/version-ranges pushd '../reqwest-middleware-%{reqwest_middleware_rev}/reqwest-middleware' %autopatch -p1 -m300 -M399 popd -ln -s '../../reqwest-middleware-%{reqwest_middleware_rev}/reqwest-middleware' \ - crates/reqwest-middleware +# Upstream has only modified reqwest-retry, so we may as well use the system +# copy of reqwest-middleware. +rm -rv '../reqwest-middleware-%{reqwest_middleware_rev}/reqwest-middleware' +tomcli set Cargo.toml del 'workspace.dependencies.reqwest-middleware.git' +tomcli set Cargo.toml del 'workspace.dependencies.reqwest-middleware.rev' +tomcli set Cargo.toml str 'workspace.dependencies.reqwest-middleware.version' \ + '0.4.2' +tomcli set Cargo.toml del patch.crates-io.reqwest-middleware ln -s '../../reqwest-middleware-%{reqwest_middleware_rev}/reqwest-retry' \ crates/reqwest-retry -git2path workspace.dependencies.reqwest-middleware crates/reqwest-middleware git2path workspace.dependencies.reqwest-retry crates/reqwest-retry -tomcli set Cargo.toml del patch.crates-io.reqwest-middleware tomcli set Cargo.toml del patch.crates-io.reqwest-retry -# We do not need the reqwest-tracing crate. -rm -rv '../reqwest-middleware-%{reqwest_middleware_rev}/reqwest-tracing' -tomcli set crates/reqwest-middleware/Cargo.toml del \ - dev-dependencies.reqwest-tracing -# Note that install does always dereference symlinks, which is what we want: -install -t LICENSE.bundled/reqwest-middleware -D -p -m 0644 \ - crates/reqwest-middleware/LICENSE* +tomcli set crates/reqwest-retry/Cargo.toml del \ + 'dependencies.reqwest-middleware.path' install -t LICENSE.bundled/reqwest-retry -D -p -m 0644 \ crates/reqwest-retry/LICENSE* +# We do not need the reqwest-tracing crate. +rm -rv '../reqwest-middleware-%{reqwest_middleware_rev}/reqwest-tracing' # See comments above Source400: %setup -q -T -D -b 400 -n uv-%{version} From d788a42a20bd117b34afd26d1271d7c51ad25f43 Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Tue, 24 Jun 2025 20:41:01 -0400 Subject: [PATCH 045/214] Skip a known issue with reqwest>0.12.5 for now --- uv.spec | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/uv.spec b/uv.spec index 4bc6797..3fc98a0 100644 --- a/uv.spec +++ b/uv.spec @@ -763,6 +763,10 @@ skip="${skip-} --skip middleware::tests::test_tracing_url" # ────────────┴─────────────────────────────────────────────────────────────────── skip="${skip-} --skip tests::built_by_uv_building" +# Upstream is working on this; see +# https://github.com/astral-sh/uv/pull/14243#issuecomment-3001792931. +skip="${skip-} --skip registry_client::tests::test_redirect_preserve_fragment" + %cargo_test -- -- --exact ${skip-} %endif From 482caf848eae7dead3787d6cd4f76ed6a7455d6a Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Wed, 25 Jun 2025 23:27:52 -0400 Subject: [PATCH 046/214] Update to 0.7.15 --- .gitignore | 1 + 14238.patch | 39 --------------------------------------- sources | 2 +- uv.spec | 6 +----- 4 files changed, 3 insertions(+), 45 deletions(-) delete mode 100644 14238.patch diff --git a/.gitignore b/.gitignore index 4d36ab6..72709ce 100644 --- a/.gitignore +++ b/.gitignore @@ -122,3 +122,4 @@ /uv-0.7.13.tar.gz /uv-0.7.14.tar.gz /reqwest-middleware-ad8b9d332d1773fde8b4cd008486de5973e0a3f8.tar.gz +/uv-0.7.15.tar.gz diff --git a/14238.patch b/14238.patch deleted file mode 100644 index 5714ae6..0000000 --- a/14238.patch +++ /dev/null @@ -1,39 +0,0 @@ -From 880892c28cd6d8cc80ac6abfb0778aaf1becf029 Mon Sep 17 00:00:00 2001 -From: "Benjamin A. Beasley" -Date: Tue, 24 Jun 2025 08:46:58 -0400 -Subject: [PATCH] Stop forking wiremock; the necessary change is in 0.6.4 - ---- - Cargo.lock | 5 +++-- - Cargo.toml | 2 +- - 2 files changed, 4 insertions(+), 3 deletions(-) - -diff --git a/Cargo.lock b/Cargo.lock -index 6a717094ce64..0680e0c28df0 100644 ---- a/Cargo.lock -+++ b/Cargo.lock -@@ -6700,8 +6700,9 @@ checksum = "d135d17ab770252ad95e9a872d365cf3090e3be864a34ab46f48555993efc904" - - [[package]] - name = "wiremock" --version = "0.6.3" --source = "git+https://github.com/astral-sh/wiremock-rs?rev=b79b69f62521df9f83a54e866432397562eae789#b79b69f62521df9f83a54e866432397562eae789" -+version = "0.6.4" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "a2b8b99d4cdbf36b239a9532e31fe4fb8acc38d1897c1761e161550a7dc78e6a" - dependencies = [ - "assert-json-diff", - "async-trait", -diff --git a/Cargo.toml b/Cargo.toml -index 4269c6cfa340..b2d9c0f8a00e 100644 ---- a/Cargo.toml -+++ b/Cargo.toml -@@ -189,7 +189,7 @@ windows-core = { version = "0.59.0" } - windows-registry = { version = "0.5.0" } - windows-result = { version = "0.3.0" } - windows-sys = { version = "0.59.0", features = ["Win32_Foundation", "Win32_Security", "Win32_Storage_FileSystem", "Win32_System_Ioctl", "Win32_System_IO", "Win32_System_Registry"] } --wiremock = { git = "https://github.com/astral-sh/wiremock-rs", rev = "b79b69f62521df9f83a54e866432397562eae789" } -+wiremock = { version = "0.6.4" } - xz2 = { version = "0.1.7" } - zip = { version = "2.2.3", default-features = false, features = ["deflate", "zstd", "bzip2", "lzma", "xz"] } - diff --git a/sources b/sources index c80bf47..be400fb 100644 --- a/sources +++ b/sources @@ -1,4 +1,4 @@ -SHA512 (uv-0.7.14.tar.gz) = d9215b99c798289de87e87d1baf6458960f64661be577f33758543486725e4c24ed5ccd2f286dacef9a21119fce0401db2cfd3b0cedc74fac27feed6f9514f7c +SHA512 (uv-0.7.15.tar.gz) = df23af02a054b276c188c0600706fabdc3fab0171b23c091125d4c6d134a010a3cbf1a6f3dad0bdacfef65f8916bea685023166d9f50b6f7bc7d7d7ad2813de1 SHA512 (rs-async-zip-c909fda63fcafe4af496a07bfda28a5aae97e58d.tar.gz) = 3a309566f4925b02496fcf19bc2865968edf6fb65082ca4079d2cee79e6b0353a1910c079f2afe656da0d0f6ddde5102052a221ea35a7dabc6d690a11218b20a SHA512 (pubgrub-06ec5a5f59ffaeb6cf5079c6cb184467da06c9db.tar.gz) = 3f0b18aecbc73fee91fc7de9f10d240ddc06c836fa2f116c1f007dd7818d099e6aea1852ca0b8d1a26ac19aac896535dba1a6298851a65515b553810c6245784 SHA512 (reqwest-middleware-ad8b9d332d1773fde8b4cd008486de5973e0a3f8.tar.gz) = 2dad83835c87cdd79e2a08c19b5024b3fdf30d1d8cd14e480e434612e856ecc20a5404881ff81d5793d3e9d5808ee3d59ce920312a86a100535009da43d7d46b diff --git a/uv.spec b/uv.spec index 3fc98a0..6375d6b 100644 --- a/uv.spec +++ b/uv.spec @@ -11,7 +11,7 @@ %bcond it %{undefined el10} Name: uv -Version: 0.7.14 +Version: 0.7.15 Release: %autorelease Summary: An extremely fast Python package installer and resolver, written in Rust @@ -213,10 +213,6 @@ Patch: 0001-Downstream-patch-always-find-the-system-wide-uv-exec.patch # https://github.com/astral-sh/uv/pull/14243 Patch: %{url}/pull/14243.patch -# Stop forking wiremock; the necessary change is in 0.6.4 -# https://github.com/astral-sh/uv/pull/14238 -Patch: %{url}/pull/14238.patch - # Update sanitize-filename requirement from 0.5 to 0.6 Patch100: https://github.com/Majored/rs-async-zip/pull/153.patch From 331f0565551bb7975e3e720efe92c543d28462e0 Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Sat, 28 Jun 2025 11:38:15 -0400 Subject: [PATCH 047/214] Update to 0.7.16 (close RHBZ#2374471) --- .gitignore | 1 + sources | 2 +- uv.spec | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 72709ce..7280268 100644 --- a/.gitignore +++ b/.gitignore @@ -123,3 +123,4 @@ /uv-0.7.14.tar.gz /reqwest-middleware-ad8b9d332d1773fde8b4cd008486de5973e0a3f8.tar.gz /uv-0.7.15.tar.gz +/uv-0.7.16.tar.gz diff --git a/sources b/sources index be400fb..5915f45 100644 --- a/sources +++ b/sources @@ -1,4 +1,4 @@ -SHA512 (uv-0.7.15.tar.gz) = df23af02a054b276c188c0600706fabdc3fab0171b23c091125d4c6d134a010a3cbf1a6f3dad0bdacfef65f8916bea685023166d9f50b6f7bc7d7d7ad2813de1 +SHA512 (uv-0.7.16.tar.gz) = 4edfadf3b28a6af195ae6c709e7f41af9c2b0da408e637bca2c4ff70717e4c1027a84c69a33b14f58fd2a1f1cc530927ac6bda4d43495116b6280393f2553dca SHA512 (rs-async-zip-c909fda63fcafe4af496a07bfda28a5aae97e58d.tar.gz) = 3a309566f4925b02496fcf19bc2865968edf6fb65082ca4079d2cee79e6b0353a1910c079f2afe656da0d0f6ddde5102052a221ea35a7dabc6d690a11218b20a SHA512 (pubgrub-06ec5a5f59ffaeb6cf5079c6cb184467da06c9db.tar.gz) = 3f0b18aecbc73fee91fc7de9f10d240ddc06c836fa2f116c1f007dd7818d099e6aea1852ca0b8d1a26ac19aac896535dba1a6298851a65515b553810c6245784 SHA512 (reqwest-middleware-ad8b9d332d1773fde8b4cd008486de5973e0a3f8.tar.gz) = 2dad83835c87cdd79e2a08c19b5024b3fdf30d1d8cd14e480e434612e856ecc20a5404881ff81d5793d3e9d5808ee3d59ce920312a86a100535009da43d7d46b diff --git a/uv.spec b/uv.spec index 6375d6b..94b28ce 100644 --- a/uv.spec +++ b/uv.spec @@ -11,7 +11,7 @@ %bcond it %{undefined el10} Name: uv -Version: 0.7.15 +Version: 0.7.16 Release: %autorelease Summary: An extremely fast Python package installer and resolver, written in Rust From 66cdfd16090bfbed591f31ac1eecd59021e93005 Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Sat, 28 Jun 2025 11:55:40 -0400 Subject: [PATCH 048/214] No longer allow which 7 --- uv.spec | 7 ------- 1 file changed, 7 deletions(-) diff --git a/uv.spec b/uv.spec index 94b28ce..3af6094 100644 --- a/uv.spec +++ b/uv.spec @@ -609,13 +609,6 @@ tomcli set crates/uv/Cargo.toml del dependencies.tracing-durations-export # # https://bugzilla.redhat.com/show_bug.cgi?id=1234567 # tomcli set crates/uv/Cargo.toml str dev-dependencies.foocrate.version 0.1.2 -# which -# wanted: 8.0.0 -# currently packaged: 7.0.3 -# https://bugzilla.redhat.com/show_bug.cgi?id=1234567 -tomcli set Cargo.toml str workspace.dependencies.which.version \ - '>=7.0.3, <9.0.0' - %cargo_prep From 1f9c141f1eb2a47101027077878d56ff8bd9fbbe Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Mon, 30 Jun 2025 08:38:26 -0400 Subject: [PATCH 049/214] Update to 0.7.17 --- .gitignore | 1 + sources | 2 +- uv.spec | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 7280268..33b9531 100644 --- a/.gitignore +++ b/.gitignore @@ -124,3 +124,4 @@ /reqwest-middleware-ad8b9d332d1773fde8b4cd008486de5973e0a3f8.tar.gz /uv-0.7.15.tar.gz /uv-0.7.16.tar.gz +/uv-0.7.17.tar.gz diff --git a/sources b/sources index 5915f45..18a1ad0 100644 --- a/sources +++ b/sources @@ -1,4 +1,4 @@ -SHA512 (uv-0.7.16.tar.gz) = 4edfadf3b28a6af195ae6c709e7f41af9c2b0da408e637bca2c4ff70717e4c1027a84c69a33b14f58fd2a1f1cc530927ac6bda4d43495116b6280393f2553dca +SHA512 (uv-0.7.17.tar.gz) = e26ecd29fc52b68fe01d396424d8fd48666396001a4b4a1f9a384a8cfb83e029f5003db9910227f7fbe4462e037f12a746cda8859006e73cd7a22b082e8008e0 SHA512 (rs-async-zip-c909fda63fcafe4af496a07bfda28a5aae97e58d.tar.gz) = 3a309566f4925b02496fcf19bc2865968edf6fb65082ca4079d2cee79e6b0353a1910c079f2afe656da0d0f6ddde5102052a221ea35a7dabc6d690a11218b20a SHA512 (pubgrub-06ec5a5f59ffaeb6cf5079c6cb184467da06c9db.tar.gz) = 3f0b18aecbc73fee91fc7de9f10d240ddc06c836fa2f116c1f007dd7818d099e6aea1852ca0b8d1a26ac19aac896535dba1a6298851a65515b553810c6245784 SHA512 (reqwest-middleware-ad8b9d332d1773fde8b4cd008486de5973e0a3f8.tar.gz) = 2dad83835c87cdd79e2a08c19b5024b3fdf30d1d8cd14e480e434612e856ecc20a5404881ff81d5793d3e9d5808ee3d59ce920312a86a100535009da43d7d46b diff --git a/uv.spec b/uv.spec index 3af6094..7d81bb2 100644 --- a/uv.spec +++ b/uv.spec @@ -11,7 +11,7 @@ %bcond it %{undefined el10} Name: uv -Version: 0.7.16 +Version: 0.7.17 Release: %autorelease Summary: An extremely fast Python package installer and resolver, written in Rust From dc10c1d143a19830e07ef8ce41260e7351919dc6 Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Mon, 7 Jul 2025 07:14:20 -0400 Subject: [PATCH 050/214] Update to 0.7.18 --- .gitignore | 1 + 14243.patch | 348 ---------------------------------------------------- 14475.patch | 257 ++++++++++++++++++++++++++++++++++++++ sources | 2 +- uv.spec | 8 +- 5 files changed, 263 insertions(+), 353 deletions(-) delete mode 100644 14243.patch create mode 100644 14475.patch diff --git a/.gitignore b/.gitignore index 33b9531..26fd3eb 100644 --- a/.gitignore +++ b/.gitignore @@ -125,3 +125,4 @@ /uv-0.7.15.tar.gz /uv-0.7.16.tar.gz /uv-0.7.17.tar.gz +/uv-0.7.18.tar.gz diff --git a/14243.patch b/14243.patch deleted file mode 100644 index 7477876..0000000 --- a/14243.patch +++ /dev/null @@ -1,348 +0,0 @@ -From 25ee6603fe0e725fdc709d830f11eeace1d7260a Mon Sep 17 00:00:00 2001 -From: "Benjamin A. Beasley" -Date: Tue, 24 Jun 2025 09:24:29 -0400 -Subject: [PATCH 1/3] Update dev-dep. on hyper-util in uv-client to 0.1.14 - -That version is already in Cargo.lock, but this still seems to make -sense given https://github.com/hyperium/hyper/issues/3900. ---- - crates/uv-client/Cargo.toml | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/crates/uv-client/Cargo.toml b/crates/uv-client/Cargo.toml -index bc7fc611f93a1..dc9112b0133a6 100644 ---- a/crates/uv-client/Cargo.toml -+++ b/crates/uv-client/Cargo.toml -@@ -62,7 +62,7 @@ url = { workspace = true } - anyhow = { workspace = true } - http-body-util = { version = "0.1.2" } - hyper = { version = "1.4.1", features = ["server", "http1"] } --hyper-util = { version = "0.1.8", features = ["tokio"] } -+hyper-util = { version = "0.1.14", features = ["tokio"] } - insta = { version = "1.40.0", features = ["filters", "json", "redactions"] } - tokio = { workspace = true } - wiremock = { workspace = true } - -From 6aa331ed816bf85ba5b5600e7915ff83264f04a6 Mon Sep 17 00:00:00 2001 -From: "Benjamin A. Beasley" -Date: Tue, 24 Jun 2025 09:22:56 -0400 -Subject: [PATCH 2/3] Unpin reqwest - -This was pinned in 794b3ec7506e0430b088a24d2e680ed7ac8d14b4 as a -workaround for https://github.com/astral-sh/uv/issues/13831; since the -fix is in hyper-util 0.1.14 (see -https://github.com/hyperium/hyper/issues/3900), and Cargo.lock has that -version, we can unpin reqwest now. - -A few insta snapshots needed to be updated for reqwest>=0.12.16. ---- - Cargo.lock | 95 ++++++++++++++++++----------------- - Cargo.toml | 2 +- - crates/uv/tests/it/network.rs | 8 +-- - 3 files changed, 54 insertions(+), 51 deletions(-) - -diff --git a/Cargo.lock b/Cargo.lock -index 0680e0c28df0d..7516803484f6a 100644 ---- a/Cargo.lock -+++ b/Cargo.lock -@@ -738,7 +738,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" - checksum = "117725a109d387c937a1533ce01b450cbde6b88abceea8473c4d7a85853cda3c" - dependencies = [ - "lazy_static", -- "windows-sys 0.59.0", -+ "windows-sys 0.48.0", - ] - - [[package]] -@@ -1675,7 +1675,7 @@ dependencies = [ - "tokio", - "tokio-rustls", - "tower-service", -- "webpki-roots", -+ "webpki-roots 0.26.8", - ] - - [[package]] -@@ -1684,6 +1684,7 @@ version = "0.1.14" - source = "registry+https://github.com/rust-lang/crates.io-index" - checksum = "dc2fdfdbff08affe55bb779f33b053aa1fe5dd5b54c257343c17edfa55711bdb" - dependencies = [ -+ "base64 0.22.1", - "bytes", - "futures-channel", - "futures-core", -@@ -1691,7 +1692,9 @@ dependencies = [ - "http", - "http-body", - "hyper", -+ "ipnet", - "libc", -+ "percent-encoding", - "pin-project-lite", - "socket2", - "tokio", -@@ -1922,6 +1925,16 @@ version = "2.11.0" - source = "registry+https://github.com/rust-lang/crates.io-index" - checksum = "469fb0b9cefa57e3ef31275ee7cacb78f2fdca44e4765491884a2b119d4eb130" - -+[[package]] -+name = "iri-string" -+version = "0.7.8" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "dbc5ebe9c3a1a7a5127f920a418f7585e9e758e911d0466ed004f393b0e380b2" -+dependencies = [ -+ "memchr", -+ "serde", -+] -+ - [[package]] - name = "is-terminal" - version = "0.4.15" -@@ -3039,9 +3052,9 @@ dependencies = [ - - [[package]] - name = "reqwest" --version = "0.12.15" -+version = "0.12.20" - source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "d19c46a6fdd48bc4dab94b6103fccc55d34c67cc0ad04653aad4ea2a07cd7bbb" -+checksum = "eabf4c97d9130e2bf606614eb937e86edac8292eaa6f422f995d7e8de1eb1813" - dependencies = [ - "async-compression", - "base64 0.22.1", -@@ -3056,18 +3069,14 @@ dependencies = [ - "hyper", - "hyper-rustls", - "hyper-util", -- "ipnet", - "js-sys", - "log", -- "mime", - "mime_guess", -- "once_cell", - "percent-encoding", - "pin-project-lite", - "quinn", - "rustls", - "rustls-native-certs", -- "rustls-pemfile", - "rustls-pki-types", - "serde", - "serde_json", -@@ -3075,17 +3084,16 @@ dependencies = [ - "sync_wrapper", - "tokio", - "tokio-rustls", -- "tokio-socks", - "tokio-util", - "tower", -+ "tower-http", - "tower-service", - "url", - "wasm-bindgen", - "wasm-bindgen-futures", - "wasm-streams", - "web-sys", -- "webpki-roots", -- "windows-registry 0.4.0", -+ "webpki-roots 1.0.1", - ] - - [[package]] -@@ -3328,15 +3336,6 @@ dependencies = [ - "security-framework", - ] - --[[package]] --name = "rustls-pemfile" --version = "2.2.0" --source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "dce314e5fee3f39953d46bb63bb8a46d40c2f8fb7cc5a3b6cab2bde9721d6e50" --dependencies = [ -- "rustls-pki-types", --] -- - [[package]] - name = "rustls-pki-types" - version = "1.11.0" -@@ -4138,18 +4137,6 @@ dependencies = [ - "tokio", - ] - --[[package]] --name = "tokio-socks" --version = "0.5.2" --source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "0d4770b8024672c1101b3f6733eab95b18007dbe0847a8afe341fcf79e06043f" --dependencies = [ -- "either", -- "futures-util", -- "thiserror 1.0.69", -- "tokio", --] -- - [[package]] - name = "tokio-stream" - version = "0.1.17" -@@ -4232,6 +4219,24 @@ dependencies = [ - "tower-service", - ] - -+[[package]] -+name = "tower-http" -+version = "0.6.6" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "adc82fd73de2a9722ac5da747f12383d2bfdb93591ee6c58486e0097890f05f2" -+dependencies = [ -+ "bitflags 2.9.1", -+ "bytes", -+ "futures-util", -+ "http", -+ "http-body", -+ "iri-string", -+ "pin-project-lite", -+ "tower", -+ "tower-layer", -+ "tower-service", -+] -+ - [[package]] - name = "tower-layer" - version = "0.3.3" -@@ -5601,7 +5606,7 @@ dependencies = [ - "uv-trampoline-builder", - "uv-warnings", - "which", -- "windows-registry 0.5.2", -+ "windows-registry", - "windows-result 0.3.4", - "windows-sys 0.59.0", - ] -@@ -5805,7 +5810,7 @@ dependencies = [ - "tracing", - "uv-fs", - "uv-static", -- "windows-registry 0.5.2", -+ "windows-registry", - "windows-result 0.3.4", - "windows-sys 0.59.0", - ] -@@ -6186,6 +6191,15 @@ dependencies = [ - "rustls-pki-types", - ] - -+[[package]] -+name = "webpki-roots" -+version = "1.0.1" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "8782dd5a41a24eed3a4f40b606249b3e236ca61adf1f25ea4d45c73de122b502" -+dependencies = [ -+ "rustls-pki-types", -+] -+ - [[package]] - name = "weezl" - version = "0.1.8" -@@ -6243,7 +6257,7 @@ version = "0.1.9" - source = "registry+https://github.com/rust-lang/crates.io-index" - checksum = "cf221c93e13a30d793f7645a0e7762c55d169dbb0a49671918a2319d289b10bb" - dependencies = [ -- "windows-sys 0.59.0", -+ "windows-sys 0.48.0", - ] - - [[package]] -@@ -6413,17 +6427,6 @@ dependencies = [ - "windows-link", - ] - --[[package]] --name = "windows-registry" --version = "0.4.0" --source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "4286ad90ddb45071efd1a66dfa43eb02dd0dfbae1545ad6cc3c51cf34d7e8ba3" --dependencies = [ -- "windows-result 0.3.4", -- "windows-strings 0.3.1", -- "windows-targets 0.53.0", --] -- - [[package]] - name = "windows-registry" - version = "0.5.2" -diff --git a/Cargo.toml b/Cargo.toml -index b2d9c0f8a00e7..2911ec2bbd565 100644 ---- a/Cargo.toml -+++ b/Cargo.toml -@@ -142,7 +142,7 @@ ref-cast = { version = "1.0.24" } - reflink-copy = { version = "0.1.19" } - regex = { version = "1.10.6" } - regex-automata = { version = "0.4.8", default-features = false, features = ["dfa-build", "dfa-search", "perf", "std", "syntax"] } --reqwest = { version = "=0.12.15", default-features = false, features = ["json", "gzip", "deflate", "zstd", "stream", "rustls-tls", "rustls-tls-native-roots", "socks", "multipart", "http2", "blocking"] } -+reqwest = { version = "0.12.16", default-features = false, features = ["json", "gzip", "deflate", "zstd", "stream", "rustls-tls", "rustls-tls-native-roots", "socks", "multipart", "http2", "blocking"] } - reqwest-middleware = { git = "https://github.com/astral-sh/reqwest-middleware", rev = "ad8b9d332d1773fde8b4cd008486de5973e0a3f8", features = ["multipart"] } - reqwest-retry = { git = "https://github.com/astral-sh/reqwest-middleware", rev = "ad8b9d332d1773fde8b4cd008486de5973e0a3f8" } - rkyv = { version = "0.8.8", features = ["bytecheck"] } -diff --git a/crates/uv/tests/it/network.rs b/crates/uv/tests/it/network.rs -index 1a58059700c23..7f81040509097 100644 ---- a/crates/uv/tests/it/network.rs -+++ b/crates/uv/tests/it/network.rs -@@ -80,7 +80,7 @@ async fn simple_io_err() { - ----- stderr ----- - error: Failed to fetch: `[SERVER]/tqdm/` - Caused by: Request failed after 3 retries -- Caused by: error sending request for url ([SERVER]/tqdm/) -+ Caused by: error sending request - Caused by: client error (SendRequest) - Caused by: connection closed before message completed - "); -@@ -134,7 +134,7 @@ async fn find_links_io_error() { - error: Failed to read `--find-links` URL: [SERVER]/ - Caused by: Failed to fetch: `[SERVER]/` - Caused by: Request failed after 3 retries -- Caused by: error sending request for url ([SERVER]/) -+ Caused by: error sending request - Caused by: client error (SendRequest) - Caused by: connection closed before message completed - "); -@@ -189,7 +189,7 @@ async fn direct_url_io_error() { - × Failed to download `tqdm @ [SERVER]/packages/d0/30/dc54f88dd4a2b5dc8a0279bdd7270e735851848b762aeb1c1184ed1f6b14/tqdm-4.67.1-py3-none-any.whl` - ├─▶ Failed to fetch: `[SERVER]/packages/d0/30/dc54f88dd4a2b5dc8a0279bdd7270e735851848b762aeb1c1184ed1f6b14/tqdm-4.67.1-py3-none-any.whl` - ├─▶ Request failed after 3 retries -- ├─▶ error sending request for url ([SERVER]/packages/d0/30/dc54f88dd4a2b5dc8a0279bdd7270e735851848b762aeb1c1184ed1f6b14/tqdm-4.67.1-py3-none-any.whl) -+ ├─▶ error sending request - ├─▶ client error (SendRequest) - ╰─▶ connection closed before message completed - "); -@@ -278,7 +278,7 @@ async fn python_install_io_error() { - error: Failed to install cpython-3.10.0-macos-aarch64-none - Caused by: Failed to download [SERVER]/astral-sh/python-build-standalone/releases/download/20211017/cpython-3.10.0-aarch64-apple-darwin-pgo%2Blto-20211017T1616.tar.zst - Caused by: Request failed after 3 retries -- Caused by: error sending request for url ([SERVER]/astral-sh/python-build-standalone/releases/download/20211017/cpython-3.10.0-aarch64-apple-darwin-pgo%2Blto-20211017T1616.tar.zst) -+ Caused by: error sending request - Caused by: client error (SendRequest) - Caused by: connection closed before message completed - "); - -From dc9dec66a289337a849f2532e4ff2b86b66e049d Mon Sep 17 00:00:00 2001 -From: konstin -Date: Tue, 24 Jun 2025 21:04:10 +0200 -Subject: [PATCH 3/3] Use reqwest 0.12.20 - ---- - Cargo.toml | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/Cargo.toml b/Cargo.toml -index 2911ec2bbd565..99c5651f67fc6 100644 ---- a/Cargo.toml -+++ b/Cargo.toml -@@ -142,7 +142,7 @@ ref-cast = { version = "1.0.24" } - reflink-copy = { version = "0.1.19" } - regex = { version = "1.10.6" } - regex-automata = { version = "0.4.8", default-features = false, features = ["dfa-build", "dfa-search", "perf", "std", "syntax"] } --reqwest = { version = "0.12.16", default-features = false, features = ["json", "gzip", "deflate", "zstd", "stream", "rustls-tls", "rustls-tls-native-roots", "socks", "multipart", "http2", "blocking"] } -+reqwest = { version = "0.12.20", default-features = false, features = ["json", "gzip", "deflate", "zstd", "stream", "rustls-tls", "rustls-tls-native-roots", "socks", "multipart", "http2", "blocking"] } - reqwest-middleware = { git = "https://github.com/astral-sh/reqwest-middleware", rev = "ad8b9d332d1773fde8b4cd008486de5973e0a3f8", features = ["multipart"] } - reqwest-retry = { git = "https://github.com/astral-sh/reqwest-middleware", rev = "ad8b9d332d1773fde8b4cd008486de5973e0a3f8" } - rkyv = { version = "0.8.8", features = ["bytecheck"] } diff --git a/14475.patch b/14475.patch new file mode 100644 index 0000000..a8a05d5 --- /dev/null +++ b/14475.patch @@ -0,0 +1,257 @@ +From ed63d499d3f70b149db0ec4fbf8f2bb2869f66f0 Mon Sep 17 00:00:00 2001 +From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> +Date: Mon, 7 Jul 2025 03:04:51 +0000 +Subject: [PATCH 1/2] Update Rust crate reqwest to v0.12.22 + +--- + Cargo.lock | 91 ++++++++++++++++++++++++++++-------------------------- + Cargo.toml | 2 +- + 2 files changed, 48 insertions(+), 45 deletions(-) + +diff --git a/Cargo.lock b/Cargo.lock +index ffadd8df244df..ef7511af52942 100644 +--- a/Cargo.lock ++++ b/Cargo.lock +@@ -1698,7 +1698,7 @@ dependencies = [ + "tokio", + "tokio-rustls", + "tower-service", +- "webpki-roots", ++ "webpki-roots 0.26.8", + ] + + [[package]] +@@ -1707,6 +1707,7 @@ version = "0.1.14" + source = "registry+https://github.com/rust-lang/crates.io-index" + checksum = "dc2fdfdbff08affe55bb779f33b053aa1fe5dd5b54c257343c17edfa55711bdb" + dependencies = [ ++ "base64 0.22.1", + "bytes", + "futures-channel", + "futures-core", +@@ -1714,7 +1715,9 @@ dependencies = [ + "http", + "http-body", + "hyper", ++ "ipnet", + "libc", ++ "percent-encoding", + "pin-project-lite", + "socket2", + "tokio", +@@ -1945,6 +1948,16 @@ version = "2.11.0" + source = "registry+https://github.com/rust-lang/crates.io-index" + checksum = "469fb0b9cefa57e3ef31275ee7cacb78f2fdca44e4765491884a2b119d4eb130" + ++[[package]] ++name = "iri-string" ++version = "0.7.8" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "dbc5ebe9c3a1a7a5127f920a418f7585e9e758e911d0466ed004f393b0e380b2" ++dependencies = [ ++ "memchr", ++ "serde", ++] ++ + [[package]] + name = "is-terminal" + version = "0.4.15" +@@ -3062,9 +3075,9 @@ dependencies = [ + + [[package]] + name = "reqwest" +-version = "0.12.15" ++version = "0.12.22" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "d19c46a6fdd48bc4dab94b6103fccc55d34c67cc0ad04653aad4ea2a07cd7bbb" ++checksum = "cbc931937e6ca3a06e3b6c0aa7841849b160a90351d6ab467a8b9b9959767531" + dependencies = [ + "async-compression", + "base64 0.22.1", +@@ -3079,18 +3092,14 @@ dependencies = [ + "hyper", + "hyper-rustls", + "hyper-util", +- "ipnet", + "js-sys", + "log", +- "mime", + "mime_guess", +- "once_cell", + "percent-encoding", + "pin-project-lite", + "quinn", + "rustls", + "rustls-native-certs", +- "rustls-pemfile", + "rustls-pki-types", + "serde", + "serde_json", +@@ -3098,17 +3107,16 @@ dependencies = [ + "sync_wrapper", + "tokio", + "tokio-rustls", +- "tokio-socks", + "tokio-util", + "tower", ++ "tower-http", + "tower-service", + "url", + "wasm-bindgen", + "wasm-bindgen-futures", + "wasm-streams", + "web-sys", +- "webpki-roots", +- "windows-registry 0.4.0", ++ "webpki-roots 1.0.1", + ] + + [[package]] +@@ -3351,15 +3359,6 @@ dependencies = [ + "security-framework", + ] + +-[[package]] +-name = "rustls-pemfile" +-version = "2.2.0" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "dce314e5fee3f39953d46bb63bb8a46d40c2f8fb7cc5a3b6cab2bde9721d6e50" +-dependencies = [ +- "rustls-pki-types", +-] +- + [[package]] + name = "rustls-pki-types" + version = "1.11.0" +@@ -4172,18 +4171,6 @@ dependencies = [ + "tokio", + ] + +-[[package]] +-name = "tokio-socks" +-version = "0.5.2" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "0d4770b8024672c1101b3f6733eab95b18007dbe0847a8afe341fcf79e06043f" +-dependencies = [ +- "either", +- "futures-util", +- "thiserror 1.0.69", +- "tokio", +-] +- + [[package]] + name = "tokio-stream" + version = "0.1.17" +@@ -4266,6 +4253,24 @@ dependencies = [ + "tower-service", + ] + ++[[package]] ++name = "tower-http" ++version = "0.6.6" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "adc82fd73de2a9722ac5da747f12383d2bfdb93591ee6c58486e0097890f05f2" ++dependencies = [ ++ "bitflags 2.9.1", ++ "bytes", ++ "futures-util", ++ "http", ++ "http-body", ++ "iri-string", ++ "pin-project-lite", ++ "tower", ++ "tower-layer", ++ "tower-service", ++] ++ + [[package]] + name = "tower-layer" + version = "0.3.3" +@@ -5635,7 +5640,7 @@ dependencies = [ + "uv-trampoline-builder", + "uv-warnings", + "which", +- "windows-registry 0.5.3", ++ "windows-registry", + "windows-result 0.3.4", + "windows-sys 0.59.0", + ] +@@ -5839,7 +5844,7 @@ dependencies = [ + "tracing", + "uv-fs", + "uv-static", +- "windows-registry 0.5.3", ++ "windows-registry", + "windows-result 0.3.4", + "windows-sys 0.59.0", + ] +@@ -6221,6 +6226,15 @@ dependencies = [ + "rustls-pki-types", + ] + ++[[package]] ++name = "webpki-roots" ++version = "1.0.1" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "8782dd5a41a24eed3a4f40b606249b3e236ca61adf1f25ea4d45c73de122b502" ++dependencies = [ ++ "rustls-pki-types", ++] ++ + [[package]] + name = "weezl" + version = "0.1.8" +@@ -6448,17 +6462,6 @@ dependencies = [ + "windows-link", + ] + +-[[package]] +-name = "windows-registry" +-version = "0.4.0" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "4286ad90ddb45071efd1a66dfa43eb02dd0dfbae1545ad6cc3c51cf34d7e8ba3" +-dependencies = [ +- "windows-result 0.3.4", +- "windows-strings 0.3.1", +- "windows-targets 0.53.0", +-] +- + [[package]] + name = "windows-registry" + version = "0.5.3" +diff --git a/Cargo.toml b/Cargo.toml +index 817c5c62bc3da..bc6f7a618da68 100644 +--- a/Cargo.toml ++++ b/Cargo.toml +@@ -142,7 +142,7 @@ ref-cast = { version = "1.0.24" } + reflink-copy = { version = "0.1.19" } + regex = { version = "1.10.6" } + regex-automata = { version = "0.4.8", default-features = false, features = ["dfa-build", "dfa-search", "perf", "std", "syntax"] } +-reqwest = { version = "=0.12.15", default-features = false, features = ["json", "gzip", "deflate", "zstd", "stream", "rustls-tls", "rustls-tls-native-roots", "socks", "multipart", "http2", "blocking"] } ++reqwest = { version = "=0.12.22", default-features = false, features = ["json", "gzip", "deflate", "zstd", "stream", "rustls-tls", "rustls-tls-native-roots", "socks", "multipart", "http2", "blocking"] } + reqwest-middleware = { git = "https://github.com/astral-sh/reqwest-middleware", rev = "ad8b9d332d1773fde8b4cd008486de5973e0a3f8", features = ["multipart"] } + reqwest-retry = { git = "https://github.com/astral-sh/reqwest-middleware", rev = "ad8b9d332d1773fde8b4cd008486de5973e0a3f8" } + rkyv = { version = "0.8.8", features = ["bytecheck"] } + +From 5c43a94e6aa5ca939c979b63e861607eb5ee0de5 Mon Sep 17 00:00:00 2001 +From: konstin +Date: Mon, 7 Jul 2025 10:06:46 +0200 +Subject: [PATCH 2/2] Remove pin + +--- + Cargo.toml | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Cargo.toml b/Cargo.toml +index bc6f7a618da68..fc19dcc9a2856 100644 +--- a/Cargo.toml ++++ b/Cargo.toml +@@ -142,7 +142,7 @@ ref-cast = { version = "1.0.24" } + reflink-copy = { version = "0.1.19" } + regex = { version = "1.10.6" } + regex-automata = { version = "0.4.8", default-features = false, features = ["dfa-build", "dfa-search", "perf", "std", "syntax"] } +-reqwest = { version = "=0.12.22", default-features = false, features = ["json", "gzip", "deflate", "zstd", "stream", "rustls-tls", "rustls-tls-native-roots", "socks", "multipart", "http2", "blocking"] } ++reqwest = { version = "0.12.22", default-features = false, features = ["json", "gzip", "deflate", "zstd", "stream", "rustls-tls", "rustls-tls-native-roots", "socks", "multipart", "http2", "blocking"] } + reqwest-middleware = { git = "https://github.com/astral-sh/reqwest-middleware", rev = "ad8b9d332d1773fde8b4cd008486de5973e0a3f8", features = ["multipart"] } + reqwest-retry = { git = "https://github.com/astral-sh/reqwest-middleware", rev = "ad8b9d332d1773fde8b4cd008486de5973e0a3f8" } + rkyv = { version = "0.8.8", features = ["bytecheck"] } diff --git a/sources b/sources index 18a1ad0..c4d34d8 100644 --- a/sources +++ b/sources @@ -1,4 +1,4 @@ -SHA512 (uv-0.7.17.tar.gz) = e26ecd29fc52b68fe01d396424d8fd48666396001a4b4a1f9a384a8cfb83e029f5003db9910227f7fbe4462e037f12a746cda8859006e73cd7a22b082e8008e0 +SHA512 (uv-0.7.18.tar.gz) = f9bb13c75e679a362994f6782bc8ac7194038d77e2d47ad7afbead649745c411fa2337cb95b76eab65b068e29119fc8530e1243c039c3f165d6894439684910b SHA512 (rs-async-zip-c909fda63fcafe4af496a07bfda28a5aae97e58d.tar.gz) = 3a309566f4925b02496fcf19bc2865968edf6fb65082ca4079d2cee79e6b0353a1910c079f2afe656da0d0f6ddde5102052a221ea35a7dabc6d690a11218b20a SHA512 (pubgrub-06ec5a5f59ffaeb6cf5079c6cb184467da06c9db.tar.gz) = 3f0b18aecbc73fee91fc7de9f10d240ddc06c836fa2f116c1f007dd7818d099e6aea1852ca0b8d1a26ac19aac896535dba1a6298851a65515b553810c6245784 SHA512 (reqwest-middleware-ad8b9d332d1773fde8b4cd008486de5973e0a3f8.tar.gz) = 2dad83835c87cdd79e2a08c19b5024b3fdf30d1d8cd14e480e434612e856ecc20a5404881ff81d5793d3e9d5808ee3d59ce920312a86a100535009da43d7d46b diff --git a/uv.spec b/uv.spec index 7d81bb2..80af2c5 100644 --- a/uv.spec +++ b/uv.spec @@ -11,7 +11,7 @@ %bcond it %{undefined el10} Name: uv -Version: 0.7.17 +Version: 0.7.18 Release: %autorelease Summary: An extremely fast Python package installer and resolver, written in Rust @@ -209,9 +209,9 @@ Patch: 0001-Downstream-only-do-not-override-the-default-allocato.patch # https://github.com/astral-sh/uv/issues/4451 Patch: 0001-Downstream-patch-always-find-the-system-wide-uv-exec.patch -# Update to reqwest 0.12.20 -# https://github.com/astral-sh/uv/pull/14243 -Patch: %{url}/pull/14243.patch +# Update Rust crate reqwest to v0.12.22 +# https://github.com/astral-sh/uv/pull/14475 +Patch: %{url}/pull/14475.patch # Update sanitize-filename requirement from 0.5 to 0.6 Patch100: https://github.com/Majored/rs-async-zip/pull/153.patch From 3106b1383492564671228a1802b1d6101e394069 Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Mon, 7 Jul 2025 08:43:50 -0400 Subject: [PATCH 051/214] Update to 0.7.19 (close RHBZ#2375472) --- .gitignore | 1 + sources | 2 +- uv.spec | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 26fd3eb..84895f1 100644 --- a/.gitignore +++ b/.gitignore @@ -126,3 +126,4 @@ /uv-0.7.16.tar.gz /uv-0.7.17.tar.gz /uv-0.7.18.tar.gz +/uv-0.7.19.tar.gz diff --git a/sources b/sources index c4d34d8..d01452e 100644 --- a/sources +++ b/sources @@ -1,4 +1,4 @@ -SHA512 (uv-0.7.18.tar.gz) = f9bb13c75e679a362994f6782bc8ac7194038d77e2d47ad7afbead649745c411fa2337cb95b76eab65b068e29119fc8530e1243c039c3f165d6894439684910b +SHA512 (uv-0.7.19.tar.gz) = c86cd70422a4ac2eb549258c1ab763e12b8cc32afb30a4ca7ec926f7b40b352468c3bf9fddb14fcf4e3c043be088211c37ee43d384d5651ca39922de927a1372 SHA512 (rs-async-zip-c909fda63fcafe4af496a07bfda28a5aae97e58d.tar.gz) = 3a309566f4925b02496fcf19bc2865968edf6fb65082ca4079d2cee79e6b0353a1910c079f2afe656da0d0f6ddde5102052a221ea35a7dabc6d690a11218b20a SHA512 (pubgrub-06ec5a5f59ffaeb6cf5079c6cb184467da06c9db.tar.gz) = 3f0b18aecbc73fee91fc7de9f10d240ddc06c836fa2f116c1f007dd7818d099e6aea1852ca0b8d1a26ac19aac896535dba1a6298851a65515b553810c6245784 SHA512 (reqwest-middleware-ad8b9d332d1773fde8b4cd008486de5973e0a3f8.tar.gz) = 2dad83835c87cdd79e2a08c19b5024b3fdf30d1d8cd14e480e434612e856ecc20a5404881ff81d5793d3e9d5808ee3d59ce920312a86a100535009da43d7d46b diff --git a/uv.spec b/uv.spec index 80af2c5..95b7d64 100644 --- a/uv.spec +++ b/uv.spec @@ -11,7 +11,7 @@ %bcond it %{undefined el10} Name: uv -Version: 0.7.18 +Version: 0.7.19 Release: %autorelease Summary: An extremely fast Python package installer and resolver, written in Rust From 788e6b782a51064bc437a718c4a69f23dd518742 Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Tue, 8 Jul 2025 07:05:19 -0400 Subject: [PATCH 052/214] Follow upstream in using the jemalloc allocator --- ...do-not-override-the-default-allocato.patch | 48 ------------------- uv.spec | 10 ---- 2 files changed, 58 deletions(-) delete mode 100644 0001-Downstream-only-do-not-override-the-default-allocato.patch diff --git a/0001-Downstream-only-do-not-override-the-default-allocato.patch b/0001-Downstream-only-do-not-override-the-default-allocato.patch deleted file mode 100644 index 4126a49..0000000 --- a/0001-Downstream-only-do-not-override-the-default-allocato.patch +++ /dev/null @@ -1,48 +0,0 @@ -From 0a45f8027ae10006b2425f9047910dfe93817ca0 Mon Sep 17 00:00:00 2001 -From: "Benjamin A. Beasley" -Date: Thu, 10 Oct 2024 07:03:45 -0400 -Subject: [PATCH] Downstream-only: do not override the default allocator - -In https://github.com/astral-sh/uv/pull/399, it was reasonably claimed -that using tikv-jemallocator improved benchmarks by 10%, so it may be -worth packaging it and dropping this patch. ---- - crates/uv-performance-memory-allocator/Cargo.toml | 3 --- - crates/uv-performance-memory-allocator/src/lib.rs | 13 ------------- - 2 files changed, 16 deletions(-) - -diff --git a/crates/uv-performance-memory-allocator/Cargo.toml b/crates/uv-performance-memory-allocator/Cargo.toml -index 50d2a149..6db2e207 100644 ---- a/crates/uv-performance-memory-allocator/Cargo.toml -+++ b/crates/uv-performance-memory-allocator/Cargo.toml -@@ -7,6 +7,3 @@ publish = false - - [target.'cfg(all(target_os = "windows"))'.dependencies] - mimalloc = { version = "0.1.43" } -- --[target.'cfg(all(not(target_os = "windows"), not(target_os = "openbsd"), not(target_os = "freebsd"), any(target_arch = "x86_64", target_arch = "aarch64", target_arch = "powerpc64")))'.dependencies] --tikv-jemallocator = { version = "0.6.0" } -diff --git a/crates/uv-performance-memory-allocator/src/lib.rs b/crates/uv-performance-memory-allocator/src/lib.rs -index 03ec650b..e86a9553 100644 ---- a/crates/uv-performance-memory-allocator/src/lib.rs -+++ b/crates/uv-performance-memory-allocator/src/lib.rs -@@ -4,16 +4,3 @@ - #[cfg(target_os = "windows")] - #[global_allocator] - static GLOBAL: mimalloc::MiMalloc = mimalloc::MiMalloc; -- --#[cfg(all( -- not(target_os = "windows"), -- not(target_os = "openbsd"), -- not(target_os = "freebsd"), -- any( -- target_arch = "x86_64", -- target_arch = "aarch64", -- target_arch = "powerpc64" -- ) --))] --#[global_allocator] --static GLOBAL: tikv_jemallocator::Jemalloc = tikv_jemallocator::Jemalloc; --- -2.47.0 - diff --git a/uv.spec b/uv.spec index 95b7d64..fa5b3af 100644 --- a/uv.spec +++ b/uv.spec @@ -193,16 +193,6 @@ Source300: %{reqwest_middleware_git}/archive/%{reqwest_middleware_rev}/reqw %global tl_snapdate 20240825 Source400: %{tl_git}/archive/%{tl_rev}/tl-%{tl_rev}.tar.gz -# Downstream-only: do not override the default allocator -# -# In https://github.com/astral-sh/uv/pull/399, it was reasonably claimed that -# using tikv-jemallocator improved benchmarks by 10%. However, this would -# require packaging at least the tikv-jemalloc-sys, tikv-jemalloc-ctl, and -# tikv-jemallocator crates, and this is expected to be not quite trivial. -# We use the default allocator for now, and reserve tikv-jemallocaator -# packaging as optional future work. -Patch: 0001-Downstream-only-do-not-override-the-default-allocato.patch - # Downstream-only: Always find the system-wide uv executable # See discussion in # Should uv.find_uv_bin() be able to find /usr/bin/uv? From edf20a67283f39b1a4b19097bf4e60496f7eaf92 Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Tue, 8 Jul 2025 12:08:52 -0400 Subject: [PATCH 053/214] Skip one test on s390x for now --- uv.spec | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/uv.spec b/uv.spec index fa5b3af..fdeeaa7 100644 --- a/uv.spec +++ b/uv.spec @@ -746,6 +746,19 @@ skip="${skip-} --skip tests::built_by_uv_building" # https://github.com/astral-sh/uv/pull/14243#issuecomment-3001792931. skip="${skip-} --skip registry_client::tests::test_redirect_preserve_fragment" +%ifarch s390x +# ---- registry_client::tests::test_redirect_to_server_with_credentials stdout ---- +# thread 'registry_client::tests::test_redirect_to_server_with_credentials' +# panicked at crates/uv-client/src/registry_client.rs:1292:9: +# assertion `left == right` failed: Requests should fail if credentials are missing +# left: 200 +# right: 401 +# Ideally, we would report this upstream, but "cargo test -p uv-client --lib" +# does not fail in a git checkout in an emulated s390x chroot, so it’s +# difficult to do so usefully. More information is needed. +skip="${skip-} --skip registry_client::tests::test_redirect_to_server_with_credentials" +%endif + %cargo_test -- -- --exact ${skip-} %endif From 8f8b60eb15452c7ee8d4fc818dc291eba209f7fb Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Wed, 9 Jul 2025 21:38:37 -0400 Subject: [PATCH 054/214] Update to 0.7.20 (close RHBZ#2379147) --- .gitignore | 1 + 14475.patch | 257 ---------------------------------------------------- 14536.patch | 21 +++++ sources | 2 +- uv.spec | 12 +-- 5 files changed, 27 insertions(+), 266 deletions(-) delete mode 100644 14475.patch create mode 100644 14536.patch diff --git a/.gitignore b/.gitignore index 84895f1..e6f2c42 100644 --- a/.gitignore +++ b/.gitignore @@ -127,3 +127,4 @@ /uv-0.7.17.tar.gz /uv-0.7.18.tar.gz /uv-0.7.19.tar.gz +/uv-0.7.20.tar.gz diff --git a/14475.patch b/14475.patch deleted file mode 100644 index a8a05d5..0000000 --- a/14475.patch +++ /dev/null @@ -1,257 +0,0 @@ -From ed63d499d3f70b149db0ec4fbf8f2bb2869f66f0 Mon Sep 17 00:00:00 2001 -From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> -Date: Mon, 7 Jul 2025 03:04:51 +0000 -Subject: [PATCH 1/2] Update Rust crate reqwest to v0.12.22 - ---- - Cargo.lock | 91 ++++++++++++++++++++++++++++-------------------------- - Cargo.toml | 2 +- - 2 files changed, 48 insertions(+), 45 deletions(-) - -diff --git a/Cargo.lock b/Cargo.lock -index ffadd8df244df..ef7511af52942 100644 ---- a/Cargo.lock -+++ b/Cargo.lock -@@ -1698,7 +1698,7 @@ dependencies = [ - "tokio", - "tokio-rustls", - "tower-service", -- "webpki-roots", -+ "webpki-roots 0.26.8", - ] - - [[package]] -@@ -1707,6 +1707,7 @@ version = "0.1.14" - source = "registry+https://github.com/rust-lang/crates.io-index" - checksum = "dc2fdfdbff08affe55bb779f33b053aa1fe5dd5b54c257343c17edfa55711bdb" - dependencies = [ -+ "base64 0.22.1", - "bytes", - "futures-channel", - "futures-core", -@@ -1714,7 +1715,9 @@ dependencies = [ - "http", - "http-body", - "hyper", -+ "ipnet", - "libc", -+ "percent-encoding", - "pin-project-lite", - "socket2", - "tokio", -@@ -1945,6 +1948,16 @@ version = "2.11.0" - source = "registry+https://github.com/rust-lang/crates.io-index" - checksum = "469fb0b9cefa57e3ef31275ee7cacb78f2fdca44e4765491884a2b119d4eb130" - -+[[package]] -+name = "iri-string" -+version = "0.7.8" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "dbc5ebe9c3a1a7a5127f920a418f7585e9e758e911d0466ed004f393b0e380b2" -+dependencies = [ -+ "memchr", -+ "serde", -+] -+ - [[package]] - name = "is-terminal" - version = "0.4.15" -@@ -3062,9 +3075,9 @@ dependencies = [ - - [[package]] - name = "reqwest" --version = "0.12.15" -+version = "0.12.22" - source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "d19c46a6fdd48bc4dab94b6103fccc55d34c67cc0ad04653aad4ea2a07cd7bbb" -+checksum = "cbc931937e6ca3a06e3b6c0aa7841849b160a90351d6ab467a8b9b9959767531" - dependencies = [ - "async-compression", - "base64 0.22.1", -@@ -3079,18 +3092,14 @@ dependencies = [ - "hyper", - "hyper-rustls", - "hyper-util", -- "ipnet", - "js-sys", - "log", -- "mime", - "mime_guess", -- "once_cell", - "percent-encoding", - "pin-project-lite", - "quinn", - "rustls", - "rustls-native-certs", -- "rustls-pemfile", - "rustls-pki-types", - "serde", - "serde_json", -@@ -3098,17 +3107,16 @@ dependencies = [ - "sync_wrapper", - "tokio", - "tokio-rustls", -- "tokio-socks", - "tokio-util", - "tower", -+ "tower-http", - "tower-service", - "url", - "wasm-bindgen", - "wasm-bindgen-futures", - "wasm-streams", - "web-sys", -- "webpki-roots", -- "windows-registry 0.4.0", -+ "webpki-roots 1.0.1", - ] - - [[package]] -@@ -3351,15 +3359,6 @@ dependencies = [ - "security-framework", - ] - --[[package]] --name = "rustls-pemfile" --version = "2.2.0" --source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "dce314e5fee3f39953d46bb63bb8a46d40c2f8fb7cc5a3b6cab2bde9721d6e50" --dependencies = [ -- "rustls-pki-types", --] -- - [[package]] - name = "rustls-pki-types" - version = "1.11.0" -@@ -4172,18 +4171,6 @@ dependencies = [ - "tokio", - ] - --[[package]] --name = "tokio-socks" --version = "0.5.2" --source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "0d4770b8024672c1101b3f6733eab95b18007dbe0847a8afe341fcf79e06043f" --dependencies = [ -- "either", -- "futures-util", -- "thiserror 1.0.69", -- "tokio", --] -- - [[package]] - name = "tokio-stream" - version = "0.1.17" -@@ -4266,6 +4253,24 @@ dependencies = [ - "tower-service", - ] - -+[[package]] -+name = "tower-http" -+version = "0.6.6" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "adc82fd73de2a9722ac5da747f12383d2bfdb93591ee6c58486e0097890f05f2" -+dependencies = [ -+ "bitflags 2.9.1", -+ "bytes", -+ "futures-util", -+ "http", -+ "http-body", -+ "iri-string", -+ "pin-project-lite", -+ "tower", -+ "tower-layer", -+ "tower-service", -+] -+ - [[package]] - name = "tower-layer" - version = "0.3.3" -@@ -5635,7 +5640,7 @@ dependencies = [ - "uv-trampoline-builder", - "uv-warnings", - "which", -- "windows-registry 0.5.3", -+ "windows-registry", - "windows-result 0.3.4", - "windows-sys 0.59.0", - ] -@@ -5839,7 +5844,7 @@ dependencies = [ - "tracing", - "uv-fs", - "uv-static", -- "windows-registry 0.5.3", -+ "windows-registry", - "windows-result 0.3.4", - "windows-sys 0.59.0", - ] -@@ -6221,6 +6226,15 @@ dependencies = [ - "rustls-pki-types", - ] - -+[[package]] -+name = "webpki-roots" -+version = "1.0.1" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "8782dd5a41a24eed3a4f40b606249b3e236ca61adf1f25ea4d45c73de122b502" -+dependencies = [ -+ "rustls-pki-types", -+] -+ - [[package]] - name = "weezl" - version = "0.1.8" -@@ -6448,17 +6462,6 @@ dependencies = [ - "windows-link", - ] - --[[package]] --name = "windows-registry" --version = "0.4.0" --source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "4286ad90ddb45071efd1a66dfa43eb02dd0dfbae1545ad6cc3c51cf34d7e8ba3" --dependencies = [ -- "windows-result 0.3.4", -- "windows-strings 0.3.1", -- "windows-targets 0.53.0", --] -- - [[package]] - name = "windows-registry" - version = "0.5.3" -diff --git a/Cargo.toml b/Cargo.toml -index 817c5c62bc3da..bc6f7a618da68 100644 ---- a/Cargo.toml -+++ b/Cargo.toml -@@ -142,7 +142,7 @@ ref-cast = { version = "1.0.24" } - reflink-copy = { version = "0.1.19" } - regex = { version = "1.10.6" } - regex-automata = { version = "0.4.8", default-features = false, features = ["dfa-build", "dfa-search", "perf", "std", "syntax"] } --reqwest = { version = "=0.12.15", default-features = false, features = ["json", "gzip", "deflate", "zstd", "stream", "rustls-tls", "rustls-tls-native-roots", "socks", "multipart", "http2", "blocking"] } -+reqwest = { version = "=0.12.22", default-features = false, features = ["json", "gzip", "deflate", "zstd", "stream", "rustls-tls", "rustls-tls-native-roots", "socks", "multipart", "http2", "blocking"] } - reqwest-middleware = { git = "https://github.com/astral-sh/reqwest-middleware", rev = "ad8b9d332d1773fde8b4cd008486de5973e0a3f8", features = ["multipart"] } - reqwest-retry = { git = "https://github.com/astral-sh/reqwest-middleware", rev = "ad8b9d332d1773fde8b4cd008486de5973e0a3f8" } - rkyv = { version = "0.8.8", features = ["bytecheck"] } - -From 5c43a94e6aa5ca939c979b63e861607eb5ee0de5 Mon Sep 17 00:00:00 2001 -From: konstin -Date: Mon, 7 Jul 2025 10:06:46 +0200 -Subject: [PATCH 2/2] Remove pin - ---- - Cargo.toml | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/Cargo.toml b/Cargo.toml -index bc6f7a618da68..fc19dcc9a2856 100644 ---- a/Cargo.toml -+++ b/Cargo.toml -@@ -142,7 +142,7 @@ ref-cast = { version = "1.0.24" } - reflink-copy = { version = "0.1.19" } - regex = { version = "1.10.6" } - regex-automata = { version = "0.4.8", default-features = false, features = ["dfa-build", "dfa-search", "perf", "std", "syntax"] } --reqwest = { version = "=0.12.22", default-features = false, features = ["json", "gzip", "deflate", "zstd", "stream", "rustls-tls", "rustls-tls-native-roots", "socks", "multipart", "http2", "blocking"] } -+reqwest = { version = "0.12.22", default-features = false, features = ["json", "gzip", "deflate", "zstd", "stream", "rustls-tls", "rustls-tls-native-roots", "socks", "multipart", "http2", "blocking"] } - reqwest-middleware = { git = "https://github.com/astral-sh/reqwest-middleware", rev = "ad8b9d332d1773fde8b4cd008486de5973e0a3f8", features = ["multipart"] } - reqwest-retry = { git = "https://github.com/astral-sh/reqwest-middleware", rev = "ad8b9d332d1773fde8b4cd008486de5973e0a3f8" } - rkyv = { version = "0.8.8", features = ["bytecheck"] } diff --git a/14536.patch b/14536.patch new file mode 100644 index 0000000..81a9a3e --- /dev/null +++ b/14536.patch @@ -0,0 +1,21 @@ +From a7fc40fd1d020efb080570039a5edffb1df84a8a Mon Sep 17 00:00:00 2001 +From: "Benjamin A. Beasley" +Date: Thu, 10 Jul 2025 07:00:14 -0400 +Subject: [PATCH] Conditionalize version_extras test on the pypi feature + +--- + crates/uv/tests/it/version.rs | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/crates/uv/tests/it/version.rs b/crates/uv/tests/it/version.rs +index 97d30f4f42cf..398efa0d481a 100644 +--- a/crates/uv/tests/it/version.rs ++++ b/crates/uv/tests/it/version.rs +@@ -1962,6 +1962,7 @@ fn version_set_evil_constraints() -> Result<()> { + /// Bump the version with conflicting extras, to ensure we're activating the correct subset of + /// extras during the resolve. + #[test] ++#[cfg(feature = "pypi")] + fn version_extras() -> Result<()> { + let context = TestContext::new("3.12"); + diff --git a/sources b/sources index d01452e..57f2907 100644 --- a/sources +++ b/sources @@ -1,4 +1,4 @@ -SHA512 (uv-0.7.19.tar.gz) = c86cd70422a4ac2eb549258c1ab763e12b8cc32afb30a4ca7ec926f7b40b352468c3bf9fddb14fcf4e3c043be088211c37ee43d384d5651ca39922de927a1372 +SHA512 (uv-0.7.20.tar.gz) = 5a99b6fc216cf0c25865832f630487ead61a7ec313416151a7aa43c4aba08d653b8e198d537d59b6f42f30d494a3c5025fc87f96f28402f69a3a01d00c2036c2 SHA512 (rs-async-zip-c909fda63fcafe4af496a07bfda28a5aae97e58d.tar.gz) = 3a309566f4925b02496fcf19bc2865968edf6fb65082ca4079d2cee79e6b0353a1910c079f2afe656da0d0f6ddde5102052a221ea35a7dabc6d690a11218b20a SHA512 (pubgrub-06ec5a5f59ffaeb6cf5079c6cb184467da06c9db.tar.gz) = 3f0b18aecbc73fee91fc7de9f10d240ddc06c836fa2f116c1f007dd7818d099e6aea1852ca0b8d1a26ac19aac896535dba1a6298851a65515b553810c6245784 SHA512 (reqwest-middleware-ad8b9d332d1773fde8b4cd008486de5973e0a3f8.tar.gz) = 2dad83835c87cdd79e2a08c19b5024b3fdf30d1d8cd14e480e434612e856ecc20a5404881ff81d5793d3e9d5808ee3d59ce920312a86a100535009da43d7d46b diff --git a/uv.spec b/uv.spec index fdeeaa7..8c93076 100644 --- a/uv.spec +++ b/uv.spec @@ -11,7 +11,7 @@ %bcond it %{undefined el10} Name: uv -Version: 0.7.19 +Version: 0.7.20 Release: %autorelease Summary: An extremely fast Python package installer and resolver, written in Rust @@ -199,9 +199,9 @@ Source400: %{tl_git}/archive/%{tl_rev}/tl-%{tl_rev}.tar.gz # https://github.com/astral-sh/uv/issues/4451 Patch: 0001-Downstream-patch-always-find-the-system-wide-uv-exec.patch -# Update Rust crate reqwest to v0.12.22 -# https://github.com/astral-sh/uv/pull/14475 -Patch: %{url}/pull/14475.patch +# Conditionalize version_extras test on the pypi feature +# https://github.com/astral-sh/uv/pull/14536 +Patch: %{url}/pull/14536.patch # Update sanitize-filename requirement from 0.5 to 0.6 Patch100: https://github.com/Majored/rs-async-zip/pull/153.patch @@ -742,10 +742,6 @@ skip="${skip-} --skip middleware::tests::test_tracing_url" # ────────────┴─────────────────────────────────────────────────────────────────── skip="${skip-} --skip tests::built_by_uv_building" -# Upstream is working on this; see -# https://github.com/astral-sh/uv/pull/14243#issuecomment-3001792931. -skip="${skip-} --skip registry_client::tests::test_redirect_preserve_fragment" - %ifarch s390x # ---- registry_client::tests::test_redirect_to_server_with_credentials stdout ---- # thread 'registry_client::tests::test_redirect_to_server_with_credentials' From 6764664e26548c27d44632070118b7bb3ab08779 Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Tue, 15 Jul 2025 19:29:27 -0400 Subject: [PATCH 055/214] Update to 0.7.21 (close RHBZ#2379944) --- .gitignore | 1 + 14536.patch | 21 --------------------- sources | 2 +- uv.spec | 21 ++++++++++++++------- 4 files changed, 16 insertions(+), 29 deletions(-) delete mode 100644 14536.patch diff --git a/.gitignore b/.gitignore index e6f2c42..5b7ee7e 100644 --- a/.gitignore +++ b/.gitignore @@ -128,3 +128,4 @@ /uv-0.7.18.tar.gz /uv-0.7.19.tar.gz /uv-0.7.20.tar.gz +/uv-0.7.21.tar.gz diff --git a/14536.patch b/14536.patch deleted file mode 100644 index 81a9a3e..0000000 --- a/14536.patch +++ /dev/null @@ -1,21 +0,0 @@ -From a7fc40fd1d020efb080570039a5edffb1df84a8a Mon Sep 17 00:00:00 2001 -From: "Benjamin A. Beasley" -Date: Thu, 10 Jul 2025 07:00:14 -0400 -Subject: [PATCH] Conditionalize version_extras test on the pypi feature - ---- - crates/uv/tests/it/version.rs | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/crates/uv/tests/it/version.rs b/crates/uv/tests/it/version.rs -index 97d30f4f42cf..398efa0d481a 100644 ---- a/crates/uv/tests/it/version.rs -+++ b/crates/uv/tests/it/version.rs -@@ -1962,6 +1962,7 @@ fn version_set_evil_constraints() -> Result<()> { - /// Bump the version with conflicting extras, to ensure we're activating the correct subset of - /// extras during the resolve. - #[test] -+#[cfg(feature = "pypi")] - fn version_extras() -> Result<()> { - let context = TestContext::new("3.12"); - diff --git a/sources b/sources index 57f2907..99a0609 100644 --- a/sources +++ b/sources @@ -1,4 +1,4 @@ -SHA512 (uv-0.7.20.tar.gz) = 5a99b6fc216cf0c25865832f630487ead61a7ec313416151a7aa43c4aba08d653b8e198d537d59b6f42f30d494a3c5025fc87f96f28402f69a3a01d00c2036c2 +SHA512 (uv-0.7.21.tar.gz) = 34e7df50d8e306bd616d203846e96ad76adb0d73cf29f68fc26a79ca5bc85448aceacb8ea2b75b29ac77475ee02ba10f3ec456a43567afd871ee0c1c4b27367d SHA512 (rs-async-zip-c909fda63fcafe4af496a07bfda28a5aae97e58d.tar.gz) = 3a309566f4925b02496fcf19bc2865968edf6fb65082ca4079d2cee79e6b0353a1910c079f2afe656da0d0f6ddde5102052a221ea35a7dabc6d690a11218b20a SHA512 (pubgrub-06ec5a5f59ffaeb6cf5079c6cb184467da06c9db.tar.gz) = 3f0b18aecbc73fee91fc7de9f10d240ddc06c836fa2f116c1f007dd7818d099e6aea1852ca0b8d1a26ac19aac896535dba1a6298851a65515b553810c6245784 SHA512 (reqwest-middleware-ad8b9d332d1773fde8b4cd008486de5973e0a3f8.tar.gz) = 2dad83835c87cdd79e2a08c19b5024b3fdf30d1d8cd14e480e434612e856ecc20a5404881ff81d5793d3e9d5808ee3d59ce920312a86a100535009da43d7d46b diff --git a/uv.spec b/uv.spec index 8c93076..a24d4ee 100644 --- a/uv.spec +++ b/uv.spec @@ -11,7 +11,7 @@ %bcond it %{undefined el10} Name: uv -Version: 0.7.20 +Version: 0.7.21 Release: %autorelease Summary: An extremely fast Python package installer and resolver, written in Rust @@ -140,13 +140,13 @@ Source1: uv.toml # Currently, uv must use a fork of async_zip, as explained in: # Restore central directory buffering -# https://github.com/charliermarsh/rs-async-zip/pull/2 +# https://github.com/astral-sh/rs-async-zip/pull/2 # and further discussed in # Please consider supporting the current release of async_zip # https://github.com/prefix-dev/async_http_range_reader/issues/14 # We therefore bundle the fork as prescribed in # https://docs.fedoraproject.org/en-US/packaging-guidelines/Rust/#_replacing_git_dependencies -%global async_zip_git https://github.com/charliermarsh/rs-async-zip +%global async_zip_git https://github.com/astral-sh/rs-async-zip %global async_zip_rev c909fda63fcafe4af496a07bfda28a5aae97e58d %global async_zip_baseversion 0.0.17 %global async_zip_snapdate 20241114 @@ -199,10 +199,6 @@ Source400: %{tl_git}/archive/%{tl_rev}/tl-%{tl_rev}.tar.gz # https://github.com/astral-sh/uv/issues/4451 Patch: 0001-Downstream-patch-always-find-the-system-wide-uv-exec.patch -# Conditionalize version_extras test on the pypi feature -# https://github.com/astral-sh/uv/pull/14536 -Patch: %{url}/pull/14536.patch - # Update sanitize-filename requirement from 0.5 to 0.6 Patch100: https://github.com/Majored/rs-async-zip/pull/153.patch @@ -598,6 +594,12 @@ tomcli set crates/uv/Cargo.toml del dependencies.tracing-durations-export # # currently packaged: 0.1.2 # # https://bugzilla.redhat.com/show_bug.cgi?id=1234567 # tomcli set crates/uv/Cargo.toml str dev-dependencies.foocrate.version 0.1.2 +# indicatif +# wanted: 0.18.0 +# currently packaged: 0.17.11 +# https://bugzilla.redhat.com/show_bug.cgi?id=2376290 +tomcli set Cargo.toml str workspace.dependencies.indicatif.version \ + '>=0.17.11, <0.19' %cargo_prep @@ -699,6 +701,11 @@ skip="${skip-} --skip version::self_version_short" # and graalpy downloads may be missing. skip="${skip-} --skip python_list::python_list_downloads" %endif +%ifarch %{power64} +# Weirdly, the error message lacks the expected hint. This might be worth +# reporting upstream at some point, but it is not a serious issue. +skip="${skip-} --skip python_pin::python_pin_resolve" +%endif %endif # -p uv-client --test it: # This requires specific Python interpreter versions (so it would be grouped From fde735f3216d313d9a6e22fff5275778999cfa20 Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Sat, 19 Jul 2025 08:37:50 -0400 Subject: [PATCH 056/214] Update to 0.7.22 --- .gitignore | 1 + sources | 2 +- uv.spec | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 5b7ee7e..cbaba59 100644 --- a/.gitignore +++ b/.gitignore @@ -129,3 +129,4 @@ /uv-0.7.19.tar.gz /uv-0.7.20.tar.gz /uv-0.7.21.tar.gz +/uv-0.7.22.tar.gz diff --git a/sources b/sources index 99a0609..e3a48a2 100644 --- a/sources +++ b/sources @@ -1,4 +1,4 @@ -SHA512 (uv-0.7.21.tar.gz) = 34e7df50d8e306bd616d203846e96ad76adb0d73cf29f68fc26a79ca5bc85448aceacb8ea2b75b29ac77475ee02ba10f3ec456a43567afd871ee0c1c4b27367d +SHA512 (uv-0.7.22.tar.gz) = e1c4f7ba7a2c679c87840cc4a1b56bb7c4d0ecdbe14347052f96af90a4ce869627a0659ab9266b433a39f4b600711d2c64f88bd38a7d477017fc9c596194354f SHA512 (rs-async-zip-c909fda63fcafe4af496a07bfda28a5aae97e58d.tar.gz) = 3a309566f4925b02496fcf19bc2865968edf6fb65082ca4079d2cee79e6b0353a1910c079f2afe656da0d0f6ddde5102052a221ea35a7dabc6d690a11218b20a SHA512 (pubgrub-06ec5a5f59ffaeb6cf5079c6cb184467da06c9db.tar.gz) = 3f0b18aecbc73fee91fc7de9f10d240ddc06c836fa2f116c1f007dd7818d099e6aea1852ca0b8d1a26ac19aac896535dba1a6298851a65515b553810c6245784 SHA512 (reqwest-middleware-ad8b9d332d1773fde8b4cd008486de5973e0a3f8.tar.gz) = 2dad83835c87cdd79e2a08c19b5024b3fdf30d1d8cd14e480e434612e856ecc20a5404881ff81d5793d3e9d5808ee3d59ce920312a86a100535009da43d7d46b diff --git a/uv.spec b/uv.spec index a24d4ee..9d4c56b 100644 --- a/uv.spec +++ b/uv.spec @@ -11,7 +11,7 @@ %bcond it %{undefined el10} Name: uv -Version: 0.7.21 +Version: 0.7.22 Release: %autorelease Summary: An extremely fast Python package installer and resolver, written in Rust From 42668c1ebba4af347574127dbb64477f830e66c2 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 25 Jul 2025 19:55:12 +0000 Subject: [PATCH 057/214] Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild From dbae66837cef570ae4958a115bdc890a1ab35b25 Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Sat, 19 Jul 2025 09:16:15 -0400 Subject: [PATCH 058/214] Update to 0.8.0 --- .gitignore | 1 + sources | 2 +- uv.spec | 6 +++++- 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index cbaba59..f57fb9b 100644 --- a/.gitignore +++ b/.gitignore @@ -130,3 +130,4 @@ /uv-0.7.20.tar.gz /uv-0.7.21.tar.gz /uv-0.7.22.tar.gz +/uv-0.8.0.tar.gz diff --git a/sources b/sources index e3a48a2..27f660c 100644 --- a/sources +++ b/sources @@ -1,4 +1,4 @@ -SHA512 (uv-0.7.22.tar.gz) = e1c4f7ba7a2c679c87840cc4a1b56bb7c4d0ecdbe14347052f96af90a4ce869627a0659ab9266b433a39f4b600711d2c64f88bd38a7d477017fc9c596194354f +SHA512 (uv-0.8.0.tar.gz) = 69f7bd4a5e9b7aeda7748f8365082c0974bcf91bc3499c2008ac845cce9d5016b5caaeaa871b2a7dda5ff72cbaa4c560c50582188276afb3e178176b2aae5609 SHA512 (rs-async-zip-c909fda63fcafe4af496a07bfda28a5aae97e58d.tar.gz) = 3a309566f4925b02496fcf19bc2865968edf6fb65082ca4079d2cee79e6b0353a1910c079f2afe656da0d0f6ddde5102052a221ea35a7dabc6d690a11218b20a SHA512 (pubgrub-06ec5a5f59ffaeb6cf5079c6cb184467da06c9db.tar.gz) = 3f0b18aecbc73fee91fc7de9f10d240ddc06c836fa2f116c1f007dd7818d099e6aea1852ca0b8d1a26ac19aac896535dba1a6298851a65515b553810c6245784 SHA512 (reqwest-middleware-ad8b9d332d1773fde8b4cd008486de5973e0a3f8.tar.gz) = 2dad83835c87cdd79e2a08c19b5024b3fdf30d1d8cd14e480e434612e856ecc20a5404881ff81d5793d3e9d5808ee3d59ce920312a86a100535009da43d7d46b diff --git a/uv.spec b/uv.spec index 9d4c56b..482a71e 100644 --- a/uv.spec +++ b/uv.spec @@ -11,7 +11,7 @@ %bcond it %{undefined el10} Name: uv -Version: 0.7.22 +Version: 0.8.0 Release: %autorelease Summary: An extremely fast Python package installer and resolver, written in Rust @@ -749,6 +749,10 @@ skip="${skip-} --skip middleware::tests::test_tracing_url" # ────────────┴─────────────────────────────────────────────────────────────────── skip="${skip-} --skip tests::built_by_uv_building" +# Since 0.8.0, version_get_fallback_unmanaged_json fails outside of a git checkout +# https://github.com/astral-sh/uv/issues/14785 +skip="${skip-} --skip version::version_get_fallback_unmanaged_json" + %ifarch s390x # ---- registry_client::tests::test_redirect_to_server_with_credentials stdout ---- # thread 'registry_client::tests::test_redirect_to_server_with_credentials' From a6eb15ef24274f12d6d9b87a9f1a1e1292025e00 Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Fri, 25 Jul 2025 07:23:09 -0400 Subject: [PATCH 059/214] Update console to 0.16 --- ...e726c5d2b751ff92e76960f716318c8042c0.patch | 22 +++++++++++++++++++ uv.spec | 6 +++++ 2 files changed, 28 insertions(+) create mode 100644 addde726c5d2b751ff92e76960f716318c8042c0.patch diff --git a/addde726c5d2b751ff92e76960f716318c8042c0.patch b/addde726c5d2b751ff92e76960f716318c8042c0.patch new file mode 100644 index 0000000..2823b0a --- /dev/null +++ b/addde726c5d2b751ff92e76960f716318c8042c0.patch @@ -0,0 +1,22 @@ +From addde726c5d2b751ff92e76960f716318c8042c0 Mon Sep 17 00:00:00 2001 +From: "Benjamin A. Beasley" +Date: Fri, 25 Jul 2025 06:59:42 -0400 +Subject: [PATCH] Update Rust crate console to 0.16.0 + +--- + Cargo.toml | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Cargo.toml b/Cargo.toml +index e89f786ea62d..d815358327b7 100644 +--- a/Cargo.toml ++++ b/Cargo.toml +@@ -93,7 +93,7 @@ cargo-util = { version = "0.2.14" } + clap = { version = "4.5.17", features = ["derive", "env", "string", "wrap_help"] } + clap_complete_command = { version = "0.6.1" } + configparser = { version = "3.1.0" } +-console = { version = "0.15.11", default-features = false } ++console = { version = "0.16.0", default-features = false, features = ["std"] } + csv = { version = "1.3.0" } + ctrlc = { version = "3.4.5" } + dashmap = { version = "6.1.0" } diff --git a/uv.spec b/uv.spec index 482a71e..6a99c90 100644 --- a/uv.spec +++ b/uv.spec @@ -199,6 +199,11 @@ Source400: %{tl_git}/archive/%{tl_rev}/tl-%{tl_rev}.tar.gz # https://github.com/astral-sh/uv/issues/4451 Patch: 0001-Downstream-patch-always-find-the-system-wide-uv-exec.patch +# Update Rust crate console to 0.16.0 +# https://github.com/astral-sh/uv/pull/14890 +# (Only the commit changing Cargo.toml, not the changes to Cargo.lock) +Patch: %{url}/pull/14890/commits/addde726c5d2b751ff92e76960f716318c8042c0.patch + # Update sanitize-filename requirement from 0.5 to 0.6 Patch100: https://github.com/Majored/rs-async-zip/pull/153.patch @@ -594,6 +599,7 @@ tomcli set crates/uv/Cargo.toml del dependencies.tracing-durations-export # # currently packaged: 0.1.2 # # https://bugzilla.redhat.com/show_bug.cgi?id=1234567 # tomcli set crates/uv/Cargo.toml str dev-dependencies.foocrate.version 0.1.2 +# # indicatif # wanted: 0.18.0 # currently packaged: 0.17.11 From 4b2d80e4e12ece003493629373733e7207f125b1 Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Sun, 27 Jul 2025 07:21:12 -0400 Subject: [PATCH 060/214] Drop conditional for end-of-life Fedora 40 [skip changelog] --- uv.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/uv.spec b/uv.spec index 6a99c90..8bb5a23 100644 --- a/uv.spec +++ b/uv.spec @@ -721,7 +721,7 @@ skip="${skip-} --skip python_pin::python_pin_resolve" # https://github.com/astral-sh/uv/pull/13699#issuecomment-2916115588. skip="${skip-} --skip remote_metadata::remote_metadata_with_and_without_cache" -%if %[ %{defined fc41} || %{defined fc40} || %{defined el10} || %{defined el9} ] +%if %[ %{defined fc41} || %{defined el10} || %{defined el9} ] # Trivial difference in snapshots: packages appear in a different order. skip="${skip-} --skip lock::tests::missing_dependency_source_unambiguous" skip="${skip-} --skip lock::tests::missing_dependency_version_dynamic" From a74335d7f9a5e0313471d825cf8d0ab0cfc31c46 Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Sun, 27 Jul 2025 07:52:03 -0400 Subject: [PATCH 061/214] Update to 0.8.1 --- .gitignore | 1 + sources | 2 +- uv.spec | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index f57fb9b..0604672 100644 --- a/.gitignore +++ b/.gitignore @@ -131,3 +131,4 @@ /uv-0.7.21.tar.gz /uv-0.7.22.tar.gz /uv-0.8.0.tar.gz +/uv-0.8.1.tar.gz diff --git a/sources b/sources index 27f660c..b58c544 100644 --- a/sources +++ b/sources @@ -1,4 +1,4 @@ -SHA512 (uv-0.8.0.tar.gz) = 69f7bd4a5e9b7aeda7748f8365082c0974bcf91bc3499c2008ac845cce9d5016b5caaeaa871b2a7dda5ff72cbaa4c560c50582188276afb3e178176b2aae5609 +SHA512 (uv-0.8.1.tar.gz) = dbb85128b098c8ce01320aafdde85db9ce221bca72f5f7f500f2794e66f26697d132be4e0d5074cd3079e552c3a6e77907d5a146b6271b7d8f0827772088abec SHA512 (rs-async-zip-c909fda63fcafe4af496a07bfda28a5aae97e58d.tar.gz) = 3a309566f4925b02496fcf19bc2865968edf6fb65082ca4079d2cee79e6b0353a1910c079f2afe656da0d0f6ddde5102052a221ea35a7dabc6d690a11218b20a SHA512 (pubgrub-06ec5a5f59ffaeb6cf5079c6cb184467da06c9db.tar.gz) = 3f0b18aecbc73fee91fc7de9f10d240ddc06c836fa2f116c1f007dd7818d099e6aea1852ca0b8d1a26ac19aac896535dba1a6298851a65515b553810c6245784 SHA512 (reqwest-middleware-ad8b9d332d1773fde8b4cd008486de5973e0a3f8.tar.gz) = 2dad83835c87cdd79e2a08c19b5024b3fdf30d1d8cd14e480e434612e856ecc20a5404881ff81d5793d3e9d5808ee3d59ce920312a86a100535009da43d7d46b diff --git a/uv.spec b/uv.spec index 8bb5a23..5a877ae 100644 --- a/uv.spec +++ b/uv.spec @@ -11,7 +11,7 @@ %bcond it %{undefined el10} Name: uv -Version: 0.8.0 +Version: 0.8.1 Release: %autorelease Summary: An extremely fast Python package installer and resolver, written in Rust From 2525f6b5799680374dd6013f4e9a4ae3ac82f729 Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Tue, 29 Jul 2025 06:39:15 -0400 Subject: [PATCH 062/214] Update to 0.8.2 --- .gitignore | 1 + sources | 2 +- uv.spec | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 0604672..15659e2 100644 --- a/.gitignore +++ b/.gitignore @@ -132,3 +132,4 @@ /uv-0.7.22.tar.gz /uv-0.8.0.tar.gz /uv-0.8.1.tar.gz +/uv-0.8.2.tar.gz diff --git a/sources b/sources index b58c544..c16deae 100644 --- a/sources +++ b/sources @@ -1,4 +1,4 @@ -SHA512 (uv-0.8.1.tar.gz) = dbb85128b098c8ce01320aafdde85db9ce221bca72f5f7f500f2794e66f26697d132be4e0d5074cd3079e552c3a6e77907d5a146b6271b7d8f0827772088abec +SHA512 (uv-0.8.2.tar.gz) = 9d10f182ab0fefb6028a0424a8cc1467f34e65de24a358a9038b8104f62808f479d004d3a45df7264b6aea81933353b78f1b3963c37ff66ec9da4a53cdca0e2c SHA512 (rs-async-zip-c909fda63fcafe4af496a07bfda28a5aae97e58d.tar.gz) = 3a309566f4925b02496fcf19bc2865968edf6fb65082ca4079d2cee79e6b0353a1910c079f2afe656da0d0f6ddde5102052a221ea35a7dabc6d690a11218b20a SHA512 (pubgrub-06ec5a5f59ffaeb6cf5079c6cb184467da06c9db.tar.gz) = 3f0b18aecbc73fee91fc7de9f10d240ddc06c836fa2f116c1f007dd7818d099e6aea1852ca0b8d1a26ac19aac896535dba1a6298851a65515b553810c6245784 SHA512 (reqwest-middleware-ad8b9d332d1773fde8b4cd008486de5973e0a3f8.tar.gz) = 2dad83835c87cdd79e2a08c19b5024b3fdf30d1d8cd14e480e434612e856ecc20a5404881ff81d5793d3e9d5808ee3d59ce920312a86a100535009da43d7d46b diff --git a/uv.spec b/uv.spec index 5a877ae..52ba2f9 100644 --- a/uv.spec +++ b/uv.spec @@ -11,7 +11,7 @@ %bcond it %{undefined el10} Name: uv -Version: 0.8.1 +Version: 0.8.2 Release: %autorelease Summary: An extremely fast Python package installer and resolver, written in Rust From 5ba56b9042c6d62b46db9e3a688de31ff97510f0 Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Tue, 29 Jul 2025 07:06:49 -0400 Subject: [PATCH 063/214] No longer allow indicatif 0.17 --- uv.spec | 7 ------- 1 file changed, 7 deletions(-) diff --git a/uv.spec b/uv.spec index 52ba2f9..12835aa 100644 --- a/uv.spec +++ b/uv.spec @@ -599,13 +599,6 @@ tomcli set crates/uv/Cargo.toml del dependencies.tracing-durations-export # # currently packaged: 0.1.2 # # https://bugzilla.redhat.com/show_bug.cgi?id=1234567 # tomcli set crates/uv/Cargo.toml str dev-dependencies.foocrate.version 0.1.2 -# -# indicatif -# wanted: 0.18.0 -# currently packaged: 0.17.11 -# https://bugzilla.redhat.com/show_bug.cgi?id=2376290 -tomcli set Cargo.toml str workspace.dependencies.indicatif.version \ - '>=0.17.11, <0.19' %cargo_prep From 3fce371641150f275fa84f0998dc8d25b816b5ae Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Tue, 29 Jul 2025 07:08:15 -0400 Subject: [PATCH 064/214] Update to 0.8.3 --- .gitignore | 1 + sources | 2 +- uv.spec | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 15659e2..8ceb1e0 100644 --- a/.gitignore +++ b/.gitignore @@ -133,3 +133,4 @@ /uv-0.8.0.tar.gz /uv-0.8.1.tar.gz /uv-0.8.2.tar.gz +/uv-0.8.3.tar.gz diff --git a/sources b/sources index c16deae..e6115a0 100644 --- a/sources +++ b/sources @@ -1,4 +1,4 @@ -SHA512 (uv-0.8.2.tar.gz) = 9d10f182ab0fefb6028a0424a8cc1467f34e65de24a358a9038b8104f62808f479d004d3a45df7264b6aea81933353b78f1b3963c37ff66ec9da4a53cdca0e2c +SHA512 (uv-0.8.3.tar.gz) = b17936f1f302584ea6d7a5dfd48afd5bb097e4276dc1b24881b27c4aae4170ad7eedd3c9b7bba949ff488714a87dd95dabd87473d548f9f08a9acd7cd3b01395 SHA512 (rs-async-zip-c909fda63fcafe4af496a07bfda28a5aae97e58d.tar.gz) = 3a309566f4925b02496fcf19bc2865968edf6fb65082ca4079d2cee79e6b0353a1910c079f2afe656da0d0f6ddde5102052a221ea35a7dabc6d690a11218b20a SHA512 (pubgrub-06ec5a5f59ffaeb6cf5079c6cb184467da06c9db.tar.gz) = 3f0b18aecbc73fee91fc7de9f10d240ddc06c836fa2f116c1f007dd7818d099e6aea1852ca0b8d1a26ac19aac896535dba1a6298851a65515b553810c6245784 SHA512 (reqwest-middleware-ad8b9d332d1773fde8b4cd008486de5973e0a3f8.tar.gz) = 2dad83835c87cdd79e2a08c19b5024b3fdf30d1d8cd14e480e434612e856ecc20a5404881ff81d5793d3e9d5808ee3d59ce920312a86a100535009da43d7d46b diff --git a/uv.spec b/uv.spec index 12835aa..b11eb03 100644 --- a/uv.spec +++ b/uv.spec @@ -11,7 +11,7 @@ %bcond it %{undefined el10} Name: uv -Version: 0.8.2 +Version: 0.8.3 Release: %autorelease Summary: An extremely fast Python package installer and resolver, written in Rust From 78b623f0274778bae8ed87966fc6e2f238b688d9 Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Thu, 31 Jul 2025 09:06:41 -0400 Subject: [PATCH 065/214] Update to 0.8.4 (close RHBZ#2381845) --- .gitignore | 1 + ...e726c5d2b751ff92e76960f716318c8042c0.patch | 22 ------------------- sources | 2 +- uv.spec | 7 +----- 4 files changed, 3 insertions(+), 29 deletions(-) delete mode 100644 addde726c5d2b751ff92e76960f716318c8042c0.patch diff --git a/.gitignore b/.gitignore index 8ceb1e0..69d6bc2 100644 --- a/.gitignore +++ b/.gitignore @@ -134,3 +134,4 @@ /uv-0.8.1.tar.gz /uv-0.8.2.tar.gz /uv-0.8.3.tar.gz +/uv-0.8.4.tar.gz diff --git a/addde726c5d2b751ff92e76960f716318c8042c0.patch b/addde726c5d2b751ff92e76960f716318c8042c0.patch deleted file mode 100644 index 2823b0a..0000000 --- a/addde726c5d2b751ff92e76960f716318c8042c0.patch +++ /dev/null @@ -1,22 +0,0 @@ -From addde726c5d2b751ff92e76960f716318c8042c0 Mon Sep 17 00:00:00 2001 -From: "Benjamin A. Beasley" -Date: Fri, 25 Jul 2025 06:59:42 -0400 -Subject: [PATCH] Update Rust crate console to 0.16.0 - ---- - Cargo.toml | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/Cargo.toml b/Cargo.toml -index e89f786ea62d..d815358327b7 100644 ---- a/Cargo.toml -+++ b/Cargo.toml -@@ -93,7 +93,7 @@ cargo-util = { version = "0.2.14" } - clap = { version = "4.5.17", features = ["derive", "env", "string", "wrap_help"] } - clap_complete_command = { version = "0.6.1" } - configparser = { version = "3.1.0" } --console = { version = "0.15.11", default-features = false } -+console = { version = "0.16.0", default-features = false, features = ["std"] } - csv = { version = "1.3.0" } - ctrlc = { version = "3.4.5" } - dashmap = { version = "6.1.0" } diff --git a/sources b/sources index e6115a0..5ce59be 100644 --- a/sources +++ b/sources @@ -1,4 +1,4 @@ -SHA512 (uv-0.8.3.tar.gz) = b17936f1f302584ea6d7a5dfd48afd5bb097e4276dc1b24881b27c4aae4170ad7eedd3c9b7bba949ff488714a87dd95dabd87473d548f9f08a9acd7cd3b01395 +SHA512 (uv-0.8.4.tar.gz) = 4a7fe390452f86f5ecbcc3270eb384c7a69c2db33a6993d1dbace8730be9a347fc71696c5d40d259e80f0f49f4661f90bbbe02cbed42d86421d2cfaf64de937e SHA512 (rs-async-zip-c909fda63fcafe4af496a07bfda28a5aae97e58d.tar.gz) = 3a309566f4925b02496fcf19bc2865968edf6fb65082ca4079d2cee79e6b0353a1910c079f2afe656da0d0f6ddde5102052a221ea35a7dabc6d690a11218b20a SHA512 (pubgrub-06ec5a5f59ffaeb6cf5079c6cb184467da06c9db.tar.gz) = 3f0b18aecbc73fee91fc7de9f10d240ddc06c836fa2f116c1f007dd7818d099e6aea1852ca0b8d1a26ac19aac896535dba1a6298851a65515b553810c6245784 SHA512 (reqwest-middleware-ad8b9d332d1773fde8b4cd008486de5973e0a3f8.tar.gz) = 2dad83835c87cdd79e2a08c19b5024b3fdf30d1d8cd14e480e434612e856ecc20a5404881ff81d5793d3e9d5808ee3d59ce920312a86a100535009da43d7d46b diff --git a/uv.spec b/uv.spec index b11eb03..0424f70 100644 --- a/uv.spec +++ b/uv.spec @@ -11,7 +11,7 @@ %bcond it %{undefined el10} Name: uv -Version: 0.8.3 +Version: 0.8.4 Release: %autorelease Summary: An extremely fast Python package installer and resolver, written in Rust @@ -199,11 +199,6 @@ Source400: %{tl_git}/archive/%{tl_rev}/tl-%{tl_rev}.tar.gz # https://github.com/astral-sh/uv/issues/4451 Patch: 0001-Downstream-patch-always-find-the-system-wide-uv-exec.patch -# Update Rust crate console to 0.16.0 -# https://github.com/astral-sh/uv/pull/14890 -# (Only the commit changing Cargo.toml, not the changes to Cargo.lock) -Patch: %{url}/pull/14890/commits/addde726c5d2b751ff92e76960f716318c8042c0.patch - # Update sanitize-filename requirement from 0.5 to 0.6 Patch100: https://github.com/Majored/rs-async-zip/pull/153.patch From b41e64b4f2787117323fddd77198fa984fa4fb36 Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Wed, 6 Aug 2025 08:30:29 -0400 Subject: [PATCH 066/214] Update to 0.8.5 (close RHBZ#2386647) --- .gitignore | 1 + sources | 2 +- uv-0.8.5-unpin-h2.patch | 39 +++++++++++++++++++++++++++++++++++++++ uv.spec | 10 +++++++++- 4 files changed, 50 insertions(+), 2 deletions(-) create mode 100644 uv-0.8.5-unpin-h2.patch diff --git a/.gitignore b/.gitignore index 69d6bc2..f610d11 100644 --- a/.gitignore +++ b/.gitignore @@ -135,3 +135,4 @@ /uv-0.8.2.tar.gz /uv-0.8.3.tar.gz /uv-0.8.4.tar.gz +/uv-0.8.5.tar.gz diff --git a/sources b/sources index 5ce59be..de8dc2d 100644 --- a/sources +++ b/sources @@ -1,4 +1,4 @@ -SHA512 (uv-0.8.4.tar.gz) = 4a7fe390452f86f5ecbcc3270eb384c7a69c2db33a6993d1dbace8730be9a347fc71696c5d40d259e80f0f49f4661f90bbbe02cbed42d86421d2cfaf64de937e +SHA512 (uv-0.8.5.tar.gz) = a9f383f8b1474450a295699688aeb1c97969b80750d53913312bc67a5f4e92072f29c9148b4c8217e11f62cf386b0c623cddea62f1681f049edbd4a66ae119fd SHA512 (rs-async-zip-c909fda63fcafe4af496a07bfda28a5aae97e58d.tar.gz) = 3a309566f4925b02496fcf19bc2865968edf6fb65082ca4079d2cee79e6b0353a1910c079f2afe656da0d0f6ddde5102052a221ea35a7dabc6d690a11218b20a SHA512 (pubgrub-06ec5a5f59ffaeb6cf5079c6cb184467da06c9db.tar.gz) = 3f0b18aecbc73fee91fc7de9f10d240ddc06c836fa2f116c1f007dd7818d099e6aea1852ca0b8d1a26ac19aac896535dba1a6298851a65515b553810c6245784 SHA512 (reqwest-middleware-ad8b9d332d1773fde8b4cd008486de5973e0a3f8.tar.gz) = 2dad83835c87cdd79e2a08c19b5024b3fdf30d1d8cd14e480e434612e856ecc20a5404881ff81d5793d3e9d5808ee3d59ce920312a86a100535009da43d7d46b diff --git a/uv-0.8.5-unpin-h2.patch b/uv-0.8.5-unpin-h2.patch new file mode 100644 index 0000000..5388c81 --- /dev/null +++ b/uv-0.8.5-unpin-h2.patch @@ -0,0 +1,39 @@ +diff -Naur uv-0.8.5-original/Cargo.toml uv-0.8.5/Cargo.toml +--- uv-0.8.5-original/Cargo.toml 2025-08-05 16:21:00.000000000 -0400 ++++ uv-0.8.5/Cargo.toml 2025-08-06 08:08:45.461534368 -0400 +@@ -112,7 +112,6 @@ + globset = { version = "0.4.15" } + globwalk = { version = "0.9.1" } + goblin = { version = "0.10.0", default-features = false, features = ["std", "elf32", "elf64", "endian_fd"] } +-h2 = { version = "<=0.4.7" } + hashbrown = { version = "0.15.1" } + hex = { version = "0.4.3" } + home = { version = "0.5.9" } +@@ -214,7 +213,7 @@ + whoami = { version = "1.6.0" } + + [workspace.metadata.cargo-shear] +-ignored = ["flate2", "xz2", "h2"] ++ignored = ["flate2", "xz2"] + + [workspace.lints.rust] + unsafe_code = "warn" +diff -Naur uv-0.8.5-original/crates/uv/Cargo.toml uv-0.8.5/crates/uv/Cargo.toml +--- uv-0.8.5-original/crates/uv/Cargo.toml 2025-08-05 16:21:00.000000000 -0400 ++++ uv-0.8.5/crates/uv/Cargo.toml 2025-08-06 08:08:45.461614036 -0400 +@@ -85,7 +85,6 @@ + petgraph = { workspace = true } + regex = { workspace = true } + reqwest = { workspace = true } +-h2 = { workspace = true } + rkyv = { workspace = true } + rustc-hash = { workspace = true } + serde = { workspace = true } +@@ -139,7 +138,6 @@ + [package.metadata.cargo-shear] + ignored = [ + "flate2", +- "h2", + "uv-performance-memory-allocator", + ] + diff --git a/uv.spec b/uv.spec index 0424f70..72ca119 100644 --- a/uv.spec +++ b/uv.spec @@ -11,7 +11,7 @@ %bcond it %{undefined el10} Name: uv -Version: 0.8.4 +Version: 0.8.5 Release: %autorelease Summary: An extremely fast Python package installer and resolver, written in Rust @@ -199,6 +199,14 @@ Source400: %{tl_git}/archive/%{tl_rev}/tl-%{tl_rev}.tar.gz # https://github.com/astral-sh/uv/issues/4451 Patch: 0001-Downstream-patch-always-find-the-system-wide-uv-exec.patch +# Downstream-only: unpin h2 (pinned in +# https://github.com/astral-sh/uv/commit/b2c382f7c1f6949c007cd95248cdcaa9ec3dd559) +# because we cannot respect the version downgrade using system packages; +# unfortunately, this means we will continue to be affected by +# https://github.com/astral-sh/uv/issues/15056, +# https://github.com/hyperium/h2/issues/856. +Patch: uv-0.8.5-unpin-h2.patch + # Update sanitize-filename requirement from 0.5 to 0.6 Patch100: https://github.com/Majored/rs-async-zip/pull/153.patch From 628951b10d7c72e48c46aac4bb72d9a5efe8e22f Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Thu, 7 Aug 2025 13:14:50 -0400 Subject: [PATCH 067/214] Update to 0.8.6 --- .gitignore | 2 ++ 15160.patch | 41 +++++++++++++++++++++++++++++++++++++++++ 153.patch | 29 ----------------------------- sources | 4 ++-- uv-0.8.5-unpin-h2.patch | 39 --------------------------------------- uv.spec | 35 +++++++++++++---------------------- 6 files changed, 58 insertions(+), 92 deletions(-) create mode 100644 15160.patch delete mode 100644 153.patch delete mode 100644 uv-0.8.5-unpin-h2.patch diff --git a/.gitignore b/.gitignore index f610d11..5861757 100644 --- a/.gitignore +++ b/.gitignore @@ -136,3 +136,5 @@ /uv-0.8.3.tar.gz /uv-0.8.4.tar.gz /uv-0.8.5.tar.gz +/uv-0.8.6.tar.gz +/rs-async-zip-285e48742b74ab109887d62e1ae79e7c15fd4878.tar.gz diff --git a/15160.patch b/15160.patch new file mode 100644 index 0000000..ea7429d --- /dev/null +++ b/15160.patch @@ -0,0 +1,41 @@ +From 94613781cf18dce8c214ae8fb6b517efbb673cf5 Mon Sep 17 00:00:00 2001 +From: Charlie Marsh +Date: Fri, 8 Aug 2025 10:30:12 +0100 +Subject: [PATCH] Add R2 feature for malo tests + +--- + crates/uv/Cargo.toml | 3 +++ + crates/uv/tests/it/extract.rs | 2 ++ + 2 files changed, 5 insertions(+) + +diff --git a/crates/uv/Cargo.toml b/crates/uv/Cargo.toml +index e6f90b0eb75a..eb0396992b7d 100644 +--- a/crates/uv/Cargo.toml ++++ b/crates/uv/Cargo.toml +@@ -162,6 +162,7 @@ default-tests = [ + "crates-io", + "git", + "pypi", ++ "r2", + "python", + "python-managed", + "python-eol", +@@ -174,6 +175,8 @@ crates-io = [] + git = [] + # Introduces a testing dependency on PyPI. + pypi = [] ++# Introduces a testing dependency on R2. ++r2 = [] + # Introduces a testing dependency on a local Python installation. + python = [] + # Introduces a testing dependency on a local Python installation with specific patch versions. +diff --git a/crates/uv/tests/it/extract.rs b/crates/uv/tests/it/extract.rs +index 2a06d89bf256..d1c9a8bd9755 100644 +--- a/crates/uv/tests/it/extract.rs ++++ b/crates/uv/tests/it/extract.rs +@@ -1,3 +1,5 @@ ++#![cfg(feature = "r2")] ++ + use futures::TryStreamExt; + use tokio_util::compat::FuturesAsyncReadCompatExt; + diff --git a/153.patch b/153.patch deleted file mode 100644 index 5d8eeef..0000000 --- a/153.patch +++ /dev/null @@ -1,29 +0,0 @@ -From 5db00c2c55cd048f39313aff9f78ca5ff2af0f28 Mon Sep 17 00:00:00 2001 -From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> -Date: Fri, 8 Nov 2024 12:00:41 +0000 -Subject: [PATCH] Update sanitize-filename requirement from 0.5 to 0.6 - ---- -updated-dependencies: -- dependency-name: sanitize-filename - dependency-type: direct:production -... - -Signed-off-by: dependabot[bot] ---- - Cargo.toml | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/Cargo.toml b/Cargo.toml -index 4740293..8ac4d1b 100644 ---- a/Cargo.toml -+++ b/Cargo.toml -@@ -53,7 +53,7 @@ zip = "2.1.5" - - # shared across multiple examples - anyhow = "1" --sanitize-filename = "0.5" -+sanitize-filename = "0.6" - - # actix_multipart - actix-web = "4" diff --git a/sources b/sources index de8dc2d..042dc1b 100644 --- a/sources +++ b/sources @@ -1,5 +1,5 @@ -SHA512 (uv-0.8.5.tar.gz) = a9f383f8b1474450a295699688aeb1c97969b80750d53913312bc67a5f4e92072f29c9148b4c8217e11f62cf386b0c623cddea62f1681f049edbd4a66ae119fd -SHA512 (rs-async-zip-c909fda63fcafe4af496a07bfda28a5aae97e58d.tar.gz) = 3a309566f4925b02496fcf19bc2865968edf6fb65082ca4079d2cee79e6b0353a1910c079f2afe656da0d0f6ddde5102052a221ea35a7dabc6d690a11218b20a +SHA512 (uv-0.8.6.tar.gz) = d164488e967364d254bab989933a5faf27c52c91da1bdeb6f3419fce335dfac5d4ea6cd717cac6b05fee9f85605cf21930c3d37119c49a98cb13c53d51ea996d +SHA512 (rs-async-zip-285e48742b74ab109887d62e1ae79e7c15fd4878.tar.gz) = d6dd699f43ca6e23a4c8abb8673b37d3983081a8c78545492ea3c1d0b35e3a491277c341df6dd64fb7efaec3b23eb479dede99e9b41016b5504d1a6dc9fbc617 SHA512 (pubgrub-06ec5a5f59ffaeb6cf5079c6cb184467da06c9db.tar.gz) = 3f0b18aecbc73fee91fc7de9f10d240ddc06c836fa2f116c1f007dd7818d099e6aea1852ca0b8d1a26ac19aac896535dba1a6298851a65515b553810c6245784 SHA512 (reqwest-middleware-ad8b9d332d1773fde8b4cd008486de5973e0a3f8.tar.gz) = 2dad83835c87cdd79e2a08c19b5024b3fdf30d1d8cd14e480e434612e856ecc20a5404881ff81d5793d3e9d5808ee3d59ce920312a86a100535009da43d7d46b SHA512 (tl-6e25b2ee2513d75385101a8ff9f591ef51f314ec.tar.gz) = 4abbc4240ed129c92da8d616e27a6df0f24cdc85a0803acfdae588ca91f9e5b8d482e3ac88b2e657ff68917b1b43cef1e7ef3c887f624659b231fa5a13fcae68 diff --git a/uv-0.8.5-unpin-h2.patch b/uv-0.8.5-unpin-h2.patch deleted file mode 100644 index 5388c81..0000000 --- a/uv-0.8.5-unpin-h2.patch +++ /dev/null @@ -1,39 +0,0 @@ -diff -Naur uv-0.8.5-original/Cargo.toml uv-0.8.5/Cargo.toml ---- uv-0.8.5-original/Cargo.toml 2025-08-05 16:21:00.000000000 -0400 -+++ uv-0.8.5/Cargo.toml 2025-08-06 08:08:45.461534368 -0400 -@@ -112,7 +112,6 @@ - globset = { version = "0.4.15" } - globwalk = { version = "0.9.1" } - goblin = { version = "0.10.0", default-features = false, features = ["std", "elf32", "elf64", "endian_fd"] } --h2 = { version = "<=0.4.7" } - hashbrown = { version = "0.15.1" } - hex = { version = "0.4.3" } - home = { version = "0.5.9" } -@@ -214,7 +213,7 @@ - whoami = { version = "1.6.0" } - - [workspace.metadata.cargo-shear] --ignored = ["flate2", "xz2", "h2"] -+ignored = ["flate2", "xz2"] - - [workspace.lints.rust] - unsafe_code = "warn" -diff -Naur uv-0.8.5-original/crates/uv/Cargo.toml uv-0.8.5/crates/uv/Cargo.toml ---- uv-0.8.5-original/crates/uv/Cargo.toml 2025-08-05 16:21:00.000000000 -0400 -+++ uv-0.8.5/crates/uv/Cargo.toml 2025-08-06 08:08:45.461614036 -0400 -@@ -85,7 +85,6 @@ - petgraph = { workspace = true } - regex = { workspace = true } - reqwest = { workspace = true } --h2 = { workspace = true } - rkyv = { workspace = true } - rustc-hash = { workspace = true } - serde = { workspace = true } -@@ -139,7 +138,6 @@ - [package.metadata.cargo-shear] - ignored = [ - "flate2", -- "h2", - "uv-performance-memory-allocator", - ] - diff --git a/uv.spec b/uv.spec index 72ca119..8f6c4e1 100644 --- a/uv.spec +++ b/uv.spec @@ -11,7 +11,7 @@ %bcond it %{undefined el10} Name: uv -Version: 0.8.5 +Version: 0.8.6 Release: %autorelease Summary: An extremely fast Python package installer and resolver, written in Rust @@ -147,9 +147,9 @@ Source1: uv.toml # We therefore bundle the fork as prescribed in # https://docs.fedoraproject.org/en-US/packaging-guidelines/Rust/#_replacing_git_dependencies %global async_zip_git https://github.com/astral-sh/rs-async-zip -%global async_zip_rev c909fda63fcafe4af496a07bfda28a5aae97e58d +%global async_zip_rev 285e48742b74ab109887d62e1ae79e7c15fd4878 %global async_zip_baseversion 0.0.17 -%global async_zip_snapdate 20241114 +%global async_zip_snapdate 20250807 Source100: %{async_zip_git}/archive/%{async_zip_rev}/rs-async-zip-%{async_zip_rev}.tar.gz # For the foreseeable future, uv must use a fork of pubgrub (and the @@ -199,16 +199,14 @@ Source400: %{tl_git}/archive/%{tl_rev}/tl-%{tl_rev}.tar.gz # https://github.com/astral-sh/uv/issues/4451 Patch: 0001-Downstream-patch-always-find-the-system-wide-uv-exec.patch -# Downstream-only: unpin h2 (pinned in -# https://github.com/astral-sh/uv/commit/b2c382f7c1f6949c007cd95248cdcaa9ec3dd559) -# because we cannot respect the version downgrade using system packages; -# unfortunately, this means we will continue to be affected by -# https://github.com/astral-sh/uv/issues/15056, -# https://github.com/hyperium/h2/issues/856. -Patch: uv-0.8.5-unpin-h2.patch - -# Update sanitize-filename requirement from 0.5 to 0.6 -Patch100: https://github.com/Majored/rs-async-zip/pull/153.patch +# Add R2 feature for malo tests +# https://github.com/astral-sh/uv/pull/15160 +# +# Fixes: +# +# New extract::malo_* zip extraction tests require network access +# https://github.com/astral-sh/uv/issues/15158 +Patch: %{url}/pull/15160.patch # https://fedoraproject.org/wiki/Changes/EncourageI686LeafRemoval ExcludeArch: %{ix86} @@ -418,14 +416,6 @@ pushd crates/async_zip %autopatch -p1 -m100 -M199 popd install -t LICENSE.bundled/async_zip -D -p -m 0644 crates/async_zip/LICENSE -# Drop dev-dependencies that are only required for compiling the -# actix-multipart example, and remove it. Note that while “futures” is in this -# section of Cargo.toml, it is in fact also used in a test. -tomcli set crates/async_zip/Cargo.toml del dev-dependencies.actix-multipart -mv crates/async_zip/examples/actix_multipart.rs{,.disabled} -tomcli set crates/async_zip/Cargo.toml del dev-dependencies.actix-web -tomcli set crates/async_zip/Cargo.toml del dev-dependencies.derive_more -tomcli set crates/async_zip/Cargo.toml del dev-dependencies.uuid # See comments above Source200: %setup -q -T -D -b 200 -n uv-%{version} @@ -553,6 +543,7 @@ tomcli set crates/uv-extract/Cargo.toml del features.static # - python-managed: Introduces a testing dependency on managed Python # installations. (These are pre-compiled Pythons downloaded from the # Internet.) +# - r2: Introduces a testing dependency on R2. # # These are OK: # - python: Introduces a testing dependency on a local Python installation. @@ -563,7 +554,7 @@ tomcli set crates/uv-extract/Cargo.toml del features.static # Python installation with specific patch versions,” is already not among the # default features. tomcli set crates/uv/Cargo.toml lists delitem features.default-tests \ - '(crates-io|git|pypi|python-managed)' + '(crates-io|git|pypi|python-managed|r2)' %if %{without it} # Integration tests (it crate) nearly all require specific Python interpreter From 19a3c6c2063e72fa45e45705643378b52682e3f1 Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Sat, 9 Aug 2025 07:04:21 -0400 Subject: [PATCH 068/214] Update to 0.8.8 (close RHBZ#2387194) --- .gitignore | 2 + ...-always-find-the-system-wide-uv-exec.patch | 26 ++++++------ 15160.patch | 41 ------------------- sources | 2 +- uv.spec | 23 ++++++----- 5 files changed, 28 insertions(+), 66 deletions(-) delete mode 100644 15160.patch diff --git a/.gitignore b/.gitignore index 5861757..d59c47d 100644 --- a/.gitignore +++ b/.gitignore @@ -138,3 +138,5 @@ /uv-0.8.5.tar.gz /uv-0.8.6.tar.gz /rs-async-zip-285e48742b74ab109887d62e1ae79e7c15fd4878.tar.gz +/uv-0.8.7.tar.gz +/uv-0.8.8.tar.gz diff --git a/0001-Downstream-patch-always-find-the-system-wide-uv-exec.patch b/0001-Downstream-patch-always-find-the-system-wide-uv-exec.patch index 119e6f7..d60ea47 100644 --- a/0001-Downstream-patch-always-find-the-system-wide-uv-exec.patch +++ b/0001-Downstream-patch-always-find-the-system-wide-uv-exec.patch @@ -1,4 +1,4 @@ -From 2efee35e5ca4248cfd5da36ff459292fc463a7ee Mon Sep 17 00:00:00 2001 +From 2a9baed6b1246c566e1bed531b17363277e99c0f Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Sun, 23 Jun 2024 16:29:05 -0400 Subject: [PATCH] Downstream patch: always find the system-wide uv executable @@ -9,16 +9,16 @@ Content-Transfer-Encoding: 8bit “Should uv.find_uv_bin() be able to find /usr/bin/uv?” https://github.com/astral-sh/uv/issues/4451 --- - python/uv/_find_uv.py | 10 ++++++++++ - 1 file changed, 10 insertions(+) + python/uv/_find_uv.py | 8 ++++++++ + 1 file changed, 8 insertions(+) diff --git a/python/uv/_find_uv.py b/python/uv/_find_uv.py -index 00b7d887..f4ff5b7f 100644 +index 736288a4c..306451db2 100644 --- a/python/uv/_find_uv.py +++ b/python/uv/_find_uv.py -@@ -10,6 +10,16 @@ def find_uv_bin() -> str: - - uv_exe = "uv" + sysconfig.get_config_var("EXE") +@@ -35,6 +35,14 @@ def find_uv_bin() -> str: + sysconfig.get_path("scripts", scheme=_user_scheme()), + ] + # Downstream patch: always find the system-wide uv executable + # @@ -26,13 +26,11 @@ index 00b7d887..f4ff5b7f 100644 + # https://github.com/astral-sh/uv/issues/4451 + bindir_path = sysconfig.get_config_var("BINDIR") + if bindir_path is not None: -+ path = os.path.join(bindir_path, uv_exe) -+ if os.path.isfile(path): -+ return path ++ targets.insert(0, os.path.join(bindir_path, uv_exe)) + - path = os.path.join(sysconfig.get_path("scripts"), uv_exe) - if os.path.isfile(path): - return path + seen = [] + for target in targets: + if not target: -- -2.46.0 +2.50.1 diff --git a/15160.patch b/15160.patch deleted file mode 100644 index ea7429d..0000000 --- a/15160.patch +++ /dev/null @@ -1,41 +0,0 @@ -From 94613781cf18dce8c214ae8fb6b517efbb673cf5 Mon Sep 17 00:00:00 2001 -From: Charlie Marsh -Date: Fri, 8 Aug 2025 10:30:12 +0100 -Subject: [PATCH] Add R2 feature for malo tests - ---- - crates/uv/Cargo.toml | 3 +++ - crates/uv/tests/it/extract.rs | 2 ++ - 2 files changed, 5 insertions(+) - -diff --git a/crates/uv/Cargo.toml b/crates/uv/Cargo.toml -index e6f90b0eb75a..eb0396992b7d 100644 ---- a/crates/uv/Cargo.toml -+++ b/crates/uv/Cargo.toml -@@ -162,6 +162,7 @@ default-tests = [ - "crates-io", - "git", - "pypi", -+ "r2", - "python", - "python-managed", - "python-eol", -@@ -174,6 +175,8 @@ crates-io = [] - git = [] - # Introduces a testing dependency on PyPI. - pypi = [] -+# Introduces a testing dependency on R2. -+r2 = [] - # Introduces a testing dependency on a local Python installation. - python = [] - # Introduces a testing dependency on a local Python installation with specific patch versions. -diff --git a/crates/uv/tests/it/extract.rs b/crates/uv/tests/it/extract.rs -index 2a06d89bf256..d1c9a8bd9755 100644 ---- a/crates/uv/tests/it/extract.rs -+++ b/crates/uv/tests/it/extract.rs -@@ -1,3 +1,5 @@ -+#![cfg(feature = "r2")] -+ - use futures::TryStreamExt; - use tokio_util::compat::FuturesAsyncReadCompatExt; - diff --git a/sources b/sources index 042dc1b..9d005de 100644 --- a/sources +++ b/sources @@ -1,4 +1,4 @@ -SHA512 (uv-0.8.6.tar.gz) = d164488e967364d254bab989933a5faf27c52c91da1bdeb6f3419fce335dfac5d4ea6cd717cac6b05fee9f85605cf21930c3d37119c49a98cb13c53d51ea996d +SHA512 (uv-0.8.8.tar.gz) = c037ea4033f869ea7bcd5707cc3c83c79a0879e64ec8c59de6d073b413d4ebef15dcc63b2dc9a4434249717743d499c1803eb1838e3b4dd7f9ff682d2b53b5cd SHA512 (rs-async-zip-285e48742b74ab109887d62e1ae79e7c15fd4878.tar.gz) = d6dd699f43ca6e23a4c8abb8673b37d3983081a8c78545492ea3c1d0b35e3a491277c341df6dd64fb7efaec3b23eb479dede99e9b41016b5504d1a6dc9fbc617 SHA512 (pubgrub-06ec5a5f59ffaeb6cf5079c6cb184467da06c9db.tar.gz) = 3f0b18aecbc73fee91fc7de9f10d240ddc06c836fa2f116c1f007dd7818d099e6aea1852ca0b8d1a26ac19aac896535dba1a6298851a65515b553810c6245784 SHA512 (reqwest-middleware-ad8b9d332d1773fde8b4cd008486de5973e0a3f8.tar.gz) = 2dad83835c87cdd79e2a08c19b5024b3fdf30d1d8cd14e480e434612e856ecc20a5404881ff81d5793d3e9d5808ee3d59ce920312a86a100535009da43d7d46b diff --git a/uv.spec b/uv.spec index 8f6c4e1..88ce53a 100644 --- a/uv.spec +++ b/uv.spec @@ -11,7 +11,7 @@ %bcond it %{undefined el10} Name: uv -Version: 0.8.6 +Version: 0.8.8 Release: %autorelease Summary: An extremely fast Python package installer and resolver, written in Rust @@ -199,15 +199,6 @@ Source400: %{tl_git}/archive/%{tl_rev}/tl-%{tl_rev}.tar.gz # https://github.com/astral-sh/uv/issues/4451 Patch: 0001-Downstream-patch-always-find-the-system-wide-uv-exec.patch -# Add R2 feature for malo tests -# https://github.com/astral-sh/uv/pull/15160 -# -# Fixes: -# -# New extract::malo_* zip extraction tests require network access -# https://github.com/astral-sh/uv/issues/15158 -Patch: %{url}/pull/15160.patch - # https://fedoraproject.org/wiki/Changes/EncourageI686LeafRemoval ExcludeArch: %{ix86} @@ -699,6 +690,18 @@ skip="${skip-} --skip python_list::python_list_downloads" # reporting upstream at some point, but it is not a serious issue. skip="${skip-} --skip python_pin::python_pin_resolve" %endif +# TODO: Each of these has stdout something like this: +# cpython-3.12.11-linux-x86_64-gnu /tmp/uv/tests/.tmp0dvvpZ/python/3.12/python3 -> /usr/bin/python3.12 +# cpython-3.11.13-linux-x86_64-gnu /tmp/uv/tests/.tmp0dvvpZ/python/3.11/python3 -> /usr/bin/python3.11 +# … and a difference in snapshots like this: +# 3 │-cpython-3.12.[X]-[PLATFORM] [PYTHON-3.12] +# 3 │+cpython-3.12.[X]-[PLATFORM] [PYTHON-3.12] -> [PYTHON-BIN-3.11]python3.12 +# Check whether we can reproduce this in a git checkout and/or whether we +# should report it upstream. +skip="${skip-} --skip python_list::python_list" +skip="${skip-} --skip python_list::python_list_duplicate_path_entries" +skip="${skip-} --skip python_list::python_list_pin" +skip="${skip-} --skip python_list::python_list_venv" %endif # -p uv-client --test it: # This requires specific Python interpreter versions (so it would be grouped From edd5d84ce5293c63ef46eb237b71eb4b578a000a Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Wed, 13 Aug 2025 08:13:32 -0400 Subject: [PATCH 069/214] Update to 0.8.9 (close RHBZ#2387762) --- .gitignore | 1 + sources | 2 +- uv.spec | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index d59c47d..9dd557b 100644 --- a/.gitignore +++ b/.gitignore @@ -140,3 +140,4 @@ /rs-async-zip-285e48742b74ab109887d62e1ae79e7c15fd4878.tar.gz /uv-0.8.7.tar.gz /uv-0.8.8.tar.gz +/uv-0.8.9.tar.gz diff --git a/sources b/sources index 9d005de..51085b4 100644 --- a/sources +++ b/sources @@ -1,4 +1,4 @@ -SHA512 (uv-0.8.8.tar.gz) = c037ea4033f869ea7bcd5707cc3c83c79a0879e64ec8c59de6d073b413d4ebef15dcc63b2dc9a4434249717743d499c1803eb1838e3b4dd7f9ff682d2b53b5cd +SHA512 (uv-0.8.9.tar.gz) = 9b0fe90d4ebf78a2fad17bdc5201c28f9ed9e04a59f656da247093129237b02d0ef63b791e8c119927d30ab563c2cfbfeffe72912d48069c2f6f96a8d23c9259 SHA512 (rs-async-zip-285e48742b74ab109887d62e1ae79e7c15fd4878.tar.gz) = d6dd699f43ca6e23a4c8abb8673b37d3983081a8c78545492ea3c1d0b35e3a491277c341df6dd64fb7efaec3b23eb479dede99e9b41016b5504d1a6dc9fbc617 SHA512 (pubgrub-06ec5a5f59ffaeb6cf5079c6cb184467da06c9db.tar.gz) = 3f0b18aecbc73fee91fc7de9f10d240ddc06c836fa2f116c1f007dd7818d099e6aea1852ca0b8d1a26ac19aac896535dba1a6298851a65515b553810c6245784 SHA512 (reqwest-middleware-ad8b9d332d1773fde8b4cd008486de5973e0a3f8.tar.gz) = 2dad83835c87cdd79e2a08c19b5024b3fdf30d1d8cd14e480e434612e856ecc20a5404881ff81d5793d3e9d5808ee3d59ce920312a86a100535009da43d7d46b diff --git a/uv.spec b/uv.spec index 88ce53a..cf2b7f5 100644 --- a/uv.spec +++ b/uv.spec @@ -11,7 +11,7 @@ %bcond it %{undefined el10} Name: uv -Version: 0.8.8 +Version: 0.8.9 Release: %autorelease Summary: An extremely fast Python package installer and resolver, written in Rust From 3e2f7252939bcfbb20e05d39036614cd5af47231 Mon Sep 17 00:00:00 2001 From: Python Maint Date: Fri, 15 Aug 2025 15:21:47 +0200 Subject: [PATCH 070/214] Rebuilt for Python 3.14.0rc2 bytecode From b3aec80046eceeb148c4672d7a865b1dbd705242 Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Sat, 16 Aug 2025 06:44:17 -0400 Subject: [PATCH 071/214] Update to 0.8.10 --- .gitignore | 1 + sources | 2 +- uv.spec | 13 ++++++++----- 3 files changed, 10 insertions(+), 6 deletions(-) diff --git a/.gitignore b/.gitignore index 9dd557b..fad1e07 100644 --- a/.gitignore +++ b/.gitignore @@ -141,3 +141,4 @@ /uv-0.8.7.tar.gz /uv-0.8.8.tar.gz /uv-0.8.9.tar.gz +/uv-0.8.10.tar.gz diff --git a/sources b/sources index 51085b4..86e1a2f 100644 --- a/sources +++ b/sources @@ -1,4 +1,4 @@ -SHA512 (uv-0.8.9.tar.gz) = 9b0fe90d4ebf78a2fad17bdc5201c28f9ed9e04a59f656da247093129237b02d0ef63b791e8c119927d30ab563c2cfbfeffe72912d48069c2f6f96a8d23c9259 +SHA512 (uv-0.8.10.tar.gz) = a3a2d816e06884b55408ffe279abfcf6d4f8b7cbe3d45f3e5f740699bc613b6757d894174fba9e3c5bdafacd5dd1f9d39ec87ca68c94b66ca8e5c12b5279d6c8 SHA512 (rs-async-zip-285e48742b74ab109887d62e1ae79e7c15fd4878.tar.gz) = d6dd699f43ca6e23a4c8abb8673b37d3983081a8c78545492ea3c1d0b35e3a491277c341df6dd64fb7efaec3b23eb479dede99e9b41016b5504d1a6dc9fbc617 SHA512 (pubgrub-06ec5a5f59ffaeb6cf5079c6cb184467da06c9db.tar.gz) = 3f0b18aecbc73fee91fc7de9f10d240ddc06c836fa2f116c1f007dd7818d099e6aea1852ca0b8d1a26ac19aac896535dba1a6298851a65515b553810c6245784 SHA512 (reqwest-middleware-ad8b9d332d1773fde8b4cd008486de5973e0a3f8.tar.gz) = 2dad83835c87cdd79e2a08c19b5024b3fdf30d1d8cd14e480e434612e856ecc20a5404881ff81d5793d3e9d5808ee3d59ce920312a86a100535009da43d7d46b diff --git a/uv.spec b/uv.spec index cf2b7f5..240513b 100644 --- a/uv.spec +++ b/uv.spec @@ -11,7 +11,7 @@ %bcond it %{undefined el10} Name: uv -Version: 0.8.9 +Version: 0.8.10 Release: %autorelease Summary: An extremely fast Python package installer and resolver, written in Rust @@ -675,11 +675,11 @@ skip="${skip-} --skip keyring::tests::fetch_url_with_password" %if %{without it} # These tests require specific Python interpreter versions, which upstream # normally downloads, precompiled, into the build area. -# -p uv --test it: skip="${skip-} --skip version::self_version" skip="${skip-} --skip version::self_version_json" skip="${skip-} --skip version::self_version_short" -%else +%endif + %ifnarch %{x86_64} %{arm64} # On other architectures, the list of available downloads differs, e.g. pypy # and graalpy downloads may be missing. @@ -702,8 +702,7 @@ skip="${skip-} --skip python_list::python_list" skip="${skip-} --skip python_list::python_list_duplicate_path_entries" skip="${skip-} --skip python_list::python_list_pin" skip="${skip-} --skip python_list::python_list_venv" -%endif -# -p uv-client --test it: + # This requires specific Python interpreter versions (so it would be grouped # with the conditionalized integration tests above), but it also requires # network access to PyPI, so it must be skipped either way until it can be @@ -719,6 +718,10 @@ skip="${skip-} --skip lock::tests::missing_dependency_source_version_unambiguous skip="${skip-} --skip lock::tests::missing_dependency_version_unambiguous" %endif +# Trivial difference in snapshots: error message output differs slightly, +# presumably due to slightly different dependency versions. +skip="${skip-} --skip metadata::requires_dist::test::invalid_syntax" + # TODO: What’s going wrong here? It doesn’t seem serious… # thread 'middleware::tests::test_tracing_url' panicked at # crates/uv-auth/src/middleware.rs:2095:5: From 5493bbebe91d5efa7b624437d3058ef27e69e10c Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Sat, 16 Aug 2025 07:01:19 -0400 Subject: [PATCH 072/214] Update to 0.8.11 (close RHBZ#2388413) --- .gitignore | 1 + sources | 2 +- uv.spec | 14 +++++++++++++- 3 files changed, 15 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index fad1e07..fb2c72e 100644 --- a/.gitignore +++ b/.gitignore @@ -142,3 +142,4 @@ /uv-0.8.8.tar.gz /uv-0.8.9.tar.gz /uv-0.8.10.tar.gz +/uv-0.8.11.tar.gz diff --git a/sources b/sources index 86e1a2f..b4cd333 100644 --- a/sources +++ b/sources @@ -1,4 +1,4 @@ -SHA512 (uv-0.8.10.tar.gz) = a3a2d816e06884b55408ffe279abfcf6d4f8b7cbe3d45f3e5f740699bc613b6757d894174fba9e3c5bdafacd5dd1f9d39ec87ca68c94b66ca8e5c12b5279d6c8 +SHA512 (uv-0.8.11.tar.gz) = 06633d9971778d31234791cccec6c4109043ff03891660c66b40a503b4a1af15d12ebe6f7bd6212026cf6bea553694c886be721015f4a6847ab5e2cea7ab1fef SHA512 (rs-async-zip-285e48742b74ab109887d62e1ae79e7c15fd4878.tar.gz) = d6dd699f43ca6e23a4c8abb8673b37d3983081a8c78545492ea3c1d0b35e3a491277c341df6dd64fb7efaec3b23eb479dede99e9b41016b5504d1a6dc9fbc617 SHA512 (pubgrub-06ec5a5f59ffaeb6cf5079c6cb184467da06c9db.tar.gz) = 3f0b18aecbc73fee91fc7de9f10d240ddc06c836fa2f116c1f007dd7818d099e6aea1852ca0b8d1a26ac19aac896535dba1a6298851a65515b553810c6245784 SHA512 (reqwest-middleware-ad8b9d332d1773fde8b4cd008486de5973e0a3f8.tar.gz) = 2dad83835c87cdd79e2a08c19b5024b3fdf30d1d8cd14e480e434612e856ecc20a5404881ff81d5793d3e9d5808ee3d59ce920312a86a100535009da43d7d46b diff --git a/uv.spec b/uv.spec index 240513b..541735c 100644 --- a/uv.spec +++ b/uv.spec @@ -11,7 +11,7 @@ %bcond it %{undefined el10} Name: uv -Version: 0.8.10 +Version: 0.8.11 Release: %autorelease Summary: An extremely fast Python package installer and resolver, written in Rust @@ -24,6 +24,8 @@ Summary: An extremely fast Python package installer and resolver, written # crate(r-shquote); the original code was (Apache-2.0 OR # LGPL-2.1-or-later), but the vendored copy cites only the Apache-2.0 # option. +# - crates/uv-build-frontend/src/pipreqs/mappings is a data file taken from +# https://pypi.org/project/pipreqs, https://github.com/bndr/pipreqs # # Apache-2.0 OR BSD-2-Clause: # - crates/uv-pep440/ is vendored and forked from crate(pep440_rs) @@ -350,6 +352,14 @@ Provides: bundled(python3dist(virtualenv)) = 20.26 # snapshot date. Provides: bundled(python3dist(packaging)) = 24.1~dev0^20240310gitcc938f9 +# The contents of crates/uv-build-frontend/src/pipreqs/mapping are copied from +# https://pypi.org/project/pipreqs. Since this is just a data file, since uv +# does not take Python dependencies, and since pipreqs is not currently +# actively maintained anyway, there is no reasonable prospect of unbundling. +# The version number is just that of the latest pipreqs release at the time the +# data file was vendored. +Provides: bundled(python3dist(pipreqs)) = 0.5.0 + %global common_description %{expand: An extremely fast Python package installer and resolver, written in Rust. Designed as a drop-in replacement for common pip and pip-tools workflows. @@ -470,6 +480,8 @@ install -t LICENSE.bundled/packaging -D -p -m 0644 \ crates/uv-python/python/packaging/LICENSE.* install -t LICENSE.bundled/pep440_rs -D -p -m 0644 crates/uv-pep440/License-* install -t LICENSE.bundled/pep508_rs -D -p -m 0644 crates/uv-pep508/License-* +install -t LICENSE.bundled/pipreqs -D -p -m 0644 \ + crates/uv-build-frontend/src/pipreqs/LICENSE install -t LICENSE.bundled/ripunzip -D -p -m 0644 \ crates/uv-extract/src/vendor/LICENSE # The original license text from rattler_installs_packages is present in a From 3d17b4874d5ecca6b76ddaf2478fcd651451e55f Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Tue, 2 Sep 2025 01:07:48 +0100 Subject: [PATCH 073/214] Rebuilt with rust-tracing-subscriber-0.3.20 - Fixes CVE-2025-58160: fixes RHBZ#2392055, fixes RHBZ#2392012, fixes RHBZ#2391975 From 6df42f7eaccaae0c8fe10f85842132b21b0ba1f6 Mon Sep 17 00:00:00 2001 From: Python Maint Date: Fri, 19 Sep 2025 15:01:54 +0200 Subject: [PATCH 074/214] Rebuilt for Python 3.14.0rc3 bytecode From d172c9803ad03ad0ffc78f5abda104e6ffcd57f2 Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Wed, 24 Sep 2025 07:28:05 +0100 Subject: [PATCH 075/214] Rebuilt with astral-tokio-tar version 0.5.5 - Security fix for path traversal CVE-2025-59825 / GHSA-3wgq-wrwc-vqmv From 46dbed53352d130fef5580268ecb4348960f3273 Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Mon, 8 Sep 2025 23:26:05 +0100 Subject: [PATCH 076/214] Use the bundled reqwest-middleware, too --- uv.spec | 27 +++++++++++++++------------ 1 file changed, 15 insertions(+), 12 deletions(-) diff --git a/uv.spec b/uv.spec index 541735c..cc10126 100644 --- a/uv.spec +++ b/uv.spec @@ -177,6 +177,7 @@ Source200: %{pubgrub_git}/archive/%{pubgrub_rev}/pubgrub-%{pubgrub_rev}.tar %global reqwest_middleware_git https://github.com/astral-sh/reqwest-middleware %global reqwest_middleware_rev ad8b9d332d1773fde8b4cd008486de5973e0a3f8 %global reqwest_middleware_snapdate 20250607 +%global reqwest_middleware_baseversion 0.4.2 %global reqwest_retry_baseversion 0.7.0 Source300: %{reqwest_middleware_git}/archive/%{reqwest_middleware_rev}/reqwest-middleware-%{reqwest_middleware_rev}.tar.gz @@ -253,7 +254,9 @@ Provides: bundled(crate(version-ranges)) = %{version_ranges_version} # This is a fork of reqwest-middleware/reqwest-retry; see the notes about # Source300. %global reqwest_middleware_snapinfo %{reqwest_middleware_snapdate}git%{sub %{reqwest_middleware_rev} 1 7} +%global reqwest_middleware_version %{reqwest_middleware_baseversion}^%{reqwest_middleware_snapinfo} %global reqwest_retry_version %{reqwest_retry_baseversion}^%{reqwest_middleware_snapinfo} +Provides: bundled(crate(reqwest-middleware)) = %{reqwest_middleware_version} Provides: bundled(crate(reqwest-retry)) = %{reqwest_retry_version} # This is a fork of tl; see the notes about Source400. %global tl_snapinfo %{tl_snapdate}git%{sub %{tl_rev} 1 7} @@ -442,23 +445,23 @@ git2path workspace.dependencies.version-ranges crates/pubgrub/version-ranges # See comments above Source300: %setup -q -T -D -b 300 -n uv-%{version} -pushd '../reqwest-middleware-%{reqwest_middleware_rev}/reqwest-middleware' +pushd '../reqwest-middleware-%{reqwest_middleware_rev}' %autopatch -p1 -m300 -M399 +# The (path-based) dev-dependency on reqwest-tracing is required only for an +# example in README.md; avoid it. +tomcli set reqwest-middleware/Cargo.toml del dev-dependencies.reqwest-tracing +sed -r -i 's/^```rust$/&,ignore/' README.md popd -# Upstream has only modified reqwest-retry, so we may as well use the system -# copy of reqwest-middleware. -rm -rv '../reqwest-middleware-%{reqwest_middleware_rev}/reqwest-middleware' -tomcli set Cargo.toml del 'workspace.dependencies.reqwest-middleware.git' -tomcli set Cargo.toml del 'workspace.dependencies.reqwest-middleware.rev' -tomcli set Cargo.toml str 'workspace.dependencies.reqwest-middleware.version' \ - '0.4.2' -tomcli set Cargo.toml del patch.crates-io.reqwest-middleware +ln -s '../../reqwest-middleware-%{reqwest_middleware_rev}/reqwest-middleware' \ + crates/reqwest-middleware +git2path workspace.dependencies.reqwest-middleware crates/reqwest-middleware +git2path patch.crates-io.reqwest-middleware crates/reqwest-middleware +install -t LICENSE.bundled/reqwest-middleware -D -p -m 0644 \ + crates/reqwest-middleware/LICENSE* ln -s '../../reqwest-middleware-%{reqwest_middleware_rev}/reqwest-retry' \ crates/reqwest-retry git2path workspace.dependencies.reqwest-retry crates/reqwest-retry -tomcli set Cargo.toml del patch.crates-io.reqwest-retry -tomcli set crates/reqwest-retry/Cargo.toml del \ - 'dependencies.reqwest-middleware.path' +git2path patch.crates-io.reqwest-retry crates/reqwest-retry install -t LICENSE.bundled/reqwest-retry -D -p -m 0644 \ crates/reqwest-retry/LICENSE* # We do not need the reqwest-tracing crate. From f758aba5aaae4b1373dce671852587e2468a9d76 Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Tue, 19 Aug 2025 06:55:16 -0400 Subject: [PATCH 077/214] Update to 0.8.12 --- .gitignore | 2 ++ sources | 3 ++- uv.spec | 47 ++++++++++++++++++++++++++++++++++++++++++++++- 3 files changed, 50 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index fb2c72e..b603422 100644 --- a/.gitignore +++ b/.gitignore @@ -143,3 +143,5 @@ /uv-0.8.9.tar.gz /uv-0.8.10.tar.gz /uv-0.8.11.tar.gz +/uv-0.8.12.tar.gz +/tokio-tar-f1488188f1d1b54a73eb0c42a8b8f4b9ee87d688.tar.gz diff --git a/sources b/sources index b4cd333..6fc947d 100644 --- a/sources +++ b/sources @@ -1,5 +1,6 @@ -SHA512 (uv-0.8.11.tar.gz) = 06633d9971778d31234791cccec6c4109043ff03891660c66b40a503b4a1af15d12ebe6f7bd6212026cf6bea553694c886be721015f4a6847ab5e2cea7ab1fef +SHA512 (uv-0.8.12.tar.gz) = 0fed589e0d13adc4ca7e565814961851ca2289b32693bf77e94b5605a4f8a4b590e971df4694cd907ee062519482669fa9ed83734b0e470550881164fea1b94f SHA512 (rs-async-zip-285e48742b74ab109887d62e1ae79e7c15fd4878.tar.gz) = d6dd699f43ca6e23a4c8abb8673b37d3983081a8c78545492ea3c1d0b35e3a491277c341df6dd64fb7efaec3b23eb479dede99e9b41016b5504d1a6dc9fbc617 SHA512 (pubgrub-06ec5a5f59ffaeb6cf5079c6cb184467da06c9db.tar.gz) = 3f0b18aecbc73fee91fc7de9f10d240ddc06c836fa2f116c1f007dd7818d099e6aea1852ca0b8d1a26ac19aac896535dba1a6298851a65515b553810c6245784 SHA512 (reqwest-middleware-ad8b9d332d1773fde8b4cd008486de5973e0a3f8.tar.gz) = 2dad83835c87cdd79e2a08c19b5024b3fdf30d1d8cd14e480e434612e856ecc20a5404881ff81d5793d3e9d5808ee3d59ce920312a86a100535009da43d7d46b SHA512 (tl-6e25b2ee2513d75385101a8ff9f591ef51f314ec.tar.gz) = 4abbc4240ed129c92da8d616e27a6df0f24cdc85a0803acfdae588ca91f9e5b8d482e3ac88b2e657ff68917b1b43cef1e7ef3c887f624659b231fa5a13fcae68 +SHA512 (tokio-tar-f1488188f1d1b54a73eb0c42a8b8f4b9ee87d688.tar.gz) = 98fbd987844e53ec13191cbd26c46c79d6af37c20b75830b401fadbda91894d494d6dd2b9a529ac488bac1d9e66f9832492c1db8cae9e85170d6feaee1d64491 diff --git a/uv.spec b/uv.spec index cc10126..3a551d7 100644 --- a/uv.spec +++ b/uv.spec @@ -11,7 +11,7 @@ %bcond it %{undefined el10} Name: uv -Version: 0.8.11 +Version: 0.8.12 Release: %autorelease Summary: An extremely fast Python package installer and resolver, written in Rust @@ -79,6 +79,7 @@ Summary: An extremely fast Python package installer and resolver, written # - pubgrub/version-ranges, Source200, is MPL-2.0. # - reqwest-middleware/reqwest-retry, Source300, is (MIT OR Apache-2.0). # - tl, Source400, is MIT. +# - astral-tokio-tar, Source500, is MIT OR Apache-2.0. # # (Apache-2.0 OR MIT) AND BSD-3-Clause # (MIT OR Apache-2.0) AND Unicode-3.0 @@ -196,6 +197,20 @@ Source300: %{reqwest_middleware_git}/archive/%{reqwest_middleware_rev}/reqw %global tl_snapdate 20240825 Source400: %{tl_git}/archive/%{tl_rev}/tl-%{tl_rev}.tar.gz +# We should be able to stop bundling when astral-tokio-tar 0.5.3 is released: +# https://github.com/astral-sh/uv/pull/15202#issuecomment-3200209608 +# +# For now, we bundle a snapshot as prescribed in +# https://docs.fedoraproject.org/en-US/packaging-guidelines/Rust/#_replacing_git_dependencies +# +# Note that this is currently a pre-release snapshot! Therefore, the definition +# of att_version later in this spec file has a ~ rather than a ^. +%global att_git https://github.com/astral-sh/tokio-tar +%global att_rev f1488188f1d1b54a73eb0c42a8b8f4b9ee87d688 +%global att_baseversion 0.5.3 +%global att_snapdate 20250818 +Source500: %{att_git}/archive/%{att_rev}/tokio-tar-%{att_rev}.tar.gz + # Downstream-only: Always find the system-wide uv executable # See discussion in # Should uv.find_uv_bin() be able to find /usr/bin/uv? @@ -262,6 +277,11 @@ Provides: bundled(crate(reqwest-retry)) = %{reqwest_retry_version} %global tl_snapinfo %{tl_snapdate}git%{sub %{tl_rev} 1 7} %global tl_version %{tl_baseversion}^%{tl_snapinfo} Provides: bundled(crate(tl)) = %{tl_version} +# This is an unreleased snapshot of astral-tokio-tar; see the notes about +# Source500. +%global att_snapinfo %{att_snapdate}git%{sub %{att_rev} 1 7} +%global att_version %{att_baseversion}~%{att_snapinfo} +Provides: bundled(crate(astral-tokio-tar)) = %{att_version} # In https://github.com/astral-sh/uv/issues/5588#issuecomment-2257823242, # upstream writes “These have diverged significantly and the upstream versions @@ -311,6 +331,19 @@ Provides: bundled(crate(glibc_version)) = 0.1.2^20221117git5e1002d # unmaintained upstream, https://github.com/astral-sh/uv/issues/11780. Provides: bundled(crate(r-shquote)) = 0.1.1 +# crates/uv-keyring +# From crates/uv-keyring/README.md, “This is vendored from [keyring-rs +# crate](https://github.com/open-source-cooperative/keyring-rs) +# commit 9635a2f53a19eb7f188cdc4e38982dcb19caee00.” The commit message of the +# referenced upstream commit indicates it corresponds to 4.0.0-rc2. +# +# The text of https://github.com/astral-sh/uv/pull/14725 explains the differing +# design goals and tradeoffs that lead uv to fork keyring-rs rather than using +# the upstream https://crates.io/crates/keyring crate or trying to get the +# necessary changes merged upstream. Based on this explanation, there does not +# appear to be any prospect of unbundling. +Provides: bundled(crate(keyring)) = 4.0.0~rc2 + # The contents of crates/uv-virtualenv/src/activator/ are a bundled and # slightly forked copy of a subset of https://pypi.org/project/virtualenv; see # https://github.com/pypa/virtualenv/tree/main/src/virtualenv/activation. @@ -478,6 +511,18 @@ install -t LICENSE.bundled/tl -D -p -m 0644 crates/tl/LICENSE # Drop a benchmark-only dev-dependency. tomcli set crates/tl/Cargo.toml del dev-dependencies.criterion +# See comments above Source500: +%setup -q -T -D -b 500 -n uv-%{version} +# Adding the crate to the workspace (in this case implicitly, by linking it +# under crates/) means %%cargo_generate_buildrequires can handle it correctly. +ln -s '../../tokio-tar-%{att_rev}' crates/astral-tokio-tar +git2path workspace.dependencies.astral-tokio-tar crates/astral-tokio-tar +pushd crates/astral-tokio-tar +%autopatch -p1 -m500 -M599 +popd +install -t LICENSE.bundled/astral-tokio-tar -D -p -m 0644 \ + crates/astral-tokio-tar/LICENSE-* + # Collect license files of vendored dependencies in the main source archive install -t LICENSE.bundled/packaging -D -p -m 0644 \ crates/uv-python/python/packaging/LICENSE.* From aed7ec7d68e4dc654612737944e47b7c2b0669e9 Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Fri, 22 Aug 2025 08:45:29 -0400 Subject: [PATCH 078/214] Update to 0.8.13 --- .gitignore | 1 + sources | 3 +-- uv.spec | 34 +--------------------------------- 3 files changed, 3 insertions(+), 35 deletions(-) diff --git a/.gitignore b/.gitignore index b603422..1cd0fb3 100644 --- a/.gitignore +++ b/.gitignore @@ -145,3 +145,4 @@ /uv-0.8.11.tar.gz /uv-0.8.12.tar.gz /tokio-tar-f1488188f1d1b54a73eb0c42a8b8f4b9ee87d688.tar.gz +/uv-0.8.13.tar.gz diff --git a/sources b/sources index 6fc947d..8455c94 100644 --- a/sources +++ b/sources @@ -1,6 +1,5 @@ -SHA512 (uv-0.8.12.tar.gz) = 0fed589e0d13adc4ca7e565814961851ca2289b32693bf77e94b5605a4f8a4b590e971df4694cd907ee062519482669fa9ed83734b0e470550881164fea1b94f +SHA512 (uv-0.8.13.tar.gz) = 3339712d522ad6d4c3b06bf2b65c593080cf21a0eb48aa414b21a16997e378c8027e1d0a074861c707bb6148419f0e37ba387f9dca8f6a50c206c272cbba9923 SHA512 (rs-async-zip-285e48742b74ab109887d62e1ae79e7c15fd4878.tar.gz) = d6dd699f43ca6e23a4c8abb8673b37d3983081a8c78545492ea3c1d0b35e3a491277c341df6dd64fb7efaec3b23eb479dede99e9b41016b5504d1a6dc9fbc617 SHA512 (pubgrub-06ec5a5f59ffaeb6cf5079c6cb184467da06c9db.tar.gz) = 3f0b18aecbc73fee91fc7de9f10d240ddc06c836fa2f116c1f007dd7818d099e6aea1852ca0b8d1a26ac19aac896535dba1a6298851a65515b553810c6245784 SHA512 (reqwest-middleware-ad8b9d332d1773fde8b4cd008486de5973e0a3f8.tar.gz) = 2dad83835c87cdd79e2a08c19b5024b3fdf30d1d8cd14e480e434612e856ecc20a5404881ff81d5793d3e9d5808ee3d59ce920312a86a100535009da43d7d46b SHA512 (tl-6e25b2ee2513d75385101a8ff9f591ef51f314ec.tar.gz) = 4abbc4240ed129c92da8d616e27a6df0f24cdc85a0803acfdae588ca91f9e5b8d482e3ac88b2e657ff68917b1b43cef1e7ef3c887f624659b231fa5a13fcae68 -SHA512 (tokio-tar-f1488188f1d1b54a73eb0c42a8b8f4b9ee87d688.tar.gz) = 98fbd987844e53ec13191cbd26c46c79d6af37c20b75830b401fadbda91894d494d6dd2b9a529ac488bac1d9e66f9832492c1db8cae9e85170d6feaee1d64491 diff --git a/uv.spec b/uv.spec index 3a551d7..5cada10 100644 --- a/uv.spec +++ b/uv.spec @@ -11,7 +11,7 @@ %bcond it %{undefined el10} Name: uv -Version: 0.8.12 +Version: 0.8.13 Release: %autorelease Summary: An extremely fast Python package installer and resolver, written in Rust @@ -79,7 +79,6 @@ Summary: An extremely fast Python package installer and resolver, written # - pubgrub/version-ranges, Source200, is MPL-2.0. # - reqwest-middleware/reqwest-retry, Source300, is (MIT OR Apache-2.0). # - tl, Source400, is MIT. -# - astral-tokio-tar, Source500, is MIT OR Apache-2.0. # # (Apache-2.0 OR MIT) AND BSD-3-Clause # (MIT OR Apache-2.0) AND Unicode-3.0 @@ -197,20 +196,6 @@ Source300: %{reqwest_middleware_git}/archive/%{reqwest_middleware_rev}/reqw %global tl_snapdate 20240825 Source400: %{tl_git}/archive/%{tl_rev}/tl-%{tl_rev}.tar.gz -# We should be able to stop bundling when astral-tokio-tar 0.5.3 is released: -# https://github.com/astral-sh/uv/pull/15202#issuecomment-3200209608 -# -# For now, we bundle a snapshot as prescribed in -# https://docs.fedoraproject.org/en-US/packaging-guidelines/Rust/#_replacing_git_dependencies -# -# Note that this is currently a pre-release snapshot! Therefore, the definition -# of att_version later in this spec file has a ~ rather than a ^. -%global att_git https://github.com/astral-sh/tokio-tar -%global att_rev f1488188f1d1b54a73eb0c42a8b8f4b9ee87d688 -%global att_baseversion 0.5.3 -%global att_snapdate 20250818 -Source500: %{att_git}/archive/%{att_rev}/tokio-tar-%{att_rev}.tar.gz - # Downstream-only: Always find the system-wide uv executable # See discussion in # Should uv.find_uv_bin() be able to find /usr/bin/uv? @@ -277,11 +262,6 @@ Provides: bundled(crate(reqwest-retry)) = %{reqwest_retry_version} %global tl_snapinfo %{tl_snapdate}git%{sub %{tl_rev} 1 7} %global tl_version %{tl_baseversion}^%{tl_snapinfo} Provides: bundled(crate(tl)) = %{tl_version} -# This is an unreleased snapshot of astral-tokio-tar; see the notes about -# Source500. -%global att_snapinfo %{att_snapdate}git%{sub %{att_rev} 1 7} -%global att_version %{att_baseversion}~%{att_snapinfo} -Provides: bundled(crate(astral-tokio-tar)) = %{att_version} # In https://github.com/astral-sh/uv/issues/5588#issuecomment-2257823242, # upstream writes “These have diverged significantly and the upstream versions @@ -511,18 +491,6 @@ install -t LICENSE.bundled/tl -D -p -m 0644 crates/tl/LICENSE # Drop a benchmark-only dev-dependency. tomcli set crates/tl/Cargo.toml del dev-dependencies.criterion -# See comments above Source500: -%setup -q -T -D -b 500 -n uv-%{version} -# Adding the crate to the workspace (in this case implicitly, by linking it -# under crates/) means %%cargo_generate_buildrequires can handle it correctly. -ln -s '../../tokio-tar-%{att_rev}' crates/astral-tokio-tar -git2path workspace.dependencies.astral-tokio-tar crates/astral-tokio-tar -pushd crates/astral-tokio-tar -%autopatch -p1 -m500 -M599 -popd -install -t LICENSE.bundled/astral-tokio-tar -D -p -m 0644 \ - crates/astral-tokio-tar/LICENSE-* - # Collect license files of vendored dependencies in the main source archive install -t LICENSE.bundled/packaging -D -p -m 0644 \ crates/uv-python/python/packaging/LICENSE.* From 4f0f71d298b36dcc46b04abb69a40558d4a19ade Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Tue, 2 Sep 2025 09:21:49 +0100 Subject: [PATCH 079/214] Update to 0.8.14 --- .gitignore | 1 + sources | 2 +- uv.spec | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 1cd0fb3..bea065a 100644 --- a/.gitignore +++ b/.gitignore @@ -146,3 +146,4 @@ /uv-0.8.12.tar.gz /tokio-tar-f1488188f1d1b54a73eb0c42a8b8f4b9ee87d688.tar.gz /uv-0.8.13.tar.gz +/uv-0.8.14.tar.gz diff --git a/sources b/sources index 8455c94..b7fdacd 100644 --- a/sources +++ b/sources @@ -1,4 +1,4 @@ -SHA512 (uv-0.8.13.tar.gz) = 3339712d522ad6d4c3b06bf2b65c593080cf21a0eb48aa414b21a16997e378c8027e1d0a074861c707bb6148419f0e37ba387f9dca8f6a50c206c272cbba9923 +SHA512 (uv-0.8.14.tar.gz) = 807caff7e32f16dd88225212712390609ffc4117da0c1ff5a2b710ad8381543ada09e0b07e5be34ed0bd8900ab8bed9e7911b16a4cb4588fd28d701fe412671f SHA512 (rs-async-zip-285e48742b74ab109887d62e1ae79e7c15fd4878.tar.gz) = d6dd699f43ca6e23a4c8abb8673b37d3983081a8c78545492ea3c1d0b35e3a491277c341df6dd64fb7efaec3b23eb479dede99e9b41016b5504d1a6dc9fbc617 SHA512 (pubgrub-06ec5a5f59ffaeb6cf5079c6cb184467da06c9db.tar.gz) = 3f0b18aecbc73fee91fc7de9f10d240ddc06c836fa2f116c1f007dd7818d099e6aea1852ca0b8d1a26ac19aac896535dba1a6298851a65515b553810c6245784 SHA512 (reqwest-middleware-ad8b9d332d1773fde8b4cd008486de5973e0a3f8.tar.gz) = 2dad83835c87cdd79e2a08c19b5024b3fdf30d1d8cd14e480e434612e856ecc20a5404881ff81d5793d3e9d5808ee3d59ce920312a86a100535009da43d7d46b diff --git a/uv.spec b/uv.spec index 5cada10..9dd739b 100644 --- a/uv.spec +++ b/uv.spec @@ -11,7 +11,7 @@ %bcond it %{undefined el10} Name: uv -Version: 0.8.13 +Version: 0.8.14 Release: %autorelease Summary: An extremely fast Python package installer and resolver, written in Rust From 60a76559b36fd80d31798b32b1203a3e14c2c8be Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Sun, 7 Sep 2025 19:38:55 +0100 Subject: [PATCH 080/214] Update to 0.8.15 --- .gitignore | 2 ++ sources | 4 ++-- uv.spec | 6 +++--- 3 files changed, 7 insertions(+), 5 deletions(-) diff --git a/.gitignore b/.gitignore index bea065a..4ec07aa 100644 --- a/.gitignore +++ b/.gitignore @@ -147,3 +147,5 @@ /tokio-tar-f1488188f1d1b54a73eb0c42a8b8f4b9ee87d688.tar.gz /uv-0.8.13.tar.gz /uv-0.8.14.tar.gz +/uv-0.8.15.tar.gz +/reqwest-middleware-7650ed76215a962a96d94a79be71c27bffde7ab2.tar.gz diff --git a/sources b/sources index b7fdacd..23966a6 100644 --- a/sources +++ b/sources @@ -1,5 +1,5 @@ -SHA512 (uv-0.8.14.tar.gz) = 807caff7e32f16dd88225212712390609ffc4117da0c1ff5a2b710ad8381543ada09e0b07e5be34ed0bd8900ab8bed9e7911b16a4cb4588fd28d701fe412671f +SHA512 (uv-0.8.15.tar.gz) = eafe6f8d74e476d404ac48a69115c0965152a07c876b87139f04b48770df2b7a5c42e04efb7a12297e1e341248a8551f87ab286dbd5fe06a41de029eff54ee4e SHA512 (rs-async-zip-285e48742b74ab109887d62e1ae79e7c15fd4878.tar.gz) = d6dd699f43ca6e23a4c8abb8673b37d3983081a8c78545492ea3c1d0b35e3a491277c341df6dd64fb7efaec3b23eb479dede99e9b41016b5504d1a6dc9fbc617 SHA512 (pubgrub-06ec5a5f59ffaeb6cf5079c6cb184467da06c9db.tar.gz) = 3f0b18aecbc73fee91fc7de9f10d240ddc06c836fa2f116c1f007dd7818d099e6aea1852ca0b8d1a26ac19aac896535dba1a6298851a65515b553810c6245784 -SHA512 (reqwest-middleware-ad8b9d332d1773fde8b4cd008486de5973e0a3f8.tar.gz) = 2dad83835c87cdd79e2a08c19b5024b3fdf30d1d8cd14e480e434612e856ecc20a5404881ff81d5793d3e9d5808ee3d59ce920312a86a100535009da43d7d46b +SHA512 (reqwest-middleware-7650ed76215a962a96d94a79be71c27bffde7ab2.tar.gz) = 904fd652b0f3ecc90eee571d5488aba977dee643a1d6267e2fda264fa4c7b4bfcfacd4d5a23287dfb710ecc82d667479fcd0c48166259c2368df0e8b0c9d6707 SHA512 (tl-6e25b2ee2513d75385101a8ff9f591ef51f314ec.tar.gz) = 4abbc4240ed129c92da8d616e27a6df0f24cdc85a0803acfdae588ca91f9e5b8d482e3ac88b2e657ff68917b1b43cef1e7ef3c887f624659b231fa5a13fcae68 diff --git a/uv.spec b/uv.spec index 9dd739b..2d266db 100644 --- a/uv.spec +++ b/uv.spec @@ -11,7 +11,7 @@ %bcond it %{undefined el10} Name: uv -Version: 0.8.14 +Version: 0.8.15 Release: %autorelease Summary: An extremely fast Python package installer and resolver, written in Rust @@ -175,8 +175,8 @@ Source200: %{pubgrub_git}/archive/%{pubgrub_rev}/pubgrub-%{pubgrub_rev}.tar # prescribed in # https://docs.fedoraproject.org/en-US/packaging-guidelines/Rust/#_replacing_git_dependencies %global reqwest_middleware_git https://github.com/astral-sh/reqwest-middleware -%global reqwest_middleware_rev ad8b9d332d1773fde8b4cd008486de5973e0a3f8 -%global reqwest_middleware_snapdate 20250607 +%global reqwest_middleware_rev 7650ed76215a962a96d94a79be71c27bffde7ab2 +%global reqwest_middleware_snapdate 20250828 %global reqwest_middleware_baseversion 0.4.2 %global reqwest_retry_baseversion 0.7.0 Source300: %{reqwest_middleware_git}/archive/%{reqwest_middleware_rev}/reqwest-middleware-%{reqwest_middleware_rev}.tar.gz From db37816d7c1c24dbbfd473fc2b5cc81d9fc2349e Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Wed, 10 Sep 2025 12:32:39 +0100 Subject: [PATCH 081/214] Update to 0.8.16 --- .gitignore | 1 + sources | 2 +- uv.spec | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 4ec07aa..126bccc 100644 --- a/.gitignore +++ b/.gitignore @@ -149,3 +149,4 @@ /uv-0.8.14.tar.gz /uv-0.8.15.tar.gz /reqwest-middleware-7650ed76215a962a96d94a79be71c27bffde7ab2.tar.gz +/uv-0.8.16.tar.gz diff --git a/sources b/sources index 23966a6..06860d8 100644 --- a/sources +++ b/sources @@ -1,4 +1,4 @@ -SHA512 (uv-0.8.15.tar.gz) = eafe6f8d74e476d404ac48a69115c0965152a07c876b87139f04b48770df2b7a5c42e04efb7a12297e1e341248a8551f87ab286dbd5fe06a41de029eff54ee4e +SHA512 (uv-0.8.16.tar.gz) = 8799554f7fbdc01277792ffddcf1731db2ddb8e67b387324ae52087c1a4ae64375186f588b535771fa7c66dacd7d78c3aa71d1ca232325f32c095a09d48041a4 SHA512 (rs-async-zip-285e48742b74ab109887d62e1ae79e7c15fd4878.tar.gz) = d6dd699f43ca6e23a4c8abb8673b37d3983081a8c78545492ea3c1d0b35e3a491277c341df6dd64fb7efaec3b23eb479dede99e9b41016b5504d1a6dc9fbc617 SHA512 (pubgrub-06ec5a5f59ffaeb6cf5079c6cb184467da06c9db.tar.gz) = 3f0b18aecbc73fee91fc7de9f10d240ddc06c836fa2f116c1f007dd7818d099e6aea1852ca0b8d1a26ac19aac896535dba1a6298851a65515b553810c6245784 SHA512 (reqwest-middleware-7650ed76215a962a96d94a79be71c27bffde7ab2.tar.gz) = 904fd652b0f3ecc90eee571d5488aba977dee643a1d6267e2fda264fa4c7b4bfcfacd4d5a23287dfb710ecc82d667479fcd0c48166259c2368df0e8b0c9d6707 diff --git a/uv.spec b/uv.spec index 2d266db..0b43578 100644 --- a/uv.spec +++ b/uv.spec @@ -11,7 +11,7 @@ %bcond it %{undefined el10} Name: uv -Version: 0.8.15 +Version: 0.8.16 Release: %autorelease Summary: An extremely fast Python package installer and resolver, written in Rust From ea5ea77e33cd5554097dabbd2a22a45de3927dde Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Thu, 11 Sep 2025 07:52:13 +0100 Subject: [PATCH 082/214] Update to 0.8.17 --- .gitignore | 1 + sources | 2 +- uv.spec | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 126bccc..153bd11 100644 --- a/.gitignore +++ b/.gitignore @@ -150,3 +150,4 @@ /uv-0.8.15.tar.gz /reqwest-middleware-7650ed76215a962a96d94a79be71c27bffde7ab2.tar.gz /uv-0.8.16.tar.gz +/uv-0.8.17.tar.gz diff --git a/sources b/sources index 06860d8..3532a2e 100644 --- a/sources +++ b/sources @@ -1,4 +1,4 @@ -SHA512 (uv-0.8.16.tar.gz) = 8799554f7fbdc01277792ffddcf1731db2ddb8e67b387324ae52087c1a4ae64375186f588b535771fa7c66dacd7d78c3aa71d1ca232325f32c095a09d48041a4 +SHA512 (uv-0.8.17.tar.gz) = f8d331fa717fca1ecea0907ac5da483ab1f6ec4a1cdf149549dbbc765353b0e28f47ab472270a52581042260e58c03f8cfead6a315969852d057b030d9b9075e SHA512 (rs-async-zip-285e48742b74ab109887d62e1ae79e7c15fd4878.tar.gz) = d6dd699f43ca6e23a4c8abb8673b37d3983081a8c78545492ea3c1d0b35e3a491277c341df6dd64fb7efaec3b23eb479dede99e9b41016b5504d1a6dc9fbc617 SHA512 (pubgrub-06ec5a5f59ffaeb6cf5079c6cb184467da06c9db.tar.gz) = 3f0b18aecbc73fee91fc7de9f10d240ddc06c836fa2f116c1f007dd7818d099e6aea1852ca0b8d1a26ac19aac896535dba1a6298851a65515b553810c6245784 SHA512 (reqwest-middleware-7650ed76215a962a96d94a79be71c27bffde7ab2.tar.gz) = 904fd652b0f3ecc90eee571d5488aba977dee643a1d6267e2fda264fa4c7b4bfcfacd4d5a23287dfb710ecc82d667479fcd0c48166259c2368df0e8b0c9d6707 diff --git a/uv.spec b/uv.spec index 0b43578..60f78a1 100644 --- a/uv.spec +++ b/uv.spec @@ -11,7 +11,7 @@ %bcond it %{undefined el10} Name: uv -Version: 0.8.16 +Version: 0.8.17 Release: %autorelease Summary: An extremely fast Python package installer and resolver, written in Rust From 30860a84ed7fbf09e4d0f8850a1090d90ad32a6e Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Sat, 27 Sep 2025 22:31:43 +0100 Subject: [PATCH 083/214] Update to 0.8.18 --- .gitignore | 1 + sources | 2 +- uv.spec | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 153bd11..0672e89 100644 --- a/.gitignore +++ b/.gitignore @@ -151,3 +151,4 @@ /reqwest-middleware-7650ed76215a962a96d94a79be71c27bffde7ab2.tar.gz /uv-0.8.16.tar.gz /uv-0.8.17.tar.gz +/uv-0.8.18.tar.gz diff --git a/sources b/sources index 3532a2e..573d285 100644 --- a/sources +++ b/sources @@ -1,4 +1,4 @@ -SHA512 (uv-0.8.17.tar.gz) = f8d331fa717fca1ecea0907ac5da483ab1f6ec4a1cdf149549dbbc765353b0e28f47ab472270a52581042260e58c03f8cfead6a315969852d057b030d9b9075e +SHA512 (uv-0.8.18.tar.gz) = a21e001cc241050c0fa19b1d5629a347e61f1fd3f0854fa855b5a78c2dcd68fcaf1336ce3f769e50430dd279418c644c473002d175ccebc934ee9c0cb4a38c65 SHA512 (rs-async-zip-285e48742b74ab109887d62e1ae79e7c15fd4878.tar.gz) = d6dd699f43ca6e23a4c8abb8673b37d3983081a8c78545492ea3c1d0b35e3a491277c341df6dd64fb7efaec3b23eb479dede99e9b41016b5504d1a6dc9fbc617 SHA512 (pubgrub-06ec5a5f59ffaeb6cf5079c6cb184467da06c9db.tar.gz) = 3f0b18aecbc73fee91fc7de9f10d240ddc06c836fa2f116c1f007dd7818d099e6aea1852ca0b8d1a26ac19aac896535dba1a6298851a65515b553810c6245784 SHA512 (reqwest-middleware-7650ed76215a962a96d94a79be71c27bffde7ab2.tar.gz) = 904fd652b0f3ecc90eee571d5488aba977dee643a1d6267e2fda264fa4c7b4bfcfacd4d5a23287dfb710ecc82d667479fcd0c48166259c2368df0e8b0c9d6707 diff --git a/uv.spec b/uv.spec index 60f78a1..58cc96a 100644 --- a/uv.spec +++ b/uv.spec @@ -11,7 +11,7 @@ %bcond it %{undefined el10} Name: uv -Version: 0.8.17 +Version: 0.8.18 Release: %autorelease Summary: An extremely fast Python package installer and resolver, written in Rust From da9ee20f7e2a0791c7e168148a9007c5d1cc3b97 Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Mon, 29 Sep 2025 10:02:40 +0100 Subject: [PATCH 084/214] Update to 0.8.19 --- .gitignore | 1 + sources | 2 +- uv.spec | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 0672e89..86df2f5 100644 --- a/.gitignore +++ b/.gitignore @@ -152,3 +152,4 @@ /uv-0.8.16.tar.gz /uv-0.8.17.tar.gz /uv-0.8.18.tar.gz +/uv-0.8.19.tar.gz diff --git a/sources b/sources index 573d285..6dc00a3 100644 --- a/sources +++ b/sources @@ -1,4 +1,4 @@ -SHA512 (uv-0.8.18.tar.gz) = a21e001cc241050c0fa19b1d5629a347e61f1fd3f0854fa855b5a78c2dcd68fcaf1336ce3f769e50430dd279418c644c473002d175ccebc934ee9c0cb4a38c65 +SHA512 (uv-0.8.19.tar.gz) = 565825f348422d2247d9bb32d30fc22e00240ac63b271ebb77a67cf7d5ba84de768819b03274194085ff941c742a76e4cc27129922b3db6ea63e58b694e97b59 SHA512 (rs-async-zip-285e48742b74ab109887d62e1ae79e7c15fd4878.tar.gz) = d6dd699f43ca6e23a4c8abb8673b37d3983081a8c78545492ea3c1d0b35e3a491277c341df6dd64fb7efaec3b23eb479dede99e9b41016b5504d1a6dc9fbc617 SHA512 (pubgrub-06ec5a5f59ffaeb6cf5079c6cb184467da06c9db.tar.gz) = 3f0b18aecbc73fee91fc7de9f10d240ddc06c836fa2f116c1f007dd7818d099e6aea1852ca0b8d1a26ac19aac896535dba1a6298851a65515b553810c6245784 SHA512 (reqwest-middleware-7650ed76215a962a96d94a79be71c27bffde7ab2.tar.gz) = 904fd652b0f3ecc90eee571d5488aba977dee643a1d6267e2fda264fa4c7b4bfcfacd4d5a23287dfb710ecc82d667479fcd0c48166259c2368df0e8b0c9d6707 diff --git a/uv.spec b/uv.spec index 58cc96a..1521fa1 100644 --- a/uv.spec +++ b/uv.spec @@ -11,7 +11,7 @@ %bcond it %{undefined el10} Name: uv -Version: 0.8.18 +Version: 0.8.19 Release: %autorelease Summary: An extremely fast Python package installer and resolver, written in Rust From 20d03d8364fd82173ae69915211325fc65ff52b5 Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Mon, 29 Sep 2025 10:06:45 +0100 Subject: [PATCH 085/214] Update to 0.8.20 (close RHBZ#2389326) --- .gitignore | 2 ++ sources | 4 ++-- uv.spec | 6 +++--- 3 files changed, 7 insertions(+), 5 deletions(-) diff --git a/.gitignore b/.gitignore index 86df2f5..5b05fe3 100644 --- a/.gitignore +++ b/.gitignore @@ -153,3 +153,5 @@ /uv-0.8.17.tar.gz /uv-0.8.18.tar.gz /uv-0.8.19.tar.gz +/uv-0.8.20.tar.gz +/pubgrub-d8efd77673c9a90792da9da31b6c0da7ea8a324b.tar.gz diff --git a/sources b/sources index 6dc00a3..86d92be 100644 --- a/sources +++ b/sources @@ -1,5 +1,5 @@ -SHA512 (uv-0.8.19.tar.gz) = 565825f348422d2247d9bb32d30fc22e00240ac63b271ebb77a67cf7d5ba84de768819b03274194085ff941c742a76e4cc27129922b3db6ea63e58b694e97b59 +SHA512 (uv-0.8.20.tar.gz) = 80e6566b8152b5f2eff8f1f8991ed4f62465670aa5a179dc055fa8395968581369ebd9289000b934c28e395b39185ea18d705066016ea969abbbe42985064668 SHA512 (rs-async-zip-285e48742b74ab109887d62e1ae79e7c15fd4878.tar.gz) = d6dd699f43ca6e23a4c8abb8673b37d3983081a8c78545492ea3c1d0b35e3a491277c341df6dd64fb7efaec3b23eb479dede99e9b41016b5504d1a6dc9fbc617 -SHA512 (pubgrub-06ec5a5f59ffaeb6cf5079c6cb184467da06c9db.tar.gz) = 3f0b18aecbc73fee91fc7de9f10d240ddc06c836fa2f116c1f007dd7818d099e6aea1852ca0b8d1a26ac19aac896535dba1a6298851a65515b553810c6245784 +SHA512 (pubgrub-d8efd77673c9a90792da9da31b6c0da7ea8a324b.tar.gz) = 3a2a146fd9d9b458dced6563a1f5674e81e8ba36de11be5c189b0c76b6ede6f32957f48fb0978b97b0892768822c6c4c32c6870141e8fc1ea5d8b8f7d8b5b464 SHA512 (reqwest-middleware-7650ed76215a962a96d94a79be71c27bffde7ab2.tar.gz) = 904fd652b0f3ecc90eee571d5488aba977dee643a1d6267e2fda264fa4c7b4bfcfacd4d5a23287dfb710ecc82d667479fcd0c48166259c2368df0e8b0c9d6707 SHA512 (tl-6e25b2ee2513d75385101a8ff9f591ef51f314ec.tar.gz) = 4abbc4240ed129c92da8d616e27a6df0f24cdc85a0803acfdae588ca91f9e5b8d482e3ac88b2e657ff68917b1b43cef1e7ef3c887f624659b231fa5a13fcae68 diff --git a/uv.spec b/uv.spec index 1521fa1..591de10 100644 --- a/uv.spec +++ b/uv.spec @@ -11,7 +11,7 @@ %bcond it %{undefined el10} Name: uv -Version: 0.8.19 +Version: 0.8.20 Release: %autorelease Summary: An extremely fast Python package installer and resolver, written in Rust @@ -161,9 +161,9 @@ Source100: %{async_zip_git}/archive/%{async_zip_rev}/rs-async-zip-%{async_z # We therefore bundle the fork as prescribed in # https://docs.fedoraproject.org/en-US/packaging-guidelines/Rust/#_replacing_git_dependencies %global pubgrub_git https://github.com/astral-sh/pubgrub -%global pubgrub_rev 06ec5a5f59ffaeb6cf5079c6cb184467da06c9db +%global pubgrub_rev d8efd77673c9a90792da9da31b6c0da7ea8a324b %global pubgrub_baseversion 0.3.0 -%global pubgrub_snapdate 20250523 +%global pubgrub_snapdate 20250810 %global version_ranges_baseversion 0.1.1 Source200: %{pubgrub_git}/archive/%{pubgrub_rev}/pubgrub-%{pubgrub_rev}.tar.gz From fc1f55cf50842dcbf2e0b41cff05dc465b74e3b8 Mon Sep 17 00:00:00 2001 From: Gordon Messmer Date: Thu, 16 Oct 2025 15:10:57 -0700 Subject: [PATCH 086/214] Use rpm's native resource tunable to limit parallelism. rpm 4.19 and newer have built-in tunable settings to limit parallel tasks which make %constrain_build redundant. See BZ#2404624 --- uv.spec | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/uv.spec b/uv.spec index 591de10..a6fef2d 100644 --- a/uv.spec +++ b/uv.spec @@ -209,7 +209,7 @@ ExcludeArch: %{ix86} # of memory in the final linking step. This cannot be fixed by adding # "-C link-args=-Wl,--no-keep-memory" to the RUSTFLAGS (as that seems to have # no significant effect on memory requirements), nor can it be fixed by -# reducing parallelism with e.g. the %%constrain_build macro (although we do +# reducing parallelism with e.g. the _smp_tasksize_proc global (although we do # need this as well), since nothing else is happening at that point in the # build. See: # https://doc.rust-lang.org/rustc/codegen-options/index.html#debuginfo @@ -222,7 +222,7 @@ ExcludeArch: %{ix86} # crates have finished, so it does not need to influence (and does not benefit # from) this setting. Even though some crates will require more than 3GB, the # average should be below that on many-core systems. Increase as needed. -%constrain_build -m 4096 +%global _smp_tasksize_proc 4096 BuildRequires: cargo-rpm-macros >= 24 BuildRequires: rust2rpm-helper From 1bc5d552b69c269e014f1acaf8fe0312d22ff18c Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Fri, 17 Oct 2025 06:29:32 +0100 Subject: [PATCH 087/214] Remove conditional for EPEL9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit It doesn’t look like this is getting branched there anytime soon. [skip changelog] --- uv.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/uv.spec b/uv.spec index a6fef2d..a68b06a 100644 --- a/uv.spec +++ b/uv.spec @@ -738,7 +738,7 @@ skip="${skip-} --skip python_list::python_list_venv" # https://github.com/astral-sh/uv/pull/13699#issuecomment-2916115588. skip="${skip-} --skip remote_metadata::remote_metadata_with_and_without_cache" -%if %[ %{defined fc41} || %{defined el10} || %{defined el9} ] +%if %[ %{defined fc41} || %{defined el10} ] # Trivial difference in snapshots: packages appear in a different order. skip="${skip-} --skip lock::tests::missing_dependency_source_unambiguous" skip="${skip-} --skip lock::tests::missing_dependency_version_dynamic" From ace7b012177b8aff8ba46301b240d07a7dd9a3e6 Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Wed, 22 Oct 2025 13:56:24 +0100 Subject: [PATCH 088/214] Update to 0.8.21 --- .gitignore | 1 + sources | 2 +- uv.spec | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 5b05fe3..2a46f54 100644 --- a/.gitignore +++ b/.gitignore @@ -155,3 +155,4 @@ /uv-0.8.19.tar.gz /uv-0.8.20.tar.gz /pubgrub-d8efd77673c9a90792da9da31b6c0da7ea8a324b.tar.gz +/uv-0.8.21.tar.gz diff --git a/sources b/sources index 86d92be..bffcf5c 100644 --- a/sources +++ b/sources @@ -1,4 +1,4 @@ -SHA512 (uv-0.8.20.tar.gz) = 80e6566b8152b5f2eff8f1f8991ed4f62465670aa5a179dc055fa8395968581369ebd9289000b934c28e395b39185ea18d705066016ea969abbbe42985064668 +SHA512 (uv-0.8.21.tar.gz) = 76201884896b5f45a6e3d54d65cfcab58e2dd287729a2ea2d54dc33ad7d9d8d8be411aada258162744a299284df32047144640d8eca7126a750eb81567304ce7 SHA512 (rs-async-zip-285e48742b74ab109887d62e1ae79e7c15fd4878.tar.gz) = d6dd699f43ca6e23a4c8abb8673b37d3983081a8c78545492ea3c1d0b35e3a491277c341df6dd64fb7efaec3b23eb479dede99e9b41016b5504d1a6dc9fbc617 SHA512 (pubgrub-d8efd77673c9a90792da9da31b6c0da7ea8a324b.tar.gz) = 3a2a146fd9d9b458dced6563a1f5674e81e8ba36de11be5c189b0c76b6ede6f32957f48fb0978b97b0892768822c6c4c32c6870141e8fc1ea5d8b8f7d8b5b464 SHA512 (reqwest-middleware-7650ed76215a962a96d94a79be71c27bffde7ab2.tar.gz) = 904fd652b0f3ecc90eee571d5488aba977dee643a1d6267e2fda264fa4c7b4bfcfacd4d5a23287dfb710ecc82d667479fcd0c48166259c2368df0e8b0c9d6707 diff --git a/uv.spec b/uv.spec index a68b06a..e12fb82 100644 --- a/uv.spec +++ b/uv.spec @@ -11,7 +11,7 @@ %bcond it %{undefined el10} Name: uv -Version: 0.8.20 +Version: 0.8.21 Release: %autorelease Summary: An extremely fast Python package installer and resolver, written in Rust From c43078ae42fe100ac3ccd6976f706112b2a5cfa7 Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Wed, 22 Oct 2025 13:58:29 +0100 Subject: [PATCH 089/214] Update to 0.8.22 --- .gitignore | 1 + sources | 2 +- uv.spec | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 2a46f54..cbf3cf4 100644 --- a/.gitignore +++ b/.gitignore @@ -156,3 +156,4 @@ /uv-0.8.20.tar.gz /pubgrub-d8efd77673c9a90792da9da31b6c0da7ea8a324b.tar.gz /uv-0.8.21.tar.gz +/uv-0.8.22.tar.gz diff --git a/sources b/sources index bffcf5c..bdceda5 100644 --- a/sources +++ b/sources @@ -1,4 +1,4 @@ -SHA512 (uv-0.8.21.tar.gz) = 76201884896b5f45a6e3d54d65cfcab58e2dd287729a2ea2d54dc33ad7d9d8d8be411aada258162744a299284df32047144640d8eca7126a750eb81567304ce7 +SHA512 (uv-0.8.22.tar.gz) = 625d5bf4a824ed785f819fded89f980e50d7a393a537b8ac4f75f3c1985d51e57e8e982960441029e526ffa09a63781262567c336615444309ffef300d90e1dd SHA512 (rs-async-zip-285e48742b74ab109887d62e1ae79e7c15fd4878.tar.gz) = d6dd699f43ca6e23a4c8abb8673b37d3983081a8c78545492ea3c1d0b35e3a491277c341df6dd64fb7efaec3b23eb479dede99e9b41016b5504d1a6dc9fbc617 SHA512 (pubgrub-d8efd77673c9a90792da9da31b6c0da7ea8a324b.tar.gz) = 3a2a146fd9d9b458dced6563a1f5674e81e8ba36de11be5c189b0c76b6ede6f32957f48fb0978b97b0892768822c6c4c32c6870141e8fc1ea5d8b8f7d8b5b464 SHA512 (reqwest-middleware-7650ed76215a962a96d94a79be71c27bffde7ab2.tar.gz) = 904fd652b0f3ecc90eee571d5488aba977dee643a1d6267e2fda264fa4c7b4bfcfacd4d5a23287dfb710ecc82d667479fcd0c48166259c2368df0e8b0c9d6707 diff --git a/uv.spec b/uv.spec index e12fb82..b0d31ac 100644 --- a/uv.spec +++ b/uv.spec @@ -11,7 +11,7 @@ %bcond it %{undefined el10} Name: uv -Version: 0.8.21 +Version: 0.8.22 Release: %autorelease Summary: An extremely fast Python package installer and resolver, written in Rust From fedacda911c3a72741b65842f0bd4e2ba8c4fe91 Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Wed, 22 Oct 2025 14:01:41 +0100 Subject: [PATCH 090/214] Update to 0.8.23 --- .gitignore | 1 + sources | 2 +- uv.spec | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index cbf3cf4..855a43f 100644 --- a/.gitignore +++ b/.gitignore @@ -157,3 +157,4 @@ /pubgrub-d8efd77673c9a90792da9da31b6c0da7ea8a324b.tar.gz /uv-0.8.21.tar.gz /uv-0.8.22.tar.gz +/uv-0.8.23.tar.gz diff --git a/sources b/sources index bdceda5..a19fae4 100644 --- a/sources +++ b/sources @@ -1,4 +1,4 @@ -SHA512 (uv-0.8.22.tar.gz) = 625d5bf4a824ed785f819fded89f980e50d7a393a537b8ac4f75f3c1985d51e57e8e982960441029e526ffa09a63781262567c336615444309ffef300d90e1dd +SHA512 (uv-0.8.23.tar.gz) = b8fc563ee0bf69fbd809e140b28657e9cbc93233ae7d04cf8b852b3aa3be2ea636c5ae24649ea36cc5e95e6089a4c5400dcf088327a71225b7677b9622e315a7 SHA512 (rs-async-zip-285e48742b74ab109887d62e1ae79e7c15fd4878.tar.gz) = d6dd699f43ca6e23a4c8abb8673b37d3983081a8c78545492ea3c1d0b35e3a491277c341df6dd64fb7efaec3b23eb479dede99e9b41016b5504d1a6dc9fbc617 SHA512 (pubgrub-d8efd77673c9a90792da9da31b6c0da7ea8a324b.tar.gz) = 3a2a146fd9d9b458dced6563a1f5674e81e8ba36de11be5c189b0c76b6ede6f32957f48fb0978b97b0892768822c6c4c32c6870141e8fc1ea5d8b8f7d8b5b464 SHA512 (reqwest-middleware-7650ed76215a962a96d94a79be71c27bffde7ab2.tar.gz) = 904fd652b0f3ecc90eee571d5488aba977dee643a1d6267e2fda264fa4c7b4bfcfacd4d5a23287dfb710ecc82d667479fcd0c48166259c2368df0e8b0c9d6707 diff --git a/uv.spec b/uv.spec index b0d31ac..d01ae73 100644 --- a/uv.spec +++ b/uv.spec @@ -11,7 +11,7 @@ %bcond it %{undefined el10} Name: uv -Version: 0.8.22 +Version: 0.8.23 Release: %autorelease Summary: An extremely fast Python package installer and resolver, written in Rust From b2b55ff08b4def5611e241b541f71147f584edd1 Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Wed, 22 Oct 2025 14:03:36 +0100 Subject: [PATCH 091/214] Update to 0.8.24 --- .gitignore | 1 + sources | 2 +- uv.spec | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 855a43f..cfcb24c 100644 --- a/.gitignore +++ b/.gitignore @@ -158,3 +158,4 @@ /uv-0.8.21.tar.gz /uv-0.8.22.tar.gz /uv-0.8.23.tar.gz +/uv-0.8.24.tar.gz diff --git a/sources b/sources index a19fae4..88aff8e 100644 --- a/sources +++ b/sources @@ -1,4 +1,4 @@ -SHA512 (uv-0.8.23.tar.gz) = b8fc563ee0bf69fbd809e140b28657e9cbc93233ae7d04cf8b852b3aa3be2ea636c5ae24649ea36cc5e95e6089a4c5400dcf088327a71225b7677b9622e315a7 +SHA512 (uv-0.8.24.tar.gz) = 202e44296eb16fe9aa0f3f8470b5fa5af3489355462fa1de3544309d81ad3b97ddf8eb76a0f00db15aa07586f4279210a7ed1fe6fc868aa9fcf6f131f425dc99 SHA512 (rs-async-zip-285e48742b74ab109887d62e1ae79e7c15fd4878.tar.gz) = d6dd699f43ca6e23a4c8abb8673b37d3983081a8c78545492ea3c1d0b35e3a491277c341df6dd64fb7efaec3b23eb479dede99e9b41016b5504d1a6dc9fbc617 SHA512 (pubgrub-d8efd77673c9a90792da9da31b6c0da7ea8a324b.tar.gz) = 3a2a146fd9d9b458dced6563a1f5674e81e8ba36de11be5c189b0c76b6ede6f32957f48fb0978b97b0892768822c6c4c32c6870141e8fc1ea5d8b8f7d8b5b464 SHA512 (reqwest-middleware-7650ed76215a962a96d94a79be71c27bffde7ab2.tar.gz) = 904fd652b0f3ecc90eee571d5488aba977dee643a1d6267e2fda264fa4c7b4bfcfacd4d5a23287dfb710ecc82d667479fcd0c48166259c2368df0e8b0c9d6707 diff --git a/uv.spec b/uv.spec index d01ae73..65ab24c 100644 --- a/uv.spec +++ b/uv.spec @@ -11,7 +11,7 @@ %bcond it %{undefined el10} Name: uv -Version: 0.8.23 +Version: 0.8.24 Release: %autorelease Summary: An extremely fast Python package installer and resolver, written in Rust From ac2069ac14815914dca97da609afbf30e2120b98 Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Thu, 23 Oct 2025 07:32:54 +0100 Subject: [PATCH 092/214] Allow hashbrown 0.15 (for EPEL10.1) --- uv.spec | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/uv.spec b/uv.spec index 65ab24c..73a7651 100644 --- a/uv.spec +++ b/uv.spec @@ -613,6 +613,12 @@ tomcli set crates/uv/Cargo.toml del dependencies.tracing-durations-export # # https://bugzilla.redhat.com/show_bug.cgi?id=1234567 # tomcli set crates/uv/Cargo.toml str dev-dependencies.foocrate.version 0.1.2 +# hashbrown +# wanted: 0.16.0 +# currently packaged: 0.15.x (in EPEL10.1) +tomcli set Cargo.toml str workspace.dependencies.hashbrown.version \ + '>=0.15, <0.17' + %cargo_prep From 0b97bf16ab50c2b168d7d5bf84f9d9483d7b5ee6 Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Thu, 23 Oct 2025 10:46:10 +0100 Subject: [PATCH 093/214] Revert "Allow hashbrown 0.15 (for EPEL10.1)" This reverts commit ac2069ac14815914dca97da609afbf30e2120b98. --- uv.spec | 6 ------ 1 file changed, 6 deletions(-) diff --git a/uv.spec b/uv.spec index 73a7651..65ab24c 100644 --- a/uv.spec +++ b/uv.spec @@ -613,12 +613,6 @@ tomcli set crates/uv/Cargo.toml del dependencies.tracing-durations-export # # https://bugzilla.redhat.com/show_bug.cgi?id=1234567 # tomcli set crates/uv/Cargo.toml str dev-dependencies.foocrate.version 0.1.2 -# hashbrown -# wanted: 0.16.0 -# currently packaged: 0.15.x (in EPEL10.1) -tomcli set Cargo.toml str workspace.dependencies.hashbrown.version \ - '>=0.15, <0.17' - %cargo_prep From 58c3d367013b7ebe9a0257da1e8d13aa87590653 Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Thu, 23 Oct 2025 11:14:31 +0100 Subject: [PATCH 094/214] =?UTF-8?q?Try=20to=20work=20around=20=E2=80=9Ctoo?= =?UTF-8?q?=20many=20open=20files=E2=80=9D=20on=20192-core=20builders?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- uv.spec | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/uv.spec b/uv.spec index 65ab24c..35d26d6 100644 --- a/uv.spec +++ b/uv.spec @@ -224,6 +224,10 @@ ExcludeArch: %{ix86} # average should be below that on many-core systems. Increase as needed. %global _smp_tasksize_proc 4096 +# Compilation may fail on builders with very many cores (e.g. 192 cores) due to +# “too many open files.” Try to keep the files/core ratio from getting too low. +%global _smp_ncpus_max 128 + BuildRequires: cargo-rpm-macros >= 24 BuildRequires: rust2rpm-helper BuildRequires: tomcli From 5b744c08bc057f7a646b3e0d274c0f57cf8de5e8 Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Thu, 23 Oct 2025 19:04:14 +0100 Subject: [PATCH 095/214] Update to 0.9.0 --- .gitignore | 1 + sources | 2 +- uv.spec | 12 +++++++++++- 3 files changed, 13 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index cfcb24c..b32dd7a 100644 --- a/.gitignore +++ b/.gitignore @@ -159,3 +159,4 @@ /uv-0.8.22.tar.gz /uv-0.8.23.tar.gz /uv-0.8.24.tar.gz +/uv-0.9.0.tar.gz diff --git a/sources b/sources index 88aff8e..9a09654 100644 --- a/sources +++ b/sources @@ -1,4 +1,4 @@ -SHA512 (uv-0.8.24.tar.gz) = 202e44296eb16fe9aa0f3f8470b5fa5af3489355462fa1de3544309d81ad3b97ddf8eb76a0f00db15aa07586f4279210a7ed1fe6fc868aa9fcf6f131f425dc99 +SHA512 (uv-0.9.0.tar.gz) = f9815a8f79cf8fdb1d892b4407cfe164cd191f78ef17550481e97b6e42626b92a9a06e791205a2448e07a77f0d959ba8933060bddc22a80700f5544c0ad15820 SHA512 (rs-async-zip-285e48742b74ab109887d62e1ae79e7c15fd4878.tar.gz) = d6dd699f43ca6e23a4c8abb8673b37d3983081a8c78545492ea3c1d0b35e3a491277c341df6dd64fb7efaec3b23eb479dede99e9b41016b5504d1a6dc9fbc617 SHA512 (pubgrub-d8efd77673c9a90792da9da31b6c0da7ea8a324b.tar.gz) = 3a2a146fd9d9b458dced6563a1f5674e81e8ba36de11be5c189b0c76b6ede6f32957f48fb0978b97b0892768822c6c4c32c6870141e8fc1ea5d8b8f7d8b5b464 SHA512 (reqwest-middleware-7650ed76215a962a96d94a79be71c27bffde7ab2.tar.gz) = 904fd652b0f3ecc90eee571d5488aba977dee643a1d6267e2fda264fa4c7b4bfcfacd4d5a23287dfb710ecc82d667479fcd0c48166259c2368df0e8b0c9d6707 diff --git a/uv.spec b/uv.spec index 35d26d6..3c7d42d 100644 --- a/uv.spec +++ b/uv.spec @@ -11,7 +11,7 @@ %bcond it %{undefined el10} Name: uv -Version: 0.8.24 +Version: 0.9.0 Release: %autorelease Summary: An extremely fast Python package installer and resolver, written in Rust @@ -243,6 +243,9 @@ BuildRequires: /usr/bin/python3.10 BuildRequires: /usr/bin/python3.11 BuildRequires: /usr/bin/python3.12 BuildRequires: /usr/bin/python3.13 +BuildRequires: /usr/bin/python3.13t +BuildRequires: /usr/bin/python3.14 +BuildRequires: /usr/bin/python3.14t %endif # This is a fork of async_zip; see the notes about Source100. @@ -710,6 +713,13 @@ skip="${skip-} --skip keyring::tests::fetch_url_with_password" skip="${skip-} --skip version::self_version" skip="${skip-} --skip version::self_version_json" skip="${skip-} --skip version::self_version_short" +%else +# Some python_find:: tests don’t find system interpreters, require network +# https://github.com/astral-sh/uv/issues/16431 +skip="${skip-} --skip python_find::python_find_freethreaded_313" +skip="${skip-} --skip python_find::python_find_freethreaded_314" +skip="${skip-} --skip python_find::python_find_prerelease_version_specifiers" +skip="${skip-} --skip python_find::python_find_prerelease_with_patch_request" %endif %ifnarch %{x86_64} %{arm64} From bcb16ef576fd9a5bcd1f42336b9f0038f8a9ec5c Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Fri, 24 Oct 2025 00:07:29 +0100 Subject: [PATCH 096/214] Update to 0.9.1 --- .gitignore | 1 + sources | 2 +- uv.spec | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index b32dd7a..248819a 100644 --- a/.gitignore +++ b/.gitignore @@ -160,3 +160,4 @@ /uv-0.8.23.tar.gz /uv-0.8.24.tar.gz /uv-0.9.0.tar.gz +/uv-0.9.1.tar.gz diff --git a/sources b/sources index 9a09654..ce5dfe2 100644 --- a/sources +++ b/sources @@ -1,4 +1,4 @@ -SHA512 (uv-0.9.0.tar.gz) = f9815a8f79cf8fdb1d892b4407cfe164cd191f78ef17550481e97b6e42626b92a9a06e791205a2448e07a77f0d959ba8933060bddc22a80700f5544c0ad15820 +SHA512 (uv-0.9.1.tar.gz) = 82ebac748368b08fcb9841c28de0a86f11510518c73f8c062bc6e960cdfa2da0a612ce24599893cc5072c46a31dabffd1358b803f16ed78ffd31b83694a99212 SHA512 (rs-async-zip-285e48742b74ab109887d62e1ae79e7c15fd4878.tar.gz) = d6dd699f43ca6e23a4c8abb8673b37d3983081a8c78545492ea3c1d0b35e3a491277c341df6dd64fb7efaec3b23eb479dede99e9b41016b5504d1a6dc9fbc617 SHA512 (pubgrub-d8efd77673c9a90792da9da31b6c0da7ea8a324b.tar.gz) = 3a2a146fd9d9b458dced6563a1f5674e81e8ba36de11be5c189b0c76b6ede6f32957f48fb0978b97b0892768822c6c4c32c6870141e8fc1ea5d8b8f7d8b5b464 SHA512 (reqwest-middleware-7650ed76215a962a96d94a79be71c27bffde7ab2.tar.gz) = 904fd652b0f3ecc90eee571d5488aba977dee643a1d6267e2fda264fa4c7b4bfcfacd4d5a23287dfb710ecc82d667479fcd0c48166259c2368df0e8b0c9d6707 diff --git a/uv.spec b/uv.spec index 3c7d42d..12966b7 100644 --- a/uv.spec +++ b/uv.spec @@ -11,7 +11,7 @@ %bcond it %{undefined el10} Name: uv -Version: 0.9.0 +Version: 0.9.1 Release: %autorelease Summary: An extremely fast Python package installer and resolver, written in Rust From fe6e723a8ff797f423b4cd4f0cf22fb4511242b5 Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Fri, 24 Oct 2025 00:09:34 +0100 Subject: [PATCH 097/214] Update to 0.9.2 --- .gitignore | 1 + sources | 2 +- uv.spec | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 248819a..174eb5f 100644 --- a/.gitignore +++ b/.gitignore @@ -161,3 +161,4 @@ /uv-0.8.24.tar.gz /uv-0.9.0.tar.gz /uv-0.9.1.tar.gz +/uv-0.9.2.tar.gz diff --git a/sources b/sources index ce5dfe2..e78b77d 100644 --- a/sources +++ b/sources @@ -1,4 +1,4 @@ -SHA512 (uv-0.9.1.tar.gz) = 82ebac748368b08fcb9841c28de0a86f11510518c73f8c062bc6e960cdfa2da0a612ce24599893cc5072c46a31dabffd1358b803f16ed78ffd31b83694a99212 +SHA512 (uv-0.9.2.tar.gz) = 197cbb4503fbd353b6f2f28db8d0a2a47040f15829164b1fc6827a8772f6ab354b502852b41f2217b824febada7c8c8e5287dec2f9b1dcc94c42cb9adab35f23 SHA512 (rs-async-zip-285e48742b74ab109887d62e1ae79e7c15fd4878.tar.gz) = d6dd699f43ca6e23a4c8abb8673b37d3983081a8c78545492ea3c1d0b35e3a491277c341df6dd64fb7efaec3b23eb479dede99e9b41016b5504d1a6dc9fbc617 SHA512 (pubgrub-d8efd77673c9a90792da9da31b6c0da7ea8a324b.tar.gz) = 3a2a146fd9d9b458dced6563a1f5674e81e8ba36de11be5c189b0c76b6ede6f32957f48fb0978b97b0892768822c6c4c32c6870141e8fc1ea5d8b8f7d8b5b464 SHA512 (reqwest-middleware-7650ed76215a962a96d94a79be71c27bffde7ab2.tar.gz) = 904fd652b0f3ecc90eee571d5488aba977dee643a1d6267e2fda264fa4c7b4bfcfacd4d5a23287dfb710ecc82d667479fcd0c48166259c2368df0e8b0c9d6707 diff --git a/uv.spec b/uv.spec index 12966b7..57bcae8 100644 --- a/uv.spec +++ b/uv.spec @@ -11,7 +11,7 @@ %bcond it %{undefined el10} Name: uv -Version: 0.9.1 +Version: 0.9.2 Release: %autorelease Summary: An extremely fast Python package installer and resolver, written in Rust From fe9d93ebd1aad85ed6a51aac8c0c58b1d8e20386 Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Fri, 24 Oct 2025 00:11:45 +0100 Subject: [PATCH 098/214] Update to 0.9.3 --- .gitignore | 1 + sources | 2 +- uv.spec | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 174eb5f..2df0b99 100644 --- a/.gitignore +++ b/.gitignore @@ -162,3 +162,4 @@ /uv-0.9.0.tar.gz /uv-0.9.1.tar.gz /uv-0.9.2.tar.gz +/uv-0.9.3.tar.gz diff --git a/sources b/sources index e78b77d..d4e19a7 100644 --- a/sources +++ b/sources @@ -1,4 +1,4 @@ -SHA512 (uv-0.9.2.tar.gz) = 197cbb4503fbd353b6f2f28db8d0a2a47040f15829164b1fc6827a8772f6ab354b502852b41f2217b824febada7c8c8e5287dec2f9b1dcc94c42cb9adab35f23 +SHA512 (uv-0.9.3.tar.gz) = 1557b620c089c8871e5c3f9507c96a8aaf4f81cf6d3b8fe7b83fd170fcd9cd7eb2d404d6ee0cde92e4ec298817a0cb329bbfc0217525a1bd3745783bf909c56e SHA512 (rs-async-zip-285e48742b74ab109887d62e1ae79e7c15fd4878.tar.gz) = d6dd699f43ca6e23a4c8abb8673b37d3983081a8c78545492ea3c1d0b35e3a491277c341df6dd64fb7efaec3b23eb479dede99e9b41016b5504d1a6dc9fbc617 SHA512 (pubgrub-d8efd77673c9a90792da9da31b6c0da7ea8a324b.tar.gz) = 3a2a146fd9d9b458dced6563a1f5674e81e8ba36de11be5c189b0c76b6ede6f32957f48fb0978b97b0892768822c6c4c32c6870141e8fc1ea5d8b8f7d8b5b464 SHA512 (reqwest-middleware-7650ed76215a962a96d94a79be71c27bffde7ab2.tar.gz) = 904fd652b0f3ecc90eee571d5488aba977dee643a1d6267e2fda264fa4c7b4bfcfacd4d5a23287dfb710ecc82d667479fcd0c48166259c2368df0e8b0c9d6707 diff --git a/uv.spec b/uv.spec index 57bcae8..a272ec7 100644 --- a/uv.spec +++ b/uv.spec @@ -11,7 +11,7 @@ %bcond it %{undefined el10} Name: uv -Version: 0.9.2 +Version: 0.9.3 Release: %autorelease Summary: An extremely fast Python package installer and resolver, written in Rust From 5464eba5f109037ef0600a266823f5171d95ccb8 Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Fri, 24 Oct 2025 00:14:05 +0100 Subject: [PATCH 099/214] Update to 0.9.4 --- .gitignore | 1 + sources | 2 +- uv.spec | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 2df0b99..6f50d7d 100644 --- a/.gitignore +++ b/.gitignore @@ -163,3 +163,4 @@ /uv-0.9.1.tar.gz /uv-0.9.2.tar.gz /uv-0.9.3.tar.gz +/uv-0.9.4.tar.gz diff --git a/sources b/sources index d4e19a7..a3b2cd7 100644 --- a/sources +++ b/sources @@ -1,4 +1,4 @@ -SHA512 (uv-0.9.3.tar.gz) = 1557b620c089c8871e5c3f9507c96a8aaf4f81cf6d3b8fe7b83fd170fcd9cd7eb2d404d6ee0cde92e4ec298817a0cb329bbfc0217525a1bd3745783bf909c56e +SHA512 (uv-0.9.4.tar.gz) = ae11c1e777e3d0e036f0a665e2edfb9a4b5b50a9e107d795113b626bc16d406d3fca12e8a133185e54279b2a64f8e3d276372cefc9a96b2ac5f1ed0ece2c10b0 SHA512 (rs-async-zip-285e48742b74ab109887d62e1ae79e7c15fd4878.tar.gz) = d6dd699f43ca6e23a4c8abb8673b37d3983081a8c78545492ea3c1d0b35e3a491277c341df6dd64fb7efaec3b23eb479dede99e9b41016b5504d1a6dc9fbc617 SHA512 (pubgrub-d8efd77673c9a90792da9da31b6c0da7ea8a324b.tar.gz) = 3a2a146fd9d9b458dced6563a1f5674e81e8ba36de11be5c189b0c76b6ede6f32957f48fb0978b97b0892768822c6c4c32c6870141e8fc1ea5d8b8f7d8b5b464 SHA512 (reqwest-middleware-7650ed76215a962a96d94a79be71c27bffde7ab2.tar.gz) = 904fd652b0f3ecc90eee571d5488aba977dee643a1d6267e2fda264fa4c7b4bfcfacd4d5a23287dfb710ecc82d667479fcd0c48166259c2368df0e8b0c9d6707 diff --git a/uv.spec b/uv.spec index a272ec7..d90d23f 100644 --- a/uv.spec +++ b/uv.spec @@ -11,7 +11,7 @@ %bcond it %{undefined el10} Name: uv -Version: 0.9.3 +Version: 0.9.4 Release: %autorelease Summary: An extremely fast Python package installer and resolver, written in Rust From 486b45213fc97a852f524e3ce41900f8191685db Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Fri, 24 Oct 2025 00:16:12 +0100 Subject: [PATCH 100/214] Update to 0.9.5 (close RHBZ#2402923) --- .gitignore | 1 + sources | 2 +- uv.spec | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 6f50d7d..f27cfae 100644 --- a/.gitignore +++ b/.gitignore @@ -164,3 +164,4 @@ /uv-0.9.2.tar.gz /uv-0.9.3.tar.gz /uv-0.9.4.tar.gz +/uv-0.9.5.tar.gz diff --git a/sources b/sources index a3b2cd7..ae5744b 100644 --- a/sources +++ b/sources @@ -1,4 +1,4 @@ -SHA512 (uv-0.9.4.tar.gz) = ae11c1e777e3d0e036f0a665e2edfb9a4b5b50a9e107d795113b626bc16d406d3fca12e8a133185e54279b2a64f8e3d276372cefc9a96b2ac5f1ed0ece2c10b0 +SHA512 (uv-0.9.5.tar.gz) = 99272fd780f867c6d8cb84635845c46d23afce765fd5fa56a92e30580318cf86aa7a413ddbc8a4bcef5e3f7c4032c6af10bda2f422bc5f082181ae77cd84a3e6 SHA512 (rs-async-zip-285e48742b74ab109887d62e1ae79e7c15fd4878.tar.gz) = d6dd699f43ca6e23a4c8abb8673b37d3983081a8c78545492ea3c1d0b35e3a491277c341df6dd64fb7efaec3b23eb479dede99e9b41016b5504d1a6dc9fbc617 SHA512 (pubgrub-d8efd77673c9a90792da9da31b6c0da7ea8a324b.tar.gz) = 3a2a146fd9d9b458dced6563a1f5674e81e8ba36de11be5c189b0c76b6ede6f32957f48fb0978b97b0892768822c6c4c32c6870141e8fc1ea5d8b8f7d8b5b464 SHA512 (reqwest-middleware-7650ed76215a962a96d94a79be71c27bffde7ab2.tar.gz) = 904fd652b0f3ecc90eee571d5488aba977dee643a1d6267e2fda264fa4c7b4bfcfacd4d5a23287dfb710ecc82d667479fcd0c48166259c2368df0e8b0c9d6707 diff --git a/uv.spec b/uv.spec index d90d23f..e354474 100644 --- a/uv.spec +++ b/uv.spec @@ -11,7 +11,7 @@ %bcond it %{undefined el10} Name: uv -Version: 0.9.4 +Version: 0.9.5 Release: %autorelease Summary: An extremely fast Python package installer and resolver, written in Rust From 458712eb733529b3ed8d3891ea63a3ead8761842 Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Sat, 25 Oct 2025 16:01:43 +0100 Subject: [PATCH 101/214] Remove the TODO about generating man pages MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This would be fussy and complicated, and it’s probably not happening. [skip changelog] --- uv.spec | 7 ------- 1 file changed, 7 deletions(-) diff --git a/uv.spec b/uv.spec index e354474..e30ec12 100644 --- a/uv.spec +++ b/uv.spec @@ -656,13 +656,6 @@ done %{cargo_license_summary} %{cargo_license} > LICENSE.dependencies -# TODO: Since the --help output interacts well with help2man, use it to -# generate man pages: ideally, a man page for each (sub)command -# cross-referenced appropriately. (There are many subcommands, and this would -# be tedious to do manually.) This should be feasible with the --include option -# to help2man and a bit of scripting, but we choose to ship the initial package -# without man pages and defer this to a later effort. - %install %pyproject_install From eb5c599a74ef14d9e67dd452c76e3c4c54ee2a6a Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Sat, 25 Oct 2025 10:39:06 +0100 Subject: [PATCH 102/214] Skip a test that is flaky on ppc64le --- uv.spec | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/uv.spec b/uv.spec index e30ec12..0d626e9 100644 --- a/uv.spec +++ b/uv.spec @@ -724,6 +724,10 @@ skip="${skip-} --skip python_list::python_list_downloads" # Weirdly, the error message lacks the expected hint. This might be worth # reporting upstream at some point, but it is not a serious issue. skip="${skip-} --skip python_pin::python_pin_resolve" +# Test registry_client::tests::test_redirect_to_server_with_credentials is +# flaky on ppc64le +# https://github.com/astral-sh/uv/issues/16447 +skip="${skip-} --skip registry_client::tests::test_redirect_to_server_with_credentials" %endif # TODO: Each of these has stdout something like this: # cpython-3.12.11-linux-x86_64-gnu /tmp/uv/tests/.tmp0dvvpZ/python/3.12/python3 -> /usr/bin/python3.12 From 44721b08e3bcc41aba660585248b583678a23438 Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Sat, 25 Oct 2025 13:43:33 +0100 Subject: [PATCH 103/214] Remove python_list::python_list* test skips that no longer fail --- uv.spec | 18 ++++-------------- 1 file changed, 4 insertions(+), 14 deletions(-) diff --git a/uv.spec b/uv.spec index 0d626e9..684844c 100644 --- a/uv.spec +++ b/uv.spec @@ -721,26 +721,16 @@ skip="${skip-} --skip python_find::python_find_prerelease_with_patch_request" skip="${skip-} --skip python_list::python_list_downloads" %endif %ifarch %{power64} -# Weirdly, the error message lacks the expected hint. This might be worth -# reporting upstream at some point, but it is not a serious issue. +# The error message lacks the expected hint: +# hint: A managed Python download is available for PyPy, but Python downloads +# are set to 'never' +# This might be worth reporting upstream, but is not a serious issue. skip="${skip-} --skip python_pin::python_pin_resolve" # Test registry_client::tests::test_redirect_to_server_with_credentials is # flaky on ppc64le # https://github.com/astral-sh/uv/issues/16447 skip="${skip-} --skip registry_client::tests::test_redirect_to_server_with_credentials" %endif -# TODO: Each of these has stdout something like this: -# cpython-3.12.11-linux-x86_64-gnu /tmp/uv/tests/.tmp0dvvpZ/python/3.12/python3 -> /usr/bin/python3.12 -# cpython-3.11.13-linux-x86_64-gnu /tmp/uv/tests/.tmp0dvvpZ/python/3.11/python3 -> /usr/bin/python3.11 -# … and a difference in snapshots like this: -# 3 │-cpython-3.12.[X]-[PLATFORM] [PYTHON-3.12] -# 3 │+cpython-3.12.[X]-[PLATFORM] [PYTHON-3.12] -> [PYTHON-BIN-3.11]python3.12 -# Check whether we can reproduce this in a git checkout and/or whether we -# should report it upstream. -skip="${skip-} --skip python_list::python_list" -skip="${skip-} --skip python_list::python_list_duplicate_path_entries" -skip="${skip-} --skip python_list::python_list_pin" -skip="${skip-} --skip python_list::python_list_venv" # This requires specific Python interpreter versions (so it would be grouped # with the conditionalized integration tests above), but it also requires From fd2b3672bb9e40a2d835172d758fc7163c1974e7 Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Sat, 25 Oct 2025 13:48:24 +0100 Subject: [PATCH 104/214] Consolidate ppc64le/s390x skips for the same test --- uv.spec | 15 ++------------- 1 file changed, 2 insertions(+), 13 deletions(-) diff --git a/uv.spec b/uv.spec index 684844c..bb3bddf 100644 --- a/uv.spec +++ b/uv.spec @@ -726,6 +726,8 @@ skip="${skip-} --skip python_list::python_list_downloads" # are set to 'never' # This might be worth reporting upstream, but is not a serious issue. skip="${skip-} --skip python_pin::python_pin_resolve" +%endif +%ifarch %{power64} s390x # Test registry_client::tests::test_redirect_to_server_with_credentials is # flaky on ppc64le # https://github.com/astral-sh/uv/issues/16447 @@ -781,19 +783,6 @@ skip="${skip-} --skip tests::built_by_uv_building" # https://github.com/astral-sh/uv/issues/14785 skip="${skip-} --skip version::version_get_fallback_unmanaged_json" -%ifarch s390x -# ---- registry_client::tests::test_redirect_to_server_with_credentials stdout ---- -# thread 'registry_client::tests::test_redirect_to_server_with_credentials' -# panicked at crates/uv-client/src/registry_client.rs:1292:9: -# assertion `left == right` failed: Requests should fail if credentials are missing -# left: 200 -# right: 401 -# Ideally, we would report this upstream, but "cargo test -p uv-client --lib" -# does not fail in a git checkout in an emulated s390x chroot, so it’s -# difficult to do so usefully. More information is needed. -skip="${skip-} --skip registry_client::tests::test_redirect_to_server_with_credentials" -%endif - %cargo_test -- -- --exact ${skip-} %endif From afc983afed84072704c5a6e0f57948b5381edc1b Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Sat, 25 Oct 2025 15:59:24 +0100 Subject: [PATCH 105/214] Remove a few more now-unnecessary test skips --- uv.spec | 25 +++++-------------------- 1 file changed, 5 insertions(+), 20 deletions(-) diff --git a/uv.spec b/uv.spec index bb3bddf..465186a 100644 --- a/uv.spec +++ b/uv.spec @@ -749,40 +749,25 @@ skip="${skip-} --skip lock::tests::missing_dependency_source_version_unambiguous skip="${skip-} --skip lock::tests::missing_dependency_version_unambiguous" %endif -# Trivial difference in snapshots: error message output differs slightly, -# presumably due to slightly different dependency versions. -skip="${skip-} --skip metadata::requires_dist::test::invalid_syntax" - -# TODO: What’s going wrong here? It doesn’t seem serious… -# thread 'middleware::tests::test_tracing_url' panicked at -# crates/uv-auth/src/middleware.rs:2095:5: -# Could not set global tracing subscriber: SetGlobalDefaultError("a global -# default trace dispatcher has already been set") -skip="${skip-} --skip middleware::tests::test_tracing_url" - # Upstream is trying to ensure platform-independent byte-for-byte deterministic # wheels. This isn’t quite working out. It would be nice to understand this, # but this kind of reproducibility can be brittle, and there are many possible # innocuous reasons behind it. # ---- tests::built_by_uv_building stdout ---- # ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Snapshot Summary ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ -# Snapshot: built_by_uv_building-6 -# Source: crates/uv-build-backend/src/lib.rs:516 +# Snapshot: built_by_uv_building-4 +# Source: crates/uv-build-backend/src/lib.rs:652 # ──────────────────────────────────────────────────────────────────────────────── -# Expression: format!("{:x}", sha2::Sha256::digest(&index_wheel_contents)) +# Expression: format!("{:x}", sha2::Sha256::digest(fs_err::read(&wheel_path).unwrap())) # ──────────────────────────────────────────────────────────────────────────────── # -old snapshot # +new results # ────────────┬─────────────────────────────────────────────────────────────────── -# 0 │-ac3f68ac448023bca26de689d80401bff57f764396ae802bf4666234740ffbe3 -# 0 │+7ba9bfcaf3c0354c2cb8578922a00726b1ff6bdfa85fcb738bd45978fa86fd0a +# 1 │-319afb04e87caf894b1362b508ec745253c6d241423ea59021694d2015e821da +# 1 │+007327b23085c5debf31fb44df7a2294b5882aefdba960bdd68fab665db12c5a # ────────────┴─────────────────────────────────────────────────────────────────── skip="${skip-} --skip tests::built_by_uv_building" -# Since 0.8.0, version_get_fallback_unmanaged_json fails outside of a git checkout -# https://github.com/astral-sh/uv/issues/14785 -skip="${skip-} --skip version::version_get_fallback_unmanaged_json" - %cargo_test -- -- --exact ${skip-} %endif From 6757505d3d59f51461a2fe655ed198ccf0747376 Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Wed, 29 Oct 2025 21:37:58 +0000 Subject: [PATCH 106/214] Update to 0.9.6 (close RHBZ#2407283) --- .gitignore | 2 ++ sources | 4 ++-- uv.spec | 15 +++++++++++---- 3 files changed, 15 insertions(+), 6 deletions(-) diff --git a/.gitignore b/.gitignore index f27cfae..5f2d130 100644 --- a/.gitignore +++ b/.gitignore @@ -165,3 +165,5 @@ /uv-0.9.3.tar.gz /uv-0.9.4.tar.gz /uv-0.9.5.tar.gz +/uv-0.9.6.tar.gz +/rs-async-zip-f6a41d32866003c868d03ed791a89c794f61b703.tar.gz diff --git a/sources b/sources index ae5744b..78a48c1 100644 --- a/sources +++ b/sources @@ -1,5 +1,5 @@ -SHA512 (uv-0.9.5.tar.gz) = 99272fd780f867c6d8cb84635845c46d23afce765fd5fa56a92e30580318cf86aa7a413ddbc8a4bcef5e3f7c4032c6af10bda2f422bc5f082181ae77cd84a3e6 -SHA512 (rs-async-zip-285e48742b74ab109887d62e1ae79e7c15fd4878.tar.gz) = d6dd699f43ca6e23a4c8abb8673b37d3983081a8c78545492ea3c1d0b35e3a491277c341df6dd64fb7efaec3b23eb479dede99e9b41016b5504d1a6dc9fbc617 +SHA512 (uv-0.9.6.tar.gz) = 48e8271ab5efc72b1124e1b6f4e4d5f895bce64d105d81317257a7d017d919edd55e1084ec1de504eb6959cb70f475d6f3ea23fd8fe708272e79701b7684d93a +SHA512 (rs-async-zip-f6a41d32866003c868d03ed791a89c794f61b703.tar.gz) = 8eb19bc6780aff9dd0084df81fe3191b4cd7cd051cbe085b24bb237229af6aa94db1fc88bdc386866d192b0c15e148e3bc014b2f5d091833852be09848fcdda3 SHA512 (pubgrub-d8efd77673c9a90792da9da31b6c0da7ea8a324b.tar.gz) = 3a2a146fd9d9b458dced6563a1f5674e81e8ba36de11be5c189b0c76b6ede6f32957f48fb0978b97b0892768822c6c4c32c6870141e8fc1ea5d8b8f7d8b5b464 SHA512 (reqwest-middleware-7650ed76215a962a96d94a79be71c27bffde7ab2.tar.gz) = 904fd652b0f3ecc90eee571d5488aba977dee643a1d6267e2fda264fa4c7b4bfcfacd4d5a23287dfb710ecc82d667479fcd0c48166259c2368df0e8b0c9d6707 SHA512 (tl-6e25b2ee2513d75385101a8ff9f591ef51f314ec.tar.gz) = 4abbc4240ed129c92da8d616e27a6df0f24cdc85a0803acfdae588ca91f9e5b8d482e3ac88b2e657ff68917b1b43cef1e7ef3c887f624659b231fa5a13fcae68 diff --git a/uv.spec b/uv.spec index 465186a..c188336 100644 --- a/uv.spec +++ b/uv.spec @@ -11,7 +11,7 @@ %bcond it %{undefined el10} Name: uv -Version: 0.9.5 +Version: 0.9.6 Release: %autorelease Summary: An extremely fast Python package installer and resolver, written in Rust @@ -149,9 +149,9 @@ Source1: uv.toml # We therefore bundle the fork as prescribed in # https://docs.fedoraproject.org/en-US/packaging-guidelines/Rust/#_replacing_git_dependencies %global async_zip_git https://github.com/astral-sh/rs-async-zip -%global async_zip_rev 285e48742b74ab109887d62e1ae79e7c15fd4878 +%global async_zip_rev f6a41d32866003c868d03ed791a89c794f61b703 %global async_zip_baseversion 0.0.17 -%global async_zip_snapdate 20250807 +%global async_zip_snapdate 20251014 Source100: %{async_zip_git}/archive/%{async_zip_rev}/rs-async-zip-%{async_zip_rev}.tar.gz # For the foreseeable future, uv must use a fork of pubgrub (and the @@ -618,7 +618,14 @@ tomcli set crates/uv/Cargo.toml del dependencies.tracing-durations-export # # wanted: 0.2.0 # # currently packaged: 0.1.2 # # https://bugzilla.redhat.com/show_bug.cgi?id=1234567 -# tomcli set crates/uv/Cargo.toml str dev-dependencies.foocrate.version 0.1.2 +# tomcli set Cargo.toml str workspace.dependencies.foocrate.version 0.1.2 + +# etcetera +# wanted: 0.11.0 +# currently packaged: 0.10.0 +# https://bugzilla.redhat.com/show_bug.cgi?id=2406801 +tomcli set Cargo.toml str workspace.dependencies.etcetera.version \ + '>=0.10.0, <0.12.0' %cargo_prep From 29c6cf3b707f788fa4b4f626e60cc182ce4724a7 Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Fri, 31 Oct 2025 06:28:45 +0000 Subject: [PATCH 107/214] Update to 0.9.7 (close RHBZ#2408776) --- .gitignore | 1 + sources | 2 +- uv.spec | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 5f2d130..d09ab5e 100644 --- a/.gitignore +++ b/.gitignore @@ -167,3 +167,4 @@ /uv-0.9.5.tar.gz /uv-0.9.6.tar.gz /rs-async-zip-f6a41d32866003c868d03ed791a89c794f61b703.tar.gz +/uv-0.9.7.tar.gz diff --git a/sources b/sources index 78a48c1..f7ed181 100644 --- a/sources +++ b/sources @@ -1,4 +1,4 @@ -SHA512 (uv-0.9.6.tar.gz) = 48e8271ab5efc72b1124e1b6f4e4d5f895bce64d105d81317257a7d017d919edd55e1084ec1de504eb6959cb70f475d6f3ea23fd8fe708272e79701b7684d93a +SHA512 (uv-0.9.7.tar.gz) = 4a9c1beda1c53a4658c657c0e20f6bd3865e034ae87ce7a9e02f0b0125785f46e316f8e95aa3ce24b3c71a6e6d8011dea55bbe9a61e48ad11c684b09804afa9d SHA512 (rs-async-zip-f6a41d32866003c868d03ed791a89c794f61b703.tar.gz) = 8eb19bc6780aff9dd0084df81fe3191b4cd7cd051cbe085b24bb237229af6aa94db1fc88bdc386866d192b0c15e148e3bc014b2f5d091833852be09848fcdda3 SHA512 (pubgrub-d8efd77673c9a90792da9da31b6c0da7ea8a324b.tar.gz) = 3a2a146fd9d9b458dced6563a1f5674e81e8ba36de11be5c189b0c76b6ede6f32957f48fb0978b97b0892768822c6c4c32c6870141e8fc1ea5d8b8f7d8b5b464 SHA512 (reqwest-middleware-7650ed76215a962a96d94a79be71c27bffde7ab2.tar.gz) = 904fd652b0f3ecc90eee571d5488aba977dee643a1d6267e2fda264fa4c7b4bfcfacd4d5a23287dfb710ecc82d667479fcd0c48166259c2368df0e8b0c9d6707 diff --git a/uv.spec b/uv.spec index c188336..559feb3 100644 --- a/uv.spec +++ b/uv.spec @@ -11,7 +11,7 @@ %bcond it %{undefined el10} Name: uv -Version: 0.9.6 +Version: 0.9.7 Release: %autorelease Summary: An extremely fast Python package installer and resolver, written in Rust From 8b17322558625f286922b1b9527ff7b7dfb6fa43 Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Sun, 2 Nov 2025 10:07:25 +0000 Subject: [PATCH 108/214] Allow spdx 0.12 --- uv.spec | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/uv.spec b/uv.spec index 559feb3..584006c 100644 --- a/uv.spec +++ b/uv.spec @@ -610,9 +610,8 @@ tomcli set crates/uv/Cargo.toml del features.self-update tomcli set crates/uv/Cargo.toml del features.tracing-durations-export tomcli set crates/uv/Cargo.toml del dependencies.tracing-durations-export -# Loosen some version bounds that were aggressively updated upstream by the -# renovate bot. We retain this comment and the following example even when -# there are currently no dependencies that need to be adjusted. +# We retain the following example even when there are currently no dependencies +# that need to be adjusted. # # # foocrate # # wanted: 0.2.0 @@ -627,6 +626,15 @@ tomcli set crates/uv/Cargo.toml del dependencies.tracing-durations-export tomcli set Cargo.toml str workspace.dependencies.etcetera.version \ '>=0.10.0, <0.12.0' +# spdx +# wanted: 0.10.6 +# currently packaged: 0.10.9 (but we want to update to 0.12) +# https://bugzilla.redhat.com/show_bug.cgi?id=2387258 +# Update the spdx dependency to version 0.12 +# https://github.com/astral-sh/uv/pull/16552 +tomcli set Cargo.toml str workspace.dependencies.spdx.version \ + '>=0.10.6, <0.13.0' + %cargo_prep From b94e085e77602f2634c8a8b4f4908ce478d33296 Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Thu, 6 Nov 2025 14:12:02 +0000 Subject: [PATCH 109/214] Lower maximum CPUs a bit more MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Keep trying to avoid “too many open files” on 192-core builders. --- uv.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/uv.spec b/uv.spec index 584006c..d25c8ee 100644 --- a/uv.spec +++ b/uv.spec @@ -226,7 +226,7 @@ ExcludeArch: %{ix86} # Compilation may fail on builders with very many cores (e.g. 192 cores) due to # “too many open files.” Try to keep the files/core ratio from getting too low. -%global _smp_ncpus_max 128 +%global _smp_ncpus_max 96 BuildRequires: cargo-rpm-macros >= 24 BuildRequires: rust2rpm-helper From 387c849a4ca2fdc5e6e3fe8a655471a346e5c770 Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Thu, 6 Nov 2025 22:56:05 +0000 Subject: [PATCH 110/214] Drop conditionals for F41, soon to be EOL --- uv.spec | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/uv.spec b/uv.spec index d25c8ee..c408e9c 100644 --- a/uv.spec +++ b/uv.spec @@ -234,10 +234,6 @@ BuildRequires: tomcli BuildRequires: python3-devel %if %{with check} && %{with it} # See trove classifiers in pyproject.toml for supported Pythons. -%if %{defined fc41} -# https://fedoraproject.org/wiki/Changes/RetirePython3.8 -BuildRequires: /usr/bin/python3.8 -%endif BuildRequires: /usr/bin/python3.9 BuildRequires: /usr/bin/python3.10 BuildRequires: /usr/bin/python3.11 @@ -756,7 +752,7 @@ skip="${skip-} --skip registry_client::tests::test_redirect_to_server_with_crede # https://github.com/astral-sh/uv/pull/13699#issuecomment-2916115588. skip="${skip-} --skip remote_metadata::remote_metadata_with_and_without_cache" -%if %[ %{defined fc41} || %{defined el10} ] +%if %{defined el10} # Trivial difference in snapshots: packages appear in a different order. skip="${skip-} --skip lock::tests::missing_dependency_source_unambiguous" skip="${skip-} --skip lock::tests::missing_dependency_version_dynamic" From 846450334621962f7643f61188af27f00f5dbefa Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Fri, 7 Nov 2025 23:16:46 +0000 Subject: [PATCH 111/214] Update to 0.9.8 (close RHBZ#2413462) --- .gitignore | 1 + sources | 2 +- uv.spec | 6 +++--- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/.gitignore b/.gitignore index d09ab5e..d201184 100644 --- a/.gitignore +++ b/.gitignore @@ -168,3 +168,4 @@ /uv-0.9.6.tar.gz /rs-async-zip-f6a41d32866003c868d03ed791a89c794f61b703.tar.gz /uv-0.9.7.tar.gz +/uv-0.9.8.tar.gz diff --git a/sources b/sources index f7ed181..5572604 100644 --- a/sources +++ b/sources @@ -1,4 +1,4 @@ -SHA512 (uv-0.9.7.tar.gz) = 4a9c1beda1c53a4658c657c0e20f6bd3865e034ae87ce7a9e02f0b0125785f46e316f8e95aa3ce24b3c71a6e6d8011dea55bbe9a61e48ad11c684b09804afa9d +SHA512 (uv-0.9.8.tar.gz) = be46be8cfebc5d3676980eb3a4660d36b5dc68d54c584a54b7fffa66b204bb3bc105cd021214a0fc9e16251b36951f6761855f2f94932c68211623dfdb1d2775 SHA512 (rs-async-zip-f6a41d32866003c868d03ed791a89c794f61b703.tar.gz) = 8eb19bc6780aff9dd0084df81fe3191b4cd7cd051cbe085b24bb237229af6aa94db1fc88bdc386866d192b0c15e148e3bc014b2f5d091833852be09848fcdda3 SHA512 (pubgrub-d8efd77673c9a90792da9da31b6c0da7ea8a324b.tar.gz) = 3a2a146fd9d9b458dced6563a1f5674e81e8ba36de11be5c189b0c76b6ede6f32957f48fb0978b97b0892768822c6c4c32c6870141e8fc1ea5d8b8f7d8b5b464 SHA512 (reqwest-middleware-7650ed76215a962a96d94a79be71c27bffde7ab2.tar.gz) = 904fd652b0f3ecc90eee571d5488aba977dee643a1d6267e2fda264fa4c7b4bfcfacd4d5a23287dfb710ecc82d667479fcd0c48166259c2368df0e8b0c9d6707 diff --git a/uv.spec b/uv.spec index c408e9c..bce4f0a 100644 --- a/uv.spec +++ b/uv.spec @@ -11,7 +11,7 @@ %bcond it %{undefined el10} Name: uv -Version: 0.9.7 +Version: 0.9.8 Release: %autorelease Summary: An extremely fast Python package installer and resolver, written in Rust @@ -623,13 +623,13 @@ tomcli set Cargo.toml str workspace.dependencies.etcetera.version \ '>=0.10.0, <0.12.0' # spdx -# wanted: 0.10.6 +# wanted: 0.12.0 # currently packaged: 0.10.9 (but we want to update to 0.12) # https://bugzilla.redhat.com/show_bug.cgi?id=2387258 # Update the spdx dependency to version 0.12 # https://github.com/astral-sh/uv/pull/16552 tomcli set Cargo.toml str workspace.dependencies.spdx.version \ - '>=0.10.6, <0.13.0' + '>=0.10.9, <0.13.0' %cargo_prep From 6d2c706eb8fd0e8fa4014ecf77b36cf2a4027385 Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Sat, 15 Nov 2025 10:41:54 +0000 Subject: [PATCH 112/214] Update to 0.9.9 --- .gitignore | 1 + sources | 3 +-- uv.spec | 38 ++++++-------------------------------- 3 files changed, 8 insertions(+), 34 deletions(-) diff --git a/.gitignore b/.gitignore index d201184..6e8c980 100644 --- a/.gitignore +++ b/.gitignore @@ -169,3 +169,4 @@ /rs-async-zip-f6a41d32866003c868d03ed791a89c794f61b703.tar.gz /uv-0.9.7.tar.gz /uv-0.9.8.tar.gz +/uv-0.9.9.tar.gz diff --git a/sources b/sources index 5572604..fbc187c 100644 --- a/sources +++ b/sources @@ -1,5 +1,4 @@ -SHA512 (uv-0.9.8.tar.gz) = be46be8cfebc5d3676980eb3a4660d36b5dc68d54c584a54b7fffa66b204bb3bc105cd021214a0fc9e16251b36951f6761855f2f94932c68211623dfdb1d2775 +SHA512 (uv-0.9.9.tar.gz) = ec44f1c6f8fe30e2a23e5d1bd871ee21f1cff3e84842133d9388f8f0f6c48e399600a386d77c27e562598fdf9bd4dfc2b7a655b295f7c8925352828c02023eea SHA512 (rs-async-zip-f6a41d32866003c868d03ed791a89c794f61b703.tar.gz) = 8eb19bc6780aff9dd0084df81fe3191b4cd7cd051cbe085b24bb237229af6aa94db1fc88bdc386866d192b0c15e148e3bc014b2f5d091833852be09848fcdda3 SHA512 (pubgrub-d8efd77673c9a90792da9da31b6c0da7ea8a324b.tar.gz) = 3a2a146fd9d9b458dced6563a1f5674e81e8ba36de11be5c189b0c76b6ede6f32957f48fb0978b97b0892768822c6c4c32c6870141e8fc1ea5d8b8f7d8b5b464 SHA512 (reqwest-middleware-7650ed76215a962a96d94a79be71c27bffde7ab2.tar.gz) = 904fd652b0f3ecc90eee571d5488aba977dee643a1d6267e2fda264fa4c7b4bfcfacd4d5a23287dfb710ecc82d667479fcd0c48166259c2368df0e8b0c9d6707 -SHA512 (tl-6e25b2ee2513d75385101a8ff9f591ef51f314ec.tar.gz) = 4abbc4240ed129c92da8d616e27a6df0f24cdc85a0803acfdae588ca91f9e5b8d482e3ac88b2e657ff68917b1b43cef1e7ef3c887f624659b231fa5a13fcae68 diff --git a/uv.spec b/uv.spec index bce4f0a..3f954e3 100644 --- a/uv.spec +++ b/uv.spec @@ -11,7 +11,7 @@ %bcond it %{undefined el10} Name: uv -Version: 0.9.8 +Version: 0.9.9 Release: %autorelease Summary: An extremely fast Python package installer and resolver, written in Rust @@ -78,7 +78,6 @@ Summary: An extremely fast Python package installer and resolver, written # - async_zip, Source100, is MIT. # - pubgrub/version-ranges, Source200, is MPL-2.0. # - reqwest-middleware/reqwest-retry, Source300, is (MIT OR Apache-2.0). -# - tl, Source400, is MIT. # # (Apache-2.0 OR MIT) AND BSD-3-Clause # (MIT OR Apache-2.0) AND Unicode-3.0 @@ -181,21 +180,6 @@ Source200: %{pubgrub_git}/archive/%{pubgrub_rev}/pubgrub-%{pubgrub_rev}.tar %global reqwest_retry_baseversion 0.7.0 Source300: %{reqwest_middleware_git}/archive/%{reqwest_middleware_rev}/reqwest-middleware-%{reqwest_middleware_rev}.tar.gz -# For the time being, uv must use a fork of tl. See: -# Path back to using released tl crate dependency? -# https://github.com/astral-sh/uv/issues/6687 -# It should be possible to stop forking and bundling if tl upstream merges and -# releases the following fix: -# Avoid truncating URLs in unquoted hrefs -# https://github.com/y21/tl/pull/69 -# We therefore bundle the fork as prescribed in -# https://docs.fedoraproject.org/en-US/packaging-guidelines/Rust/#_replacing_git_dependencies -%global tl_git https://github.com/astral-sh/tl -%global tl_rev 6e25b2ee2513d75385101a8ff9f591ef51f314ec -%global tl_baseversion 0.7.8 -%global tl_snapdate 20240825 -Source400: %{tl_git}/archive/%{tl_rev}/tl-%{tl_rev}.tar.gz - # Downstream-only: Always find the system-wide uv executable # See discussion in # Should uv.find_uv_bin() be able to find /usr/bin/uv? @@ -261,10 +245,6 @@ Provides: bundled(crate(version-ranges)) = %{version_ranges_version} %global reqwest_retry_version %{reqwest_retry_baseversion}^%{reqwest_middleware_snapinfo} Provides: bundled(crate(reqwest-middleware)) = %{reqwest_middleware_version} Provides: bundled(crate(reqwest-retry)) = %{reqwest_retry_version} -# This is a fork of tl; see the notes about Source400. -%global tl_snapinfo %{tl_snapdate}git%{sub %{tl_rev} 1 7} -%global tl_version %{tl_baseversion}^%{tl_snapinfo} -Provides: bundled(crate(tl)) = %{tl_version} # In https://github.com/astral-sh/uv/issues/5588#issuecomment-2257823242, # upstream writes “These have diverged significantly and the upstream versions @@ -483,17 +463,6 @@ install -t LICENSE.bundled/reqwest-retry -D -p -m 0644 \ # We do not need the reqwest-tracing crate. rm -rv '../reqwest-middleware-%{reqwest_middleware_rev}/reqwest-tracing' -# See comments above Source400: -%setup -q -T -D -b 400 -n uv-%{version} -ln -s '../../tl-%{tl_rev}' crates/tl -git2path workspace.dependencies.tl crates/tl -pushd crates/tl -%autopatch -p1 -m400 -M499 -popd -install -t LICENSE.bundled/tl -D -p -m 0644 crates/tl/LICENSE -# Drop a benchmark-only dev-dependency. -tomcli set crates/tl/Cargo.toml del dev-dependencies.criterion - # Collect license files of vendored dependencies in the main source archive install -t LICENSE.bundled/packaging -D -p -m 0644 \ crates/uv-python/python/packaging/LICENSE.* @@ -779,6 +748,11 @@ skip="${skip-} --skip lock::tests::missing_dependency_version_unambiguous" # ────────────┴─────────────────────────────────────────────────────────────────── skip="${skip-} --skip tests::built_by_uv_building" +# The list of HTTP status codes contains 103, but the expected list from the +# snapshot doesn’t. This seems like a trivial discrepancy, probably due to a +# dependency version differing from Cargo.lock. +skip="${skip-} --skip base_client::tests::retried_status_codes" + %cargo_test -- -- --exact ${skip-} %endif From e98e2c1d0e5b27fc98bb3c924912c9809154daf3 Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Wed, 3 Dec 2025 10:34:43 +0000 Subject: [PATCH 113/214] Skip flaky test_redirect_to_server_with_credentials on *all* arches --- uv.spec | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/uv.spec b/uv.spec index 3f954e3..99b76b9 100644 --- a/uv.spec +++ b/uv.spec @@ -707,12 +707,10 @@ skip="${skip-} --skip python_list::python_list_downloads" # This might be worth reporting upstream, but is not a serious issue. skip="${skip-} --skip python_pin::python_pin_resolve" %endif -%ifarch %{power64} s390x # Test registry_client::tests::test_redirect_to_server_with_credentials is -# flaky on ppc64le +# flaky # https://github.com/astral-sh/uv/issues/16447 skip="${skip-} --skip registry_client::tests::test_redirect_to_server_with_credentials" -%endif # This requires specific Python interpreter versions (so it would be grouped # with the conditionalized integration tests above), but it also requires From d782dc2ac3d86f35d238afe14eea201bb6d51abd Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Fri, 5 Dec 2025 11:14:45 +0000 Subject: [PATCH 114/214] Drop explicit BR: python3-devel This is implicit in %pyproject_buildrequires. [skip changelog] --- uv.spec | 1 - 1 file changed, 1 deletion(-) diff --git a/uv.spec b/uv.spec index 99b76b9..ebd15b7 100644 --- a/uv.spec +++ b/uv.spec @@ -215,7 +215,6 @@ ExcludeArch: %{ix86} BuildRequires: cargo-rpm-macros >= 24 BuildRequires: rust2rpm-helper BuildRequires: tomcli -BuildRequires: python3-devel %if %{with check} && %{with it} # See trove classifiers in pyproject.toml for supported Pythons. BuildRequires: /usr/bin/python3.9 From 51113a9b9178b28f10d72963171eda55f55877a7 Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Fri, 5 Dec 2025 11:23:07 +0000 Subject: [PATCH 115/214] No longer allow etcetera version 0.10 --- uv.spec | 7 ------- 1 file changed, 7 deletions(-) diff --git a/uv.spec b/uv.spec index ebd15b7..9451197 100644 --- a/uv.spec +++ b/uv.spec @@ -583,13 +583,6 @@ tomcli set crates/uv/Cargo.toml del dependencies.tracing-durations-export # # https://bugzilla.redhat.com/show_bug.cgi?id=1234567 # tomcli set Cargo.toml str workspace.dependencies.foocrate.version 0.1.2 -# etcetera -# wanted: 0.11.0 -# currently packaged: 0.10.0 -# https://bugzilla.redhat.com/show_bug.cgi?id=2406801 -tomcli set Cargo.toml str workspace.dependencies.etcetera.version \ - '>=0.10.0, <0.12.0' - # spdx # wanted: 0.12.0 # currently packaged: 0.10.9 (but we want to update to 0.12) From 86173730572c3d25a33f7904e46d424e0633f46f Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Fri, 5 Dec 2025 11:25:27 +0000 Subject: [PATCH 116/214] Explicitly expect license files NOT handled in pyproject_files [skip changelog] --- uv.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/uv.spec b/uv.spec index 9451197..6c451ae 100644 --- a/uv.spec +++ b/uv.spec @@ -631,7 +631,7 @@ done %install %pyproject_install -%pyproject_save_files uv +%pyproject_save_files -L uv if [ '%{python3_sitearch}' != '%{python3_sitelib}' ] then From 68bac6ee4c88a9cea68d1b5659ed1dc55bf42e60 Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Fri, 5 Dec 2025 11:28:05 +0000 Subject: [PATCH 117/214] Update to 0.9.10 --- .gitignore | 1 + sources | 5 +- uv.spec | 148 ++++------------------------------------------------- 3 files changed, 11 insertions(+), 143 deletions(-) diff --git a/.gitignore b/.gitignore index 6e8c980..676dbb4 100644 --- a/.gitignore +++ b/.gitignore @@ -170,3 +170,4 @@ /uv-0.9.7.tar.gz /uv-0.9.8.tar.gz /uv-0.9.9.tar.gz +/uv-0.9.10.tar.gz diff --git a/sources b/sources index fbc187c..5d5d4ed 100644 --- a/sources +++ b/sources @@ -1,4 +1 @@ -SHA512 (uv-0.9.9.tar.gz) = ec44f1c6f8fe30e2a23e5d1bd871ee21f1cff3e84842133d9388f8f0f6c48e399600a386d77c27e562598fdf9bd4dfc2b7a655b295f7c8925352828c02023eea -SHA512 (rs-async-zip-f6a41d32866003c868d03ed791a89c794f61b703.tar.gz) = 8eb19bc6780aff9dd0084df81fe3191b4cd7cd051cbe085b24bb237229af6aa94db1fc88bdc386866d192b0c15e148e3bc014b2f5d091833852be09848fcdda3 -SHA512 (pubgrub-d8efd77673c9a90792da9da31b6c0da7ea8a324b.tar.gz) = 3a2a146fd9d9b458dced6563a1f5674e81e8ba36de11be5c189b0c76b6ede6f32957f48fb0978b97b0892768822c6c4c32c6870141e8fc1ea5d8b8f7d8b5b464 -SHA512 (reqwest-middleware-7650ed76215a962a96d94a79be71c27bffde7ab2.tar.gz) = 904fd652b0f3ecc90eee571d5488aba977dee643a1d6267e2fda264fa4c7b4bfcfacd4d5a23287dfb710ecc82d667479fcd0c48166259c2368df0e8b0c9d6707 +SHA512 (uv-0.9.10.tar.gz) = d5359ab37c2e7b91ded7875544b637cf1d46164349e36004a801e75aa501dfb5fa68458e7b94a1de947ef1cf3d0c18990695c8d2a2ca37d84f5ecc78ea854689 diff --git a/uv.spec b/uv.spec index 6c451ae..6cdd8ad 100644 --- a/uv.spec +++ b/uv.spec @@ -11,7 +11,7 @@ %bcond it %{undefined el10} Name: uv -Version: 0.9.9 +Version: 0.9.10 Release: %autorelease Summary: An extremely fast Python package installer and resolver, written in Rust @@ -73,11 +73,7 @@ Summary: An extremely fast Python package installer and resolver, written # # Rust crates compiled into the executable contribute additional license terms. # To obtain the following list of licenses, build the package and note the -# output of %%{cargo_license_summary}. This should automatically include the -# licenses of the following bundled forks: -# - async_zip, Source100, is MIT. -# - pubgrub/version-ranges, Source200, is MPL-2.0. -# - reqwest-middleware/reqwest-retry, Source300, is (MIT OR Apache-2.0). +# output of %%{cargo_license_summary}. # # (Apache-2.0 OR MIT) AND BSD-3-Clause # (MIT OR Apache-2.0) AND Unicode-3.0 @@ -139,47 +135,6 @@ Source0: %{url}/archive/%{version}/uv-%{version}.tar.gz # https://docs.astral.sh/uv/configuration/files Source1: uv.toml -# Currently, uv must use a fork of async_zip, as explained in: -# Restore central directory buffering -# https://github.com/astral-sh/rs-async-zip/pull/2 -# and further discussed in -# Please consider supporting the current release of async_zip -# https://github.com/prefix-dev/async_http_range_reader/issues/14 -# We therefore bundle the fork as prescribed in -# https://docs.fedoraproject.org/en-US/packaging-guidelines/Rust/#_replacing_git_dependencies -%global async_zip_git https://github.com/astral-sh/rs-async-zip -%global async_zip_rev f6a41d32866003c868d03ed791a89c794f61b703 -%global async_zip_baseversion 0.0.17 -%global async_zip_snapdate 20251014 -Source100: %{async_zip_git}/archive/%{async_zip_rev}/rs-async-zip-%{async_zip_rev}.tar.gz - -# For the foreseeable future, uv must use a fork of pubgrub (and the -# version-ranges crate, which belongs to the same project), as explained in: -# Plans for eventually using published pubgrub? -# https://github.com/astral-sh/uv/issues/3794 -# We therefore bundle the fork as prescribed in -# https://docs.fedoraproject.org/en-US/packaging-guidelines/Rust/#_replacing_git_dependencies -%global pubgrub_git https://github.com/astral-sh/pubgrub -%global pubgrub_rev d8efd77673c9a90792da9da31b6c0da7ea8a324b -%global pubgrub_baseversion 0.3.0 -%global pubgrub_snapdate 20250810 -%global version_ranges_baseversion 0.1.1 -Source200: %{pubgrub_git}/archive/%{pubgrub_rev}/pubgrub-%{pubgrub_rev}.tar.gz - -# Until “Report retry count on Ok results,” -# https://github.com/TrueLayer/reqwest-middleware/pull/235, is reviewed, -# merged, and released, uv must use a fork of reqwest-middleware/reqwest-retry -# to support the changes in “Show retries for HTTP status code errors,” -# https://github.com/astral-sh/uv/pull/13897. We therefore bundle the fork as -# prescribed in -# https://docs.fedoraproject.org/en-US/packaging-guidelines/Rust/#_replacing_git_dependencies -%global reqwest_middleware_git https://github.com/astral-sh/reqwest-middleware -%global reqwest_middleware_rev 7650ed76215a962a96d94a79be71c27bffde7ab2 -%global reqwest_middleware_snapdate 20250828 -%global reqwest_middleware_baseversion 0.4.2 -%global reqwest_retry_baseversion 0.7.0 -Source300: %{reqwest_middleware_git}/archive/%{reqwest_middleware_rev}/reqwest-middleware-%{reqwest_middleware_rev}.tar.gz - # Downstream-only: Always find the system-wide uv executable # See discussion in # Should uv.find_uv_bin() be able to find /usr/bin/uv? @@ -227,24 +182,6 @@ BuildRequires: /usr/bin/python3.14 BuildRequires: /usr/bin/python3.14t %endif -# This is a fork of async_zip; see the notes about Source100. -%global async_zip_snapinfo %{async_zip_snapdate}git%{sub %{async_zip_rev} 1 7} -%global async_zip_version %{async_zip_baseversion}^%{async_zip_snapinfo} -Provides: bundled(crate(async_zip)) = %{async_zip_version} -# This is a fork of pubgrub/version-ranges; see the notes about Source200. -%global pubgrub_snapinfo %{pubgrub_snapdate}git%{sub %{pubgrub_rev} 1 7} -%global pubgrub_version %{pubgrub_baseversion}^%{pubgrub_snapinfo} -%global version_ranges_version %{version_ranges_baseversion}^%{pubgrub_snapinfo} -Provides: bundled(crate(pubgrub)) = %{pubgrub_version} -Provides: bundled(crate(version-ranges)) = %{version_ranges_version} -# This is a fork of reqwest-middleware/reqwest-retry; see the notes about -# Source300. -%global reqwest_middleware_snapinfo %{reqwest_middleware_snapdate}git%{sub %{reqwest_middleware_rev} 1 7} -%global reqwest_middleware_version %{reqwest_middleware_baseversion}^%{reqwest_middleware_snapinfo} -%global reqwest_retry_version %{reqwest_retry_baseversion}^%{reqwest_middleware_snapinfo} -Provides: bundled(crate(reqwest-middleware)) = %{reqwest_middleware_version} -Provides: bundled(crate(reqwest-retry)) = %{reqwest_retry_version} - # In https://github.com/astral-sh/uv/issues/5588#issuecomment-2257823242, # upstream writes “These have diverged significantly and the upstream versions # are only passively maintained, uv requires these custom versions and can't @@ -394,73 +331,7 @@ This package provides an importable Python module for uv. %prep -%autosetup -N -%autopatch -p1 -M99 - -# Usage: git2path SELECTOR PATH -# Replace a git dependency with a path dependency in Cargo.toml -git2path() { - tomcli set Cargo.toml del "${1}.git" - tomcli set Cargo.toml del "${1}.rev" - tomcli set Cargo.toml str "${1}.path" "${2}" -} - -# See comments above Source100: -%setup -q -T -D -b 100 -n uv-%{version} -# Adding the crate to the workspace (in this case implicitly, by linking it -# under crates/) means %%cargo_generate_buildrequires can handle it correctly. -ln -s '../../rs-async-zip-%{async_zip_rev}' crates/async_zip -git2path workspace.dependencies.async_zip crates/async_zip -pushd crates/async_zip -%autopatch -p1 -m100 -M199 -popd -install -t LICENSE.bundled/async_zip -D -p -m 0644 crates/async_zip/LICENSE - -# See comments above Source200: -%setup -q -T -D -b 200 -n uv-%{version} -ln -s '../../pubgrub-%{pubgrub_rev}' crates/pubgrub -git2path workspace.dependencies.pubgrub crates/pubgrub -pushd crates/pubgrub -%autopatch -p1 -m200 -M299 -popd -install -t LICENSE.bundled/pubgrub -D -p -m 0644 crates/pubgrub/LICENSE -# Drop a benchmark-only dev-dependency. -tomcli set crates/pubgrub/Cargo.toml del dev-dependencies.criterion -# Omit tests requiring varisat; it is not packaged and has significant -# dependencies of its own. -tomcli set crates/pubgrub/Cargo.toml del dev-dependencies.varisat -mv crates/pubgrub/tests/proptest.rs{,.disabled} -mv crates/pubgrub/tests/sat_dependency_provider.rs{,.disabled} -# We can’t have two workspaces! -tomcli set crates/pubgrub/Cargo.toml del workspace -# Note that install does always dereference symlinks, which is what we want: -install -t LICENSE.bundled/version-ranges -D -p -m 0644 \ - crates/pubgrub/version-ranges/LICENSE -git2path workspace.dependencies.version-ranges crates/pubgrub/version-ranges - -# See comments above Source300: -%setup -q -T -D -b 300 -n uv-%{version} -pushd '../reqwest-middleware-%{reqwest_middleware_rev}' -%autopatch -p1 -m300 -M399 -# The (path-based) dev-dependency on reqwest-tracing is required only for an -# example in README.md; avoid it. -tomcli set reqwest-middleware/Cargo.toml del dev-dependencies.reqwest-tracing -sed -r -i 's/^```rust$/&,ignore/' README.md -popd -ln -s '../../reqwest-middleware-%{reqwest_middleware_rev}/reqwest-middleware' \ - crates/reqwest-middleware -git2path workspace.dependencies.reqwest-middleware crates/reqwest-middleware -git2path patch.crates-io.reqwest-middleware crates/reqwest-middleware -install -t LICENSE.bundled/reqwest-middleware -D -p -m 0644 \ - crates/reqwest-middleware/LICENSE* -ln -s '../../reqwest-middleware-%{reqwest_middleware_rev}/reqwest-retry' \ - crates/reqwest-retry -git2path workspace.dependencies.reqwest-retry crates/reqwest-retry -git2path patch.crates-io.reqwest-retry crates/reqwest-retry -install -t LICENSE.bundled/reqwest-retry -D -p -m 0644 \ - crates/reqwest-retry/LICENSE* -# We do not need the reqwest-tracing crate. -rm -rv '../reqwest-middleware-%{reqwest_middleware_rev}/reqwest-tracing' +%autosetup -p1 # Collect license files of vendored dependencies in the main source archive install -t LICENSE.bundled/packaging -D -p -m 0644 \ @@ -495,12 +366,12 @@ find -L . -type f -name Cargo.toml -print \ # The uv-trampoline crate (a fork of posy trampolines, from # https://github.com/njsmith/posy) contains a set of trampoline Windows # executables for launching Python scripts. We must remove these to prove they -# are not used in the build (and since they are only used on Windows, nothing -# is lost by doing so). +# are not used in the build. Since they are used only on Windows, nothing is +# lost by doing so. rm -v crates/uv-trampoline/trampolines/*.exe -# Per Cargo.toml, uv-trampoline is excluded from the workspace and not -# compiled because it still requires a nightly compiler. For now, we remove it -# entirely to show that we do not need to document bundling from posy. +# Per Cargo.toml, uv-trampoline is excluded from the workspace and not compiled +# because it still requires a nightly compiler. For now, we remove it entirely +# to show that we do not need to document bundling from posy. rm -rv crates/uv-trampoline # Do not strip the compiled executable; we need useful debuginfo. Upstream set @@ -512,8 +383,7 @@ tomcli set Cargo.toml false profile.release.strip # benchmarks, and it brings in unwanted additional dev dependencies. tomcli set Cargo.toml append workspace.exclude crates/uv-bench # The uv-dev crate provides “development utilities for uv,” which should not be -# needed here, and it also brings in extra dependencies that we would prefer to -# do without. +# needed here. It also brings extra dependencies that we would prefer to avoid. tomcli set Cargo.toml append workspace.exclude crates/uv-dev # Do not request static linking of anything (particularly, liblzma) From 4539bbb8ef24ef46c9157a6d37e21c0f3bfb93bb Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Mon, 8 Dec 2025 21:46:22 +0000 Subject: [PATCH 118/214] Update to 0.9.11 --- .gitignore | 1 + sources | 2 +- uv.spec | 16 +++------------- 3 files changed, 5 insertions(+), 14 deletions(-) diff --git a/.gitignore b/.gitignore index 676dbb4..3d18354 100644 --- a/.gitignore +++ b/.gitignore @@ -171,3 +171,4 @@ /uv-0.9.8.tar.gz /uv-0.9.9.tar.gz /uv-0.9.10.tar.gz +/uv-0.9.11.tar.gz diff --git a/sources b/sources index 5d5d4ed..b24d46f 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (uv-0.9.10.tar.gz) = d5359ab37c2e7b91ded7875544b637cf1d46164349e36004a801e75aa501dfb5fa68458e7b94a1de947ef1cf3d0c18990695c8d2a2ca37d84f5ecc78ea854689 +SHA512 (uv-0.9.11.tar.gz) = a3399fa2f68c59c777743990e1b76db7da172486c32e45349ca9ccb27a2f29c6d691f23ecd6095f8805f58a2867925485fed4d0d3a367c592111f79cf62e7d03 diff --git a/uv.spec b/uv.spec index 6cdd8ad..b5fcb50 100644 --- a/uv.spec +++ b/uv.spec @@ -11,7 +11,7 @@ %bcond it %{undefined el10} Name: uv -Version: 0.9.10 +Version: 0.9.11 Release: %autorelease Summary: An extremely fast Python package installer and resolver, written in Rust @@ -98,6 +98,7 @@ Summary: An extremely fast Python package installer and resolver, written # MIT OR Apache-2.0 # MIT OR LGPL-3.0-or-later # MIT OR Zlib OR Apache-2.0 +# MIT-0 # MIT-0 OR Apache-2.0 # MPL-2.0 # Unicode-3.0 @@ -122,6 +123,7 @@ License: %{shrink: (LGPL-3.0-or-later OR MIT) AND (LGPL-3.0-or-later OR MPL-2.0) AND MIT AND + MIT-0 AND (MIT OR Unlicense) AND MPL-2.0 AND Unicode-3.0 AND @@ -477,18 +479,6 @@ tomcli set Cargo.toml str workspace.dependencies.spdx.version \ # Since maturin always checks for dev-dependencies, we need -t so that they are # generated even when the “check” bcond is disabled. %cargo_generate_buildrequires -a -t -# These crates are excluded from the workspace – upstream writes: -# Only used to pull in features, allocators, etc. — we specifically don't -# want them to be part of a workspace-wide cargo check, cargo clippy, etc. -# – but they are still needed to support features, and the build will fail if -# we do not generate their dependencies, too: -for cratedir in \ - crates/uv-performance-memory-allocator -do - pushd "${cratedir}" >/dev/null - %cargo_generate_buildrequires -a -t - popd >/dev/null -done %pyproject_buildrequires From cf4d9a80d2ad0e4844bb1a24cd561bce157c2380 Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Tue, 9 Dec 2025 11:36:20 +0000 Subject: [PATCH 119/214] Update to 0.9.12 --- .gitignore | 1 + sources | 2 +- uv.spec | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 3d18354..b9e9820 100644 --- a/.gitignore +++ b/.gitignore @@ -172,3 +172,4 @@ /uv-0.9.9.tar.gz /uv-0.9.10.tar.gz /uv-0.9.11.tar.gz +/uv-0.9.12.tar.gz diff --git a/sources b/sources index b24d46f..63d16a1 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (uv-0.9.11.tar.gz) = a3399fa2f68c59c777743990e1b76db7da172486c32e45349ca9ccb27a2f29c6d691f23ecd6095f8805f58a2867925485fed4d0d3a367c592111f79cf62e7d03 +SHA512 (uv-0.9.12.tar.gz) = fa7e8dd846c328c2ad5d7d7c2163432f031286cdc485a3754d8068acc84568a877dc3daf9052d674b69c5b6c54347c612a8ba13dcba100418318b46206464ff0 diff --git a/uv.spec b/uv.spec index b5fcb50..ef09987 100644 --- a/uv.spec +++ b/uv.spec @@ -11,7 +11,7 @@ %bcond it %{undefined el10} Name: uv -Version: 0.9.11 +Version: 0.9.12 Release: %autorelease Summary: An extremely fast Python package installer and resolver, written in Rust From ef3deca5b4d390bf8823fc6b9a2ebb2753884b03 Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Tue, 9 Dec 2025 12:16:30 +0000 Subject: [PATCH 120/214] Update to 0.9.13 --- .gitignore | 1 + sources | 2 +- uv.spec | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index b9e9820..b67ab7d 100644 --- a/.gitignore +++ b/.gitignore @@ -173,3 +173,4 @@ /uv-0.9.10.tar.gz /uv-0.9.11.tar.gz /uv-0.9.12.tar.gz +/uv-0.9.13.tar.gz diff --git a/sources b/sources index 63d16a1..068de08 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (uv-0.9.12.tar.gz) = fa7e8dd846c328c2ad5d7d7c2163432f031286cdc485a3754d8068acc84568a877dc3daf9052d674b69c5b6c54347c612a8ba13dcba100418318b46206464ff0 +SHA512 (uv-0.9.13.tar.gz) = eb35b243c18c2e7fb7783eecdb3c6d85c277d808117cc02ed4c600246237f56613988a414f66b7486691f770444eb2b2e5f3bee6c2e539e4c4dec305cb022266 diff --git a/uv.spec b/uv.spec index ef09987..e342f0b 100644 --- a/uv.spec +++ b/uv.spec @@ -11,7 +11,7 @@ %bcond it %{undefined el10} Name: uv -Version: 0.9.12 +Version: 0.9.13 Release: %autorelease Summary: An extremely fast Python package installer and resolver, written in Rust From 6b53aa0eb16b5f71e2e9beeffe7fc683ae277896 Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Tue, 9 Dec 2025 12:46:22 +0000 Subject: [PATCH 121/214] Update to 0.9.14 --- .gitignore | 1 + sources | 2 +- uv.spec | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index b67ab7d..257b7f8 100644 --- a/.gitignore +++ b/.gitignore @@ -174,3 +174,4 @@ /uv-0.9.11.tar.gz /uv-0.9.12.tar.gz /uv-0.9.13.tar.gz +/uv-0.9.14.tar.gz diff --git a/sources b/sources index 068de08..2d54276 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (uv-0.9.13.tar.gz) = eb35b243c18c2e7fb7783eecdb3c6d85c277d808117cc02ed4c600246237f56613988a414f66b7486691f770444eb2b2e5f3bee6c2e539e4c4dec305cb022266 +SHA512 (uv-0.9.14.tar.gz) = d1cbdcc36fd65111ceb875c6ba4cc54bc7762556f2fb17f8bb130ed42d037782c5a5f0d55d33fdc47f8d17c7cea19e776c302b188b883f7a94df2c4227ab32a3 diff --git a/uv.spec b/uv.spec index e342f0b..09bad6c 100644 --- a/uv.spec +++ b/uv.spec @@ -11,7 +11,7 @@ %bcond it %{undefined el10} Name: uv -Version: 0.9.13 +Version: 0.9.14 Release: %autorelease Summary: An extremely fast Python package installer and resolver, written in Rust From ca6fdd0163fc2c32bac44f5e965dec405f2d4deb Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Tue, 9 Dec 2025 13:30:42 +0000 Subject: [PATCH 122/214] Update to 0.9.15 --- .gitignore | 1 + sources | 2 +- uv.spec | 30 ++++++++++++++++++++++-------- 3 files changed, 24 insertions(+), 9 deletions(-) diff --git a/.gitignore b/.gitignore index 257b7f8..e072c85 100644 --- a/.gitignore +++ b/.gitignore @@ -175,3 +175,4 @@ /uv-0.9.12.tar.gz /uv-0.9.13.tar.gz /uv-0.9.14.tar.gz +/uv-0.9.15.tar.gz diff --git a/sources b/sources index 2d54276..fba62a5 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (uv-0.9.14.tar.gz) = d1cbdcc36fd65111ceb875c6ba4cc54bc7762556f2fb17f8bb130ed42d037782c5a5f0d55d33fdc47f8d17c7cea19e776c302b188b883f7a94df2c4227ab32a3 +SHA512 (uv-0.9.15.tar.gz) = 2605e2e7d5f6fdbb5ec4839363f65c8e71559944ec003cb9c69040be08094eb5c041831151b669e2dbbcf1799e862f484a21a592090524f79686469eac0e3381 diff --git a/uv.spec b/uv.spec index 09bad6c..bb33e5d 100644 --- a/uv.spec +++ b/uv.spec @@ -11,7 +11,7 @@ %bcond it %{undefined el10} Name: uv -Version: 0.9.14 +Version: 0.9.15 Release: %autorelease Summary: An extremely fast Python package installer and resolver, written in Rust @@ -366,16 +366,28 @@ find -L . -type f -name Cargo.toml -print \ -execdir rust2rpm-helper strip-foreign -o '{}' '{}' ';' # The uv-trampoline crate (a fork of posy trampolines, from -# https://github.com/njsmith/posy) contains a set of trampoline Windows -# executables for launching Python scripts. We must remove these to prove they -# are not used in the build. Since they are used only on Windows, nothing is -# lost by doing so. -rm -v crates/uv-trampoline/trampolines/*.exe +# https://github.com/njsmith/posy) uses a set of trampoline Windows executables +# for launching Python scripts. These precompiled executables are funished by +# the uv-trampoline-builder crate. We must remove them to prove they are not +# used in the build. Since they are used only on Windows, nothing is lost by +# doing so. +rm -v crates/uv-trampoline-builder/trampolines/*.exe # Per Cargo.toml, uv-trampoline is excluded from the workspace and not compiled # because it still requires a nightly compiler. For now, we remove it entirely -# to show that we do not need to document bundling from posy. +# to show that we do not need to document bundling from posy. Note that we +# *cannot* cleanly remove uv-trampoline-builder, only the precompiled +# trampolines themselves. rm -rv crates/uv-trampoline +# Remove the dependency on embed-manifest, which applies only when (cross-?) +# compiling for Windows. +tomcli set Cargo.toml del workspace.dependencies.embed-manifest +# We may have to do something more sophisticated if this build script ever +# starts to do anything other than just embedding a manifest on Windows. +rm -v crates/uv/build.rs +tomcli set crates/uv/Cargo.toml del build-dependencies.embed-manifest +# The embed-manifest depenency is also used in uv-trampoline, which we removed. + # Do not strip the compiled executable; we need useful debuginfo. Upstream set # this intentionally, so this change makes sense to keep downstream-only. tomcli set pyproject.toml false tool.maturin.strip @@ -401,6 +413,8 @@ tomcli set crates/uv-extract/Cargo.toml del features.static # - git: Introduces a testing dependency on Git. This sounds innocuous – we # have git! – but in fact, it controls tests of git dependencies, which # implies accessing remote repositories, e.g. on GitHub. +# - git-lfs: as for git, but also require Git Large File Storage; again, this +# implies accessing remote repositories # - pypi: Introduces a testing dependency on PyPI. # - python-managed: Introduces a testing dependency on managed Python # installations. (These are pre-compiled Pythons downloaded from the @@ -416,7 +430,7 @@ tomcli set crates/uv-extract/Cargo.toml del features.static # Python installation with specific patch versions,” is already not among the # default features. tomcli set crates/uv/Cargo.toml lists delitem features.default-tests \ - '(crates-io|git|pypi|python-managed|r2)' + '(crates-io|git(-lfs)?|pypi|python-managed|r2)' %if %{without it} # Integration tests (it crate) nearly all require specific Python interpreter From a4c81c6290603c60ae0d4df4d4c68f98d87a6140 Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Tue, 9 Dec 2025 22:35:07 +0000 Subject: [PATCH 123/214] Update to 0.9.16 --- .gitignore | 1 + 17059.patch | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++ sources | 2 +- uv.spec | 6 +++++- 4 files changed, 59 insertions(+), 2 deletions(-) create mode 100644 17059.patch diff --git a/.gitignore b/.gitignore index e072c85..6e1e986 100644 --- a/.gitignore +++ b/.gitignore @@ -176,3 +176,4 @@ /uv-0.9.13.tar.gz /uv-0.9.14.tar.gz /uv-0.9.15.tar.gz +/uv-0.9.16.tar.gz diff --git a/17059.patch b/17059.patch new file mode 100644 index 0000000..ee7b93e --- /dev/null +++ b/17059.patch @@ -0,0 +1,52 @@ +From 52140e27fc877482858923cdeffb33133bf681bc Mon Sep 17 00:00:00 2001 +From: "Benjamin A. Beasley" +Date: Tue, 9 Dec 2025 23:35:17 +0000 +Subject: [PATCH] Gate a few more tests on the pypi feature + +All of these fail in offline environments because they try to +communicate with PyPI. +--- + crates/uv/tests/it/pip_list.rs | 2 ++ + crates/uv/tests/it/pip_show.rs | 2 ++ + 2 files changed, 4 insertions(+) + +diff --git a/crates/uv/tests/it/pip_list.rs b/crates/uv/tests/it/pip_list.rs +index fc487f8cd8caa..830aeaf5e3f38 100644 +--- a/crates/uv/tests/it/pip_list.rs ++++ b/crates/uv/tests/it/pip_list.rs +@@ -791,6 +791,7 @@ fn list_ignores_quiet_flag_format_freeze() { + } + + #[test] ++#[cfg(feature = "pypi")] + fn list_target() -> Result<()> { + let context = TestContext::new("3.12"); + +@@ -839,6 +840,7 @@ fn list_target() -> Result<()> { + } + + #[test] ++#[cfg(feature = "pypi")] + fn list_prefix() -> Result<()> { + let context = TestContext::new("3.12"); + +diff --git a/crates/uv/tests/it/pip_show.rs b/crates/uv/tests/it/pip_show.rs +index a44dd18f8d3d6..1ff30025d7235 100644 +--- a/crates/uv/tests/it/pip_show.rs ++++ b/crates/uv/tests/it/pip_show.rs +@@ -536,6 +536,7 @@ fn show_files() { + } + + #[test] ++#[cfg(feature = "pypi")] + fn show_target() -> Result<()> { + let context = TestContext::new("3.12"); + +@@ -587,6 +588,7 @@ fn show_target() -> Result<()> { + } + + #[test] ++#[cfg(feature = "pypi")] + fn show_prefix() -> Result<()> { + let context = TestContext::new("3.12"); + diff --git a/sources b/sources index fba62a5..2343d7c 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (uv-0.9.15.tar.gz) = 2605e2e7d5f6fdbb5ec4839363f65c8e71559944ec003cb9c69040be08094eb5c041831151b669e2dbbcf1799e862f484a21a592090524f79686469eac0e3381 +SHA512 (uv-0.9.16.tar.gz) = f7e563b92c802f561bb33e569d473ac85fb69a72b6e01ccea8284275e7c760bc2eaee9415782adb7d26c16ffad564ceb1152a2f6b853fa9b379cb704fdd1814a diff --git a/uv.spec b/uv.spec index bb33e5d..2cb020d 100644 --- a/uv.spec +++ b/uv.spec @@ -11,7 +11,7 @@ %bcond it %{undefined el10} Name: uv -Version: 0.9.15 +Version: 0.9.16 Release: %autorelease Summary: An extremely fast Python package installer and resolver, written in Rust @@ -143,6 +143,10 @@ Source1: uv.toml # https://github.com/astral-sh/uv/issues/4451 Patch: 0001-Downstream-patch-always-find-the-system-wide-uv-exec.patch +# Gate a few more tests on the pypi feature +# https://github.com/astral-sh/uv/pull/17059 +Patch: %{url}/pull/17059.patch + # https://fedoraproject.org/wiki/Changes/EncourageI686LeafRemoval ExcludeArch: %{ix86} From 40228d36965d5a6aa526e0591a1de8335bb92724 Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Wed, 10 Dec 2025 07:11:50 +0000 Subject: [PATCH 124/214] Fix a small typo in a comment [skip changelog] --- uv.spec | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/uv.spec b/uv.spec index 2cb020d..ea8c562 100644 --- a/uv.spec +++ b/uv.spec @@ -33,12 +33,12 @@ Summary: An extremely fast Python package installer and resolver, written # - crates/uv-python/packaging/ is vendored and forked from # python3dist(packaging) # -# (Apache-2.0 OR MIT) AND BSD-3-CLause: +# (Apache-2.0 OR MIT) AND BSD-3-Clause: # - The function wheel_metadata_from_remote_zip in # crates/uv-client/src/remote_metadata.rs is vendored and forked from the # function lazy_read_wheel_metadata in src/index/lazy_metadata.rs in # crate(rattler_installs_packages) and is BSD-3-Clause AND (Apache-2.0 OR -# MIT): the original routine is BSD-3-CLause, and subsequent modifications +# MIT): the original routine is BSD-3-Clause, and subsequent modifications # are explicitly (Apache-2.0 OR MIT). # # MIT From 9bb1ed8a63176f1b3e7c507d45a7755f5b7baded Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Wed, 10 Dec 2025 07:11:32 +0000 Subject: [PATCH 125/214] Update to 0.9.17 --- .gitignore | 1 + 17071.patch | 75 +++++++++++++++++++++++++++++++++++++++++++++++++++++ sources | 2 +- uv.spec | 30 ++++++++++++++------- 4 files changed, 97 insertions(+), 11 deletions(-) create mode 100644 17071.patch diff --git a/.gitignore b/.gitignore index 6e1e986..7a0daad 100644 --- a/.gitignore +++ b/.gitignore @@ -177,3 +177,4 @@ /uv-0.9.14.tar.gz /uv-0.9.15.tar.gz /uv-0.9.16.tar.gz +/uv-0.9.17.tar.gz diff --git a/17071.patch b/17071.patch new file mode 100644 index 0000000..0770327 --- /dev/null +++ b/17071.patch @@ -0,0 +1,75 @@ +From f32413246839b503519e7cfc128f2bd4e16fd318 Mon Sep 17 00:00:00 2001 +From: Zanie Blue +Date: Wed, 10 Dec 2025 07:50:10 -0600 +Subject: [PATCH] Drop some non-integration exclude-newer tests + +--- + crates/uv-resolver/src/exclude_newer.rs | 58 ------------------------- + 1 file changed, 58 deletions(-) + +diff --git a/crates/uv-resolver/src/exclude_newer.rs b/crates/uv-resolver/src/exclude_newer.rs +index ea28332e51278..d6688d19c9a55 100644 +--- a/crates/uv-resolver/src/exclude_newer.rs ++++ b/crates/uv-resolver/src/exclude_newer.rs +@@ -640,61 +640,3 @@ impl schemars::JsonSchema for ExcludeNewerValue { + }) + } + } +- +-#[cfg(test)] +-mod tests { +- use super::*; +- use std::str::FromStr; +- +- #[test] +- fn test_exclude_newer_timestamp_absolute() { +- // Test RFC 3339 timestamp +- let timestamp = ExcludeNewerValue::from_str("2023-01-01T00:00:00Z").unwrap(); +- assert!(timestamp.to_string().contains("2023-01-01")); +- +- // Test local date +- let timestamp = ExcludeNewerValue::from_str("2023-06-15").unwrap(); +- assert!(timestamp.to_string().contains("2023-06-16")); // Should be next day +- } +- +- #[test] +- fn test_exclude_newer_timestamp_relative() { +- // Test "1 hour" - simpler test case +- let timestamp = ExcludeNewerValue::from_str("1 hour").unwrap(); +- let now = jiff::Timestamp::now(); +- let diff = now.as_second() - timestamp.timestamp.as_second(); +- // Should be approximately 1 hour (3600 seconds) ago +- assert!( +- (3550..=3650).contains(&diff), +- "Expected ~3600 seconds, got {diff}" +- ); +- +- // Test that we get a timestamp in the past +- assert!(timestamp.timestamp < now, "Timestamp should be in the past"); +- +- // Test parsing succeeds for various formats +- assert!(ExcludeNewerValue::from_str("2 days").is_ok()); +- assert!(ExcludeNewerValue::from_str("1 week").is_ok()); +- assert!(ExcludeNewerValue::from_str("30 days").is_ok()); +- } +- +- #[test] +- fn test_exclude_newer_timestamp_invalid() { +- // Test invalid formats +- assert!(ExcludeNewerValue::from_str("invalid").is_err()); +- assert!(ExcludeNewerValue::from_str("not a date").is_err()); +- assert!(ExcludeNewerValue::from_str("").is_err()); +- } +- +- #[test] +- fn test_exclude_newer_package_entry() { +- let entry = ExcludeNewerPackageEntry::from_str("numpy=2023-01-01T00:00:00Z").unwrap(); +- assert_eq!(entry.package.as_ref(), "numpy"); +- assert!(entry.timestamp.to_string().contains("2023-01-01")); +- +- // Test with relative timestamp +- let entry = ExcludeNewerPackageEntry::from_str("requests=7 days").unwrap(); +- assert_eq!(entry.package.as_ref(), "requests"); +- // Just verify it parsed without error - the timestamp will be relative to now +- } +-} diff --git a/sources b/sources index 2343d7c..96bbeea 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (uv-0.9.16.tar.gz) = f7e563b92c802f561bb33e569d473ac85fb69a72b6e01ccea8284275e7c760bc2eaee9415782adb7d26c16ffad564ceb1152a2f6b853fa9b379cb704fdd1814a +SHA512 (uv-0.9.17.tar.gz) = 7d25dc611ca004145ca84472df822670f479610eb60699dbff52f428a605d75604e49b98fc37d6e6d4d60c5a0536cbe9d2f8c0f306b6a93ed44c64112d7bc69f diff --git a/uv.spec b/uv.spec index ea8c562..4da7254 100644 --- a/uv.spec +++ b/uv.spec @@ -11,7 +11,7 @@ %bcond it %{undefined el10} Name: uv -Version: 0.9.16 +Version: 0.9.17 Release: %autorelease Summary: An extremely fast Python package installer and resolver, written in Rust @@ -51,25 +51,25 @@ Summary: An extremely fast Python package installer and resolver, written # forked from crate(ripunzip) # # The following are present in the source but believed not to contribute to the -# licenses of the binary RPMs. Note that ecosystem/ contains only +# licenses of the binary RPMs. Note that test/ecosystem/ contains only # pyproject.toml files used for testing, not complete bundled projects. # # Apache-2.0: -# - ecosystem/airflow/ -# - ecosystem/home-assistant-core/ -# - ecosystem/transformers/ -# - ecosystem/warehouse/ +# - test/ecosystem/airflow/ +# - test/ecosystem/home-assistant-core/ +# - test/ecosystem/transformers/ +# - test/ecosystem/warehouse/ # Apache-2.0 OR MIT: -# - ecosystem/packse/ +# - test/ecosystem/packse/ # BSD-2-Clause-Patent: -# - ecosystem/github-wikidata-bot/ +# - test/ecosystem/github-wikidata-bot/ # BSD-3-Clause: -# - ecosystem/saleor/ +# - test/ecosystem/saleor/ # MIT: # - crates/uv-python/fetch-download-metadata.py is derived from # https://github.com/mitsuhiko/rye/tree/f9822267a7f00332d15be8551f89a212e7bc9017 # which was MIT. -# - ecosystem/black/ +# - test/ecosystem/black/ # # Rust crates compiled into the executable contribute additional license terms. # To obtain the following list of licenses, build the package and note the @@ -147,6 +147,16 @@ Patch: 0001-Downstream-patch-always-find-the-system-wide-uv-exec.patch # https://github.com/astral-sh/uv/pull/17059 Patch: %{url}/pull/17059.patch +# Drop some non-integration exclude-newer tests +# https://github.com/astral-sh/uv/pull/17071 +# +# Fixes: +# +# New test failure in 0.9.17: uv-resolver +# exclude_newer::tests::test_exclude_newer_timestamp_absolute +# https://github.com/astral-sh/uv/issues/17070 +Patch: %{url}/pull/17071.patch + # https://fedoraproject.org/wiki/Changes/EncourageI686LeafRemoval ExcludeArch: %{ix86} From 8faca0a935f75a62b317c35e5f14b412cc7707e8 Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Sun, 14 Dec 2025 11:20:37 +0000 Subject: [PATCH 126/214] Update spdx to 0.13 --- uv.spec | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/uv.spec b/uv.spec index 4da7254..991a8e4 100644 --- a/uv.spec +++ b/uv.spec @@ -76,6 +76,7 @@ Summary: An extremely fast Python package installer and resolver, written # output of %%{cargo_license_summary}. # # (Apache-2.0 OR MIT) AND BSD-3-Clause +# (MIT OR Apache-2.0) AND Apache-2.0 AND CC0-1.0 # (MIT OR Apache-2.0) AND Unicode-3.0 # (MIT OR Apache-2.0) AND Unicode-DFS-2016 # 0BSD @@ -118,6 +119,7 @@ License: %{shrink: (Apache-2.0 WITH LLVM-exception) AND (Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT) AND BSD-3-Clause AND + CC0-1.0 AND CDLA-Permissive-2.0 AND ISC AND (LGPL-3.0-or-later OR MIT) AND @@ -485,12 +487,10 @@ tomcli set crates/uv/Cargo.toml del dependencies.tracing-durations-export # spdx # wanted: 0.12.0 -# currently packaged: 0.10.9 (but we want to update to 0.12) -# https://bugzilla.redhat.com/show_bug.cgi?id=2387258 -# Update the spdx dependency to version 0.12 -# https://github.com/astral-sh/uv/pull/16552 -tomcli set Cargo.toml str workspace.dependencies.spdx.version \ - '>=0.10.9, <0.13.0' +# currently packaged: 0.13.2 +# Update spdx dependency to 0.13 +# https://github.com/astral-sh/uv/pull/17129 +tomcli set Cargo.toml str workspace.dependencies.spdx.version '0.13.0' %cargo_prep From 73bbb8a0ac841fd729f0e159aed3e8f866110cbe Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Tue, 16 Dec 2025 18:00:52 +0000 Subject: [PATCH 127/214] Update to 0.9.18 (close RHBZ#2422900) --- .gitignore | 1 + 17059.patch | 52 ------------------------------------- 17071.patch | 75 ----------------------------------------------------- sources | 2 +- uv.spec | 16 +----------- 5 files changed, 3 insertions(+), 143 deletions(-) delete mode 100644 17059.patch delete mode 100644 17071.patch diff --git a/.gitignore b/.gitignore index 7a0daad..6dd1dc7 100644 --- a/.gitignore +++ b/.gitignore @@ -178,3 +178,4 @@ /uv-0.9.15.tar.gz /uv-0.9.16.tar.gz /uv-0.9.17.tar.gz +/uv-0.9.18.tar.gz diff --git a/17059.patch b/17059.patch deleted file mode 100644 index ee7b93e..0000000 --- a/17059.patch +++ /dev/null @@ -1,52 +0,0 @@ -From 52140e27fc877482858923cdeffb33133bf681bc Mon Sep 17 00:00:00 2001 -From: "Benjamin A. Beasley" -Date: Tue, 9 Dec 2025 23:35:17 +0000 -Subject: [PATCH] Gate a few more tests on the pypi feature - -All of these fail in offline environments because they try to -communicate with PyPI. ---- - crates/uv/tests/it/pip_list.rs | 2 ++ - crates/uv/tests/it/pip_show.rs | 2 ++ - 2 files changed, 4 insertions(+) - -diff --git a/crates/uv/tests/it/pip_list.rs b/crates/uv/tests/it/pip_list.rs -index fc487f8cd8caa..830aeaf5e3f38 100644 ---- a/crates/uv/tests/it/pip_list.rs -+++ b/crates/uv/tests/it/pip_list.rs -@@ -791,6 +791,7 @@ fn list_ignores_quiet_flag_format_freeze() { - } - - #[test] -+#[cfg(feature = "pypi")] - fn list_target() -> Result<()> { - let context = TestContext::new("3.12"); - -@@ -839,6 +840,7 @@ fn list_target() -> Result<()> { - } - - #[test] -+#[cfg(feature = "pypi")] - fn list_prefix() -> Result<()> { - let context = TestContext::new("3.12"); - -diff --git a/crates/uv/tests/it/pip_show.rs b/crates/uv/tests/it/pip_show.rs -index a44dd18f8d3d6..1ff30025d7235 100644 ---- a/crates/uv/tests/it/pip_show.rs -+++ b/crates/uv/tests/it/pip_show.rs -@@ -536,6 +536,7 @@ fn show_files() { - } - - #[test] -+#[cfg(feature = "pypi")] - fn show_target() -> Result<()> { - let context = TestContext::new("3.12"); - -@@ -587,6 +588,7 @@ fn show_target() -> Result<()> { - } - - #[test] -+#[cfg(feature = "pypi")] - fn show_prefix() -> Result<()> { - let context = TestContext::new("3.12"); - diff --git a/17071.patch b/17071.patch deleted file mode 100644 index 0770327..0000000 --- a/17071.patch +++ /dev/null @@ -1,75 +0,0 @@ -From f32413246839b503519e7cfc128f2bd4e16fd318 Mon Sep 17 00:00:00 2001 -From: Zanie Blue -Date: Wed, 10 Dec 2025 07:50:10 -0600 -Subject: [PATCH] Drop some non-integration exclude-newer tests - ---- - crates/uv-resolver/src/exclude_newer.rs | 58 ------------------------- - 1 file changed, 58 deletions(-) - -diff --git a/crates/uv-resolver/src/exclude_newer.rs b/crates/uv-resolver/src/exclude_newer.rs -index ea28332e51278..d6688d19c9a55 100644 ---- a/crates/uv-resolver/src/exclude_newer.rs -+++ b/crates/uv-resolver/src/exclude_newer.rs -@@ -640,61 +640,3 @@ impl schemars::JsonSchema for ExcludeNewerValue { - }) - } - } -- --#[cfg(test)] --mod tests { -- use super::*; -- use std::str::FromStr; -- -- #[test] -- fn test_exclude_newer_timestamp_absolute() { -- // Test RFC 3339 timestamp -- let timestamp = ExcludeNewerValue::from_str("2023-01-01T00:00:00Z").unwrap(); -- assert!(timestamp.to_string().contains("2023-01-01")); -- -- // Test local date -- let timestamp = ExcludeNewerValue::from_str("2023-06-15").unwrap(); -- assert!(timestamp.to_string().contains("2023-06-16")); // Should be next day -- } -- -- #[test] -- fn test_exclude_newer_timestamp_relative() { -- // Test "1 hour" - simpler test case -- let timestamp = ExcludeNewerValue::from_str("1 hour").unwrap(); -- let now = jiff::Timestamp::now(); -- let diff = now.as_second() - timestamp.timestamp.as_second(); -- // Should be approximately 1 hour (3600 seconds) ago -- assert!( -- (3550..=3650).contains(&diff), -- "Expected ~3600 seconds, got {diff}" -- ); -- -- // Test that we get a timestamp in the past -- assert!(timestamp.timestamp < now, "Timestamp should be in the past"); -- -- // Test parsing succeeds for various formats -- assert!(ExcludeNewerValue::from_str("2 days").is_ok()); -- assert!(ExcludeNewerValue::from_str("1 week").is_ok()); -- assert!(ExcludeNewerValue::from_str("30 days").is_ok()); -- } -- -- #[test] -- fn test_exclude_newer_timestamp_invalid() { -- // Test invalid formats -- assert!(ExcludeNewerValue::from_str("invalid").is_err()); -- assert!(ExcludeNewerValue::from_str("not a date").is_err()); -- assert!(ExcludeNewerValue::from_str("").is_err()); -- } -- -- #[test] -- fn test_exclude_newer_package_entry() { -- let entry = ExcludeNewerPackageEntry::from_str("numpy=2023-01-01T00:00:00Z").unwrap(); -- assert_eq!(entry.package.as_ref(), "numpy"); -- assert!(entry.timestamp.to_string().contains("2023-01-01")); -- -- // Test with relative timestamp -- let entry = ExcludeNewerPackageEntry::from_str("requests=7 days").unwrap(); -- assert_eq!(entry.package.as_ref(), "requests"); -- // Just verify it parsed without error - the timestamp will be relative to now -- } --} diff --git a/sources b/sources index 96bbeea..5a8cc22 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (uv-0.9.17.tar.gz) = 7d25dc611ca004145ca84472df822670f479610eb60699dbff52f428a605d75604e49b98fc37d6e6d4d60c5a0536cbe9d2f8c0f306b6a93ed44c64112d7bc69f +SHA512 (uv-0.9.18.tar.gz) = e0d880d6cf946979fbc6333f086aa6a54893fca19bae6d62e82d831c7502c2150d829a861edeb4c29fe7320d7c7da902693039d597b945f58ae803eadc7f5a17 diff --git a/uv.spec b/uv.spec index 991a8e4..7b08e23 100644 --- a/uv.spec +++ b/uv.spec @@ -11,7 +11,7 @@ %bcond it %{undefined el10} Name: uv -Version: 0.9.17 +Version: 0.9.18 Release: %autorelease Summary: An extremely fast Python package installer and resolver, written in Rust @@ -145,20 +145,6 @@ Source1: uv.toml # https://github.com/astral-sh/uv/issues/4451 Patch: 0001-Downstream-patch-always-find-the-system-wide-uv-exec.patch -# Gate a few more tests on the pypi feature -# https://github.com/astral-sh/uv/pull/17059 -Patch: %{url}/pull/17059.patch - -# Drop some non-integration exclude-newer tests -# https://github.com/astral-sh/uv/pull/17071 -# -# Fixes: -# -# New test failure in 0.9.17: uv-resolver -# exclude_newer::tests::test_exclude_newer_timestamp_absolute -# https://github.com/astral-sh/uv/issues/17070 -Patch: %{url}/pull/17071.patch - # https://fedoraproject.org/wiki/Changes/EncourageI686LeafRemoval ExcludeArch: %{ix86} From e49729697303bae3a141d5360c14dce2064c2231 Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Wed, 17 Dec 2025 12:15:27 +0000 Subject: [PATCH 128/214] No longer need to patch spdx dependency [skip changelog] --- uv.spec | 7 ------- 1 file changed, 7 deletions(-) diff --git a/uv.spec b/uv.spec index 7b08e23..6adaa6e 100644 --- a/uv.spec +++ b/uv.spec @@ -471,13 +471,6 @@ tomcli set crates/uv/Cargo.toml del dependencies.tracing-durations-export # # https://bugzilla.redhat.com/show_bug.cgi?id=1234567 # tomcli set Cargo.toml str workspace.dependencies.foocrate.version 0.1.2 -# spdx -# wanted: 0.12.0 -# currently packaged: 0.13.2 -# Update spdx dependency to 0.13 -# https://github.com/astral-sh/uv/pull/17129 -tomcli set Cargo.toml str workspace.dependencies.spdx.version '0.13.0' - %cargo_prep From 2681cd039f9622e5e63074a8407d2e852aeb7f56 Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Tue, 30 Dec 2025 11:14:06 +0000 Subject: [PATCH 129/214] Update to 0.9.20 (close RHBZ#2425941) --- .gitignore | 1 + sources | 2 +- uv.spec | 6 ++++-- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index 6dd1dc7..33cdffa 100644 --- a/.gitignore +++ b/.gitignore @@ -179,3 +179,4 @@ /uv-0.9.16.tar.gz /uv-0.9.17.tar.gz /uv-0.9.18.tar.gz +/uv-0.9.20.tar.gz diff --git a/sources b/sources index 5a8cc22..85e2168 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (uv-0.9.18.tar.gz) = e0d880d6cf946979fbc6333f086aa6a54893fca19bae6d62e82d831c7502c2150d829a861edeb4c29fe7320d7c7da902693039d597b945f58ae803eadc7f5a17 +SHA512 (uv-0.9.20.tar.gz) = 4b9d1e6e6d89aa1901b26715e9c2bb720e8132134ac0516bf01a40576c6d6e7fb97205321d50e3fd0f35fb69309af437f23643261cc11d55c2c8cb1db22fdafb diff --git a/uv.spec b/uv.spec index 6adaa6e..360d1d8 100644 --- a/uv.spec +++ b/uv.spec @@ -11,7 +11,7 @@ %bcond it %{undefined el10} Name: uv -Version: 0.9.18 +Version: 0.9.20 Release: %autorelease Summary: An extremely fast Python package installer and resolver, written in Rust @@ -105,6 +105,7 @@ Summary: An extremely fast Python package installer and resolver, written # Unicode-3.0 # Unlicense OR MIT # Zlib +# bzip2-1.0.6 License: %{shrink: 0BSD AND (0BSD OR Apache-2.0 OR MIT) AND @@ -130,7 +131,8 @@ License: %{shrink: MPL-2.0 AND Unicode-3.0 AND Unicode-DFS-2016 AND - Zlib + Zlib AND + bzip2-1.0.6 } # LICENSE.dependencies contains a full license breakdown URL: https://github.com/astral-sh/uv From 6f933200e7013ebc1190cbad2cddd73aed406797 Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Tue, 30 Dec 2025 23:37:34 +0000 Subject: [PATCH 130/214] Skip python_list::python_list_mirrors on less-common architectures --- uv.spec | 2 ++ 1 file changed, 2 insertions(+) diff --git a/uv.spec b/uv.spec index 360d1d8..8a7845e 100644 --- a/uv.spec +++ b/uv.spec @@ -560,6 +560,8 @@ skip="${skip-} --skip python_find::python_find_prerelease_with_patch_request" # On other architectures, the list of available downloads differs, e.g. pypy # and graalpy downloads may be missing. skip="${skip-} --skip python_list::python_list_downloads" +# Similarly, version numbers may not match exactly. +skip="${skip-} --skip python_list::python_list_mirrors" %endif %ifarch %{power64} # The error message lacks the expected hint: From 40cf6dab0920f6cca1901480789ce717d229e879 Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Tue, 30 Dec 2025 23:32:09 +0000 Subject: [PATCH 131/214] Allow procfs 0.18 --- uv.spec | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/uv.spec b/uv.spec index 8a7845e..e71347e 100644 --- a/uv.spec +++ b/uv.spec @@ -473,6 +473,13 @@ tomcli set crates/uv/Cargo.toml del dependencies.tracing-durations-export # # https://bugzilla.redhat.com/show_bug.cgi?id=1234567 # tomcli set Cargo.toml str workspace.dependencies.foocrate.version 0.1.2 +# procfs +# wanted: 0.17 +# currently packaged: 0.17, but an update to 0.18 is planned +# https://bugzilla.redhat.com/show_bug.cgi?id=2392071 +# https://github.com/astral-sh/uv/pull/17275 +tomcli set Cargo.toml str workspace.dependencies.procfs.version '>=0.17, <0.19' + %cargo_prep From dd309f97cf1c55d05838670e85c94e155d4c0161 Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Tue, 30 Dec 2025 23:33:37 +0000 Subject: [PATCH 132/214] Update to 0.9.21 (close RHBZ#2425941) --- .gitignore | 1 + sources | 2 +- uv.spec | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 33cdffa..0941bb2 100644 --- a/.gitignore +++ b/.gitignore @@ -180,3 +180,4 @@ /uv-0.9.17.tar.gz /uv-0.9.18.tar.gz /uv-0.9.20.tar.gz +/uv-0.9.21.tar.gz diff --git a/sources b/sources index 85e2168..ce9a77d 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (uv-0.9.20.tar.gz) = 4b9d1e6e6d89aa1901b26715e9c2bb720e8132134ac0516bf01a40576c6d6e7fb97205321d50e3fd0f35fb69309af437f23643261cc11d55c2c8cb1db22fdafb +SHA512 (uv-0.9.21.tar.gz) = 38c852dfca2bdfa839c37342ace2482d5182e2d4f7b4334ee32da200364912ccbedda04cf08cf89d974ad0f82c374444a19156c9df65ce11019d4a214bf26eb3 diff --git a/uv.spec b/uv.spec index e71347e..edee093 100644 --- a/uv.spec +++ b/uv.spec @@ -11,7 +11,7 @@ %bcond it %{undefined el10} Name: uv -Version: 0.9.20 +Version: 0.9.21 Release: %autorelease Summary: An extremely fast Python package installer and resolver, written in Rust From 1e96093bb0116171d54af60c485d841aad8645c8 Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Wed, 31 Dec 2025 01:38:33 +0000 Subject: [PATCH 133/214] Skip python_list::python_list_with_mirrors, not python_list_mirrors --- uv.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/uv.spec b/uv.spec index edee093..ab4f585 100644 --- a/uv.spec +++ b/uv.spec @@ -568,7 +568,7 @@ skip="${skip-} --skip python_find::python_find_prerelease_with_patch_request" # and graalpy downloads may be missing. skip="${skip-} --skip python_list::python_list_downloads" # Similarly, version numbers may not match exactly. -skip="${skip-} --skip python_list::python_list_mirrors" +skip="${skip-} --skip python_list::python_list_with_mirrors" %endif %ifarch %{power64} # The error message lacks the expected hint: From ed61f5ae7d15883f39b4f7dea15260658bf78e5f Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Wed, 31 Dec 2025 12:00:34 +0000 Subject: [PATCH 134/214] Update and improve some spec-file comments [skip changelog] --- uv.spec | 35 +++++++++++++++++++++-------------- 1 file changed, 21 insertions(+), 14 deletions(-) diff --git a/uv.spec b/uv.spec index ab4f585..f93ba6e 100644 --- a/uv.spec +++ b/uv.spec @@ -154,19 +154,19 @@ ExcludeArch: %{ix86} # of memory in the final linking step. This cannot be fixed by adding # "-C link-args=-Wl,--no-keep-memory" to the RUSTFLAGS (as that seems to have # no significant effect on memory requirements), nor can it be fixed by -# reducing parallelism with e.g. the _smp_tasksize_proc global (although we do -# need this as well), since nothing else is happening at that point in the -# build. See: +# reducing parallelism (although we do need this as well), since nothing else +# is happening at that point in the build. See: # https://doc.rust-lang.org/rustc/codegen-options/index.html#debuginfo %global rustflags_debuginfo 1 # As a separate limitation, memory exhaustion can occur on builders with very # many CPUs. Typical workspace crates peak out at 2-4 GB per rustc invocation. -# The uv crate needs much more memory to compile (see the RUSTFLAGS adjustment -# in %%build), but in practice it is also compiled alone after all the other -# crates have finished, so it does not need to influence (and does not benefit -# from) this setting. Even though some crates will require more than 3GB, the -# average should be below that on many-core systems. Increase as needed. +# The uv crate needs much more memory to compile and link, but in practice it +# is also compiled alone after all the other crates have finished, so it does +# not need to influence (and does not benefit from) this setting. This setting +# does not necessarily have to reflect the maximum memory required to compile a +# workspace crate; keeping it well above the average suffices in practice on +# many-core systems. Increase as needed. %global _smp_tasksize_proc 4096 # Compilation may fail on builders with very many cores (e.g. 192 cores) due to @@ -194,18 +194,25 @@ BuildRequires: /usr/bin/python3.14t # use a system copy.” # # crates/uv-pep440/ -# Version number from Cargo.toml: +# Version number from crates/uv-pep440/CHANGELOG.md; it was also in +# crates/uv-pep440/Cargo.toml until uv 0.9.11, when internal crates started +# being versioned and published on crates.io. Provides: bundled(crate(pep440_rs)) = 0.7.0 # crates/uv-pep508/ -# Cargo.toml has 0.6.0, but Changelog.md shows 0.7.0, and the source reflects -# the changes for 0.7.0: +# Version number from crates/uv-pep508/Changelog.md; it was also in +# crates/uv-pep508/Cargo.toml until uv 0.9.11, when internal crates started +# being versioned and published on crates.io, but the version in Cargo.toml was +# 0.6.0. The source reflects upstream changes in 0.7.0. Provides: bundled(crate(pep508_rs)) = 0.7.0 # crates/uv-virtualenv/ # As a whole, this crate is derived from https://github.com/konstin/gourgeist # 0.0.4, which was published as https://crates.io/crates/gourgeist. It looks -# looks like the project was subsumed into `uv`, and the link to `uv` at -# https://konstin.github.io/gourgeist/ seems to support this, so we consider -# this not to be a real case of bundling, and we do not add: +# like the project was subsumed into `uv`, and the link to `uv` at +# https://konstin.github.io/gourgeist/ (“See +# https://github.com/astral-sh/uv/tree/main/crates/uv-virtualenv for the up to +# date version”) supports this. We therefore consider this not to be a real +# case of bundling, since the source in uv is now the canonical one, and we do +# not add: # Provides: bundled(crate(gourgeist)) = 0.0.4 # crates/uv-extract/src/vendor/cloneable_seekable_reader.rs From a8974caa95eb1a54822c86533fab8d4e38454e24 Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Wed, 31 Dec 2025 11:59:53 +0000 Subject: [PATCH 135/214] Update virtual Provides version for bundled virtualenv scripts --- uv.spec | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/uv.spec b/uv.spec index f93ba6e..0505020 100644 --- a/uv.spec +++ b/uv.spec @@ -266,9 +266,10 @@ Provides: bundled(crate(keyring)) = 4.0.0~rc2 # https://github.com/astral-sh/uv/issues/5588#issuecomment-2257474140 # # The scripts were last updated from virtualenv upstream in -# https://github.com/astral-sh/uv/pull/3376 on 2024-05-04; the latest -# virtualenv release at that time was 20.26.0. -Provides: bundled(python3dist(virtualenv)) = 20.26 +# https://github.com/astral-sh/uv/pull/15272 on 2025-09-05. The PR was opened +# on 2025-08-14 and last revised on 2025-08-30; the latest virtualenv release +# throughout that time interval was 20.34.0. +Provides: bundled(python3dist(virtualenv)) = 20.34 # The contents of crates/uv-python/python/packaging/ are a bundled copy of a # subset of https://pypi.org/project/packaging. From 8e73922e6195d7cd58e79f17f91220fc63f5c716 Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Sun, 4 Jan 2026 20:57:50 +0000 Subject: [PATCH 136/214] Backport gating several tests on python-managed feature --- 17312.patch | 45 +++++++++++++++++++++++++++++++++++++++++++++ uv.spec | 11 ++++------- 2 files changed, 49 insertions(+), 7 deletions(-) create mode 100644 17312.patch diff --git a/17312.patch b/17312.patch new file mode 100644 index 0000000..cbc2e0a --- /dev/null +++ b/17312.patch @@ -0,0 +1,45 @@ +From b41207adf1a874062ad672cf517f83bbabfacf46 Mon Sep 17 00:00:00 2001 +From: Tommy Bui Nguyen +Date: Sat, 3 Jan 2026 15:13:06 -0600 +Subject: [PATCH] Gate python_install tests on python-managed feature + +--- + crates/uv/tests/it/python_find.rs | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/crates/uv/tests/it/python_find.rs b/crates/uv/tests/it/python_find.rs +index b792115d35096..33f75a6565d2f 100644 +--- a/crates/uv/tests/it/python_find.rs ++++ b/crates/uv/tests/it/python_find.rs +@@ -1259,6 +1259,7 @@ fn python_find_path() { + } + + #[test] ++#[cfg(feature = "python-managed")] + fn python_find_freethreaded_313() { + let context: TestContext = TestContext::new_with_versions(&[]) + .with_filtered_python_keys() +@@ -1298,6 +1299,7 @@ fn python_find_freethreaded_313() { + } + + #[test] ++#[cfg(feature = "python-managed")] + fn python_find_freethreaded_314() { + let context: TestContext = TestContext::new_with_versions(&[]) + .with_filtered_python_keys() +@@ -1375,6 +1377,7 @@ fn python_find_freethreaded_314() { + } + + #[test] ++#[cfg(feature = "python-managed")] + fn python_find_prerelease_version_specifiers() { + let context: TestContext = TestContext::new_with_versions(&[]) + .with_filtered_python_keys() +@@ -1474,6 +1477,7 @@ fn python_find_prerelease_version_specifiers() { + } + + #[test] ++#[cfg(feature = "python-managed")] + fn python_find_prerelease_with_patch_request() { + let context: TestContext = TestContext::new_with_versions(&[]) + .with_filtered_python_keys() diff --git a/uv.spec b/uv.spec index 0505020..0e36bd6 100644 --- a/uv.spec +++ b/uv.spec @@ -147,6 +147,10 @@ Source1: uv.toml # https://github.com/astral-sh/uv/issues/4451 Patch: 0001-Downstream-patch-always-find-the-system-wide-uv-exec.patch +# Gate python_install tests on python-managed feature +# https://github.com/astral-sh/uv/pull/17312 +Patch: %{url}/pull/17312.patch + # https://fedoraproject.org/wiki/Changes/EncourageI686LeafRemoval ExcludeArch: %{ix86} @@ -562,13 +566,6 @@ skip="${skip-} --skip keyring::tests::fetch_url_with_password" skip="${skip-} --skip version::self_version" skip="${skip-} --skip version::self_version_json" skip="${skip-} --skip version::self_version_short" -%else -# Some python_find:: tests don’t find system interpreters, require network -# https://github.com/astral-sh/uv/issues/16431 -skip="${skip-} --skip python_find::python_find_freethreaded_313" -skip="${skip-} --skip python_find::python_find_freethreaded_314" -skip="${skip-} --skip python_find::python_find_prerelease_version_specifiers" -skip="${skip-} --skip python_find::python_find_prerelease_with_patch_request" %endif %ifnarch %{x86_64} %{arm64} From b47b5b2a5c677b4956632bfbca133a6b92f6096f Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Sun, 4 Jan 2026 22:19:03 +0000 Subject: [PATCH 137/214] Remove some EPEL10-specific test skips that are no longer required --- uv.spec | 8 -------- 1 file changed, 8 deletions(-) diff --git a/uv.spec b/uv.spec index 0e36bd6..ec9cb94 100644 --- a/uv.spec +++ b/uv.spec @@ -594,14 +594,6 @@ skip="${skip-} --skip registry_client::tests::test_redirect_to_server_with_crede # https://github.com/astral-sh/uv/pull/13699#issuecomment-2916115588. skip="${skip-} --skip remote_metadata::remote_metadata_with_and_without_cache" -%if %{defined el10} -# Trivial difference in snapshots: packages appear in a different order. -skip="${skip-} --skip lock::tests::missing_dependency_source_unambiguous" -skip="${skip-} --skip lock::tests::missing_dependency_version_dynamic" -skip="${skip-} --skip lock::tests::missing_dependency_source_version_unambiguous" -skip="${skip-} --skip lock::tests::missing_dependency_version_unambiguous" -%endif - # Upstream is trying to ensure platform-independent byte-for-byte deterministic # wheels. This isn’t quite working out. It would be nice to understand this, # but this kind of reproducibility can be brittle, and there are many possible From ab20f55ab6ac95f5d2eb755f3278971490853943 Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Tue, 6 Jan 2026 13:22:22 +0000 Subject: [PATCH 138/214] Update to 0.9.22 (close RHBZ#2427393) --- .gitignore | 1 + 17312.patch | 45 --------------------------------------------- sources | 2 +- uv.spec | 13 +------------ 4 files changed, 3 insertions(+), 58 deletions(-) delete mode 100644 17312.patch diff --git a/.gitignore b/.gitignore index 0941bb2..3018870 100644 --- a/.gitignore +++ b/.gitignore @@ -181,3 +181,4 @@ /uv-0.9.18.tar.gz /uv-0.9.20.tar.gz /uv-0.9.21.tar.gz +/uv-0.9.22.tar.gz diff --git a/17312.patch b/17312.patch deleted file mode 100644 index cbc2e0a..0000000 --- a/17312.patch +++ /dev/null @@ -1,45 +0,0 @@ -From b41207adf1a874062ad672cf517f83bbabfacf46 Mon Sep 17 00:00:00 2001 -From: Tommy Bui Nguyen -Date: Sat, 3 Jan 2026 15:13:06 -0600 -Subject: [PATCH] Gate python_install tests on python-managed feature - ---- - crates/uv/tests/it/python_find.rs | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/crates/uv/tests/it/python_find.rs b/crates/uv/tests/it/python_find.rs -index b792115d35096..33f75a6565d2f 100644 ---- a/crates/uv/tests/it/python_find.rs -+++ b/crates/uv/tests/it/python_find.rs -@@ -1259,6 +1259,7 @@ fn python_find_path() { - } - - #[test] -+#[cfg(feature = "python-managed")] - fn python_find_freethreaded_313() { - let context: TestContext = TestContext::new_with_versions(&[]) - .with_filtered_python_keys() -@@ -1298,6 +1299,7 @@ fn python_find_freethreaded_313() { - } - - #[test] -+#[cfg(feature = "python-managed")] - fn python_find_freethreaded_314() { - let context: TestContext = TestContext::new_with_versions(&[]) - .with_filtered_python_keys() -@@ -1375,6 +1377,7 @@ fn python_find_freethreaded_314() { - } - - #[test] -+#[cfg(feature = "python-managed")] - fn python_find_prerelease_version_specifiers() { - let context: TestContext = TestContext::new_with_versions(&[]) - .with_filtered_python_keys() -@@ -1474,6 +1477,7 @@ fn python_find_prerelease_version_specifiers() { - } - - #[test] -+#[cfg(feature = "python-managed")] - fn python_find_prerelease_with_patch_request() { - let context: TestContext = TestContext::new_with_versions(&[]) - .with_filtered_python_keys() diff --git a/sources b/sources index ce9a77d..010bcb8 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (uv-0.9.21.tar.gz) = 38c852dfca2bdfa839c37342ace2482d5182e2d4f7b4334ee32da200364912ccbedda04cf08cf89d974ad0f82c374444a19156c9df65ce11019d4a214bf26eb3 +SHA512 (uv-0.9.22.tar.gz) = 2dbe4075a8110384435a333ebe47e64429dcbd7e54891671e380b7904fb6f450bc50fc7a456e31448b46a51822216f234db9602674a5ecf6995052a3cfb5fcad diff --git a/uv.spec b/uv.spec index ec9cb94..b106fb6 100644 --- a/uv.spec +++ b/uv.spec @@ -11,7 +11,7 @@ %bcond it %{undefined el10} Name: uv -Version: 0.9.21 +Version: 0.9.22 Release: %autorelease Summary: An extremely fast Python package installer and resolver, written in Rust @@ -147,10 +147,6 @@ Source1: uv.toml # https://github.com/astral-sh/uv/issues/4451 Patch: 0001-Downstream-patch-always-find-the-system-wide-uv-exec.patch -# Gate python_install tests on python-managed feature -# https://github.com/astral-sh/uv/pull/17312 -Patch: %{url}/pull/17312.patch - # https://fedoraproject.org/wiki/Changes/EncourageI686LeafRemoval ExcludeArch: %{ix86} @@ -485,13 +481,6 @@ tomcli set crates/uv/Cargo.toml del dependencies.tracing-durations-export # # https://bugzilla.redhat.com/show_bug.cgi?id=1234567 # tomcli set Cargo.toml str workspace.dependencies.foocrate.version 0.1.2 -# procfs -# wanted: 0.17 -# currently packaged: 0.17, but an update to 0.18 is planned -# https://bugzilla.redhat.com/show_bug.cgi?id=2392071 -# https://github.com/astral-sh/uv/pull/17275 -tomcli set Cargo.toml str workspace.dependencies.procfs.version '>=0.17, <0.19' - %cargo_prep From 16598f02b31247325b0ee1acf7006d6ccbfcedbc Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Wed, 14 Jan 2026 13:01:32 +0000 Subject: [PATCH 139/214] Update to 0.9.26 (close RHBZ#2428381) - Update package description from upstream --- .gitignore | 1 + 17515.patch | 23 +++++++++++++++++++++++ 17520.patch | 22 ++++++++++++++++++++++ sources | 2 +- uv.rpmlintrc | 3 ++- uv.spec | 37 +++++++++++++++++++++---------------- 6 files changed, 70 insertions(+), 18 deletions(-) create mode 100644 17515.patch create mode 100644 17520.patch diff --git a/.gitignore b/.gitignore index 3018870..9d9ea33 100644 --- a/.gitignore +++ b/.gitignore @@ -182,3 +182,4 @@ /uv-0.9.20.tar.gz /uv-0.9.21.tar.gz /uv-0.9.22.tar.gz +/uv-0.9.26.tar.gz diff --git a/17515.patch b/17515.patch new file mode 100644 index 0000000..5cc2e8a --- /dev/null +++ b/17515.patch @@ -0,0 +1,23 @@ +From 37973d05d12df249842b3628a678371b6db8d622 Mon Sep 17 00:00:00 2001 +From: konstin +Date: Fri, 16 Jan 2026 13:43:03 +0100 +Subject: [PATCH] Add linux distro env vars to passthrough + +See #17509 +--- + crates/uv/tests/it/common/mod.rs | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/crates/uv/tests/it/common/mod.rs b/crates/uv/tests/it/common/mod.rs +index 3c195ebb40574..36bd45fa36ce1 100644 +--- a/crates/uv/tests/it/common/mod.rs ++++ b/crates/uv/tests/it/common/mod.rs +@@ -1736,6 +1736,8 @@ impl TestContext { + let mut command = Command::new(bin); + + let passthrough = [ ++ // For linux distributions ++ EnvVars::PATH, + // For debugging tests. + EnvVars::RUST_LOG, + EnvVars::RUST_BACKTRACE, diff --git a/17520.patch b/17520.patch new file mode 100644 index 0000000..7d8d2d8 --- /dev/null +++ b/17520.patch @@ -0,0 +1,22 @@ +From 1cba8a3c9241aa83beec3419c959f2c3013379e5 Mon Sep 17 00:00:00 2001 +From: "Benjamin A. Beasley" +Date: Fri, 16 Jan 2026 14:14:57 +0000 +Subject: [PATCH] Gate build_backend::build_with_all_metadata on pypi feature + +This test, added in 0.9.26, tries to download anyio from PyPI. +--- + crates/uv/tests/it/build_backend.rs | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/crates/uv/tests/it/build_backend.rs b/crates/uv/tests/it/build_backend.rs +index c0befe56d9b60..6f3965d2ca8fd 100644 +--- a/crates/uv/tests/it/build_backend.rs ++++ b/crates/uv/tests/it/build_backend.rs +@@ -1224,6 +1224,7 @@ fn invalid_pyproject_toml() -> Result<()> { + Ok(()) + } + ++#[cfg(feature = "pypi")] + #[test] + fn build_with_all_metadata() -> Result<()> { + let context = TestContext::new("3.12"); diff --git a/sources b/sources index 010bcb8..77eb26b 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (uv-0.9.22.tar.gz) = 2dbe4075a8110384435a333ebe47e64429dcbd7e54891671e380b7904fb6f450bc50fc7a456e31448b46a51822216f234db9602674a5ecf6995052a3cfb5fcad +SHA512 (uv-0.9.26.tar.gz) = b05776f9600ab117bcc4549bf618229c4d5f458bdef095e3174254184ea5ce5495e7f6a8d0266238bf434c27bb7eb6f54d2e755a7463434ce594637239459945 diff --git a/uv.rpmlintrc b/uv.rpmlintrc index a24db03..1c25d20 100644 --- a/uv.rpmlintrc +++ b/uv.rpmlintrc @@ -1,5 +1,6 @@ # Not real spelling errors -addFilter(r"spelling-error \('([Dd]eduplication|pipx|macOS|virtualenv)',") +addFilter(r"spelling-error \('([Ll]ockfile|[Ww]orkspace)s?',") +addFilter(r"spelling-error \('([Dd]eduplication|pipx|macOS|(py|virtual)env)',") # TODO: We would like to add man pages. addFilter(r" no-manual-page-for-binary uv$") # Since it is just equivalent to “uv tool run,” uvx is unlikely to get its own diff --git a/uv.spec b/uv.spec index b106fb6..00582d9 100644 --- a/uv.spec +++ b/uv.spec @@ -11,7 +11,7 @@ %bcond it %{undefined el10} Name: uv -Version: 0.9.22 +Version: 0.9.26 Release: %autorelease Summary: An extremely fast Python package installer and resolver, written in Rust @@ -147,6 +147,14 @@ Source1: uv.toml # https://github.com/astral-sh/uv/issues/4451 Patch: 0001-Downstream-patch-always-find-the-system-wide-uv-exec.patch +# Add linux distro env vars to passthrough +# https://github.com/astral-sh/uv/pull/17515 +Patch: %{url}/pull/17515.patch + +# Gate build_backend::build_with_all_metadata on pypi feature +# https://github.com/astral-sh/uv/pull/17520 +Patch: %{url}/pull/17520.patch + # https://fedoraproject.org/wiki/Changes/EncourageI686LeafRemoval ExcludeArch: %{ix86} @@ -310,24 +318,21 @@ Provides: bundled(python3dist(packaging)) = 24.1~dev0^20240310gitcc938f9 Provides: bundled(python3dist(pipreqs)) = 0.5.0 %global common_description %{expand: -An extremely fast Python package installer and resolver, written in Rust. -Designed as a drop-in replacement for common pip and pip-tools workflows. +An extremely fast Python package and project manager, written in Rust. Highlights: - • ⚖️ Drop-in replacement for common pip, pip-tools, and virtualenv commands. - • ⚡️ 10-100x faster than pip and pip-tools (pip-compile and pip-sync). - • 💾 Disk-space efficient, with a global cache for dependency deduplication. - • 🐍 Installable via curl, pip, pipx, etc. uv is a static binary that can be - installed without Rust or Python. - • 🧪 Tested at-scale against the top 10,000 PyPI packages. - • 🖥️ Support for macOS, Linux, and Windows. - • 🧰 Advanced features such as dependency version overrides and alternative - resolution strategies. - • ⁉️ Best-in-class error messages with a conflict-tracking resolver. - • 🤝 Support for a wide range of advanced pip features, including editable - installs, Git dependencies, direct URL dependencies, local dependencies, - constraints, source distributions, HTML and JSON indexes, and more.} + • A single tool to replace pip, pip-tools, pipx, poetry, pyenv, twine, + virtualenv, and more. + • 10-100x faster than pip. + • Provides comprehensive project management, with a universal lockfile. + • Runs scripts, with support for inline dependency metadata. + • Installs and manages Python versions. + • Runs and installs tools published as Python packages. + • Includes a pip-compatible interface for a performance boost with a familiar + CLI. + • Supports Cargo-style workspaces for scalable projects. + • Disk-space efficient, with a global cache for dependency deduplication.} %description %{common_description} From 874714f588c2660688b90aab1825c1289f8e56e7 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Sat, 17 Jan 2026 19:44:24 +0000 Subject: [PATCH 140/214] Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild From 7f30d0452e538d3ddfbed7e515888943152be721 Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Tue, 27 Jan 2026 10:45:22 +0000 Subject: [PATCH 141/214] Update to 0.9.27 --- .gitignore | 1 + 17515.patch | 23 ----------------------- 17520.patch | 22 ---------------------- sources | 2 +- uv.spec | 10 +--------- 5 files changed, 3 insertions(+), 55 deletions(-) delete mode 100644 17515.patch delete mode 100644 17520.patch diff --git a/.gitignore b/.gitignore index 9d9ea33..dd99ec2 100644 --- a/.gitignore +++ b/.gitignore @@ -183,3 +183,4 @@ /uv-0.9.21.tar.gz /uv-0.9.22.tar.gz /uv-0.9.26.tar.gz +/uv-0.9.27.tar.gz diff --git a/17515.patch b/17515.patch deleted file mode 100644 index 5cc2e8a..0000000 --- a/17515.patch +++ /dev/null @@ -1,23 +0,0 @@ -From 37973d05d12df249842b3628a678371b6db8d622 Mon Sep 17 00:00:00 2001 -From: konstin -Date: Fri, 16 Jan 2026 13:43:03 +0100 -Subject: [PATCH] Add linux distro env vars to passthrough - -See #17509 ---- - crates/uv/tests/it/common/mod.rs | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/crates/uv/tests/it/common/mod.rs b/crates/uv/tests/it/common/mod.rs -index 3c195ebb40574..36bd45fa36ce1 100644 ---- a/crates/uv/tests/it/common/mod.rs -+++ b/crates/uv/tests/it/common/mod.rs -@@ -1736,6 +1736,8 @@ impl TestContext { - let mut command = Command::new(bin); - - let passthrough = [ -+ // For linux distributions -+ EnvVars::PATH, - // For debugging tests. - EnvVars::RUST_LOG, - EnvVars::RUST_BACKTRACE, diff --git a/17520.patch b/17520.patch deleted file mode 100644 index 7d8d2d8..0000000 --- a/17520.patch +++ /dev/null @@ -1,22 +0,0 @@ -From 1cba8a3c9241aa83beec3419c959f2c3013379e5 Mon Sep 17 00:00:00 2001 -From: "Benjamin A. Beasley" -Date: Fri, 16 Jan 2026 14:14:57 +0000 -Subject: [PATCH] Gate build_backend::build_with_all_metadata on pypi feature - -This test, added in 0.9.26, tries to download anyio from PyPI. ---- - crates/uv/tests/it/build_backend.rs | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/crates/uv/tests/it/build_backend.rs b/crates/uv/tests/it/build_backend.rs -index c0befe56d9b60..6f3965d2ca8fd 100644 ---- a/crates/uv/tests/it/build_backend.rs -+++ b/crates/uv/tests/it/build_backend.rs -@@ -1224,6 +1224,7 @@ fn invalid_pyproject_toml() -> Result<()> { - Ok(()) - } - -+#[cfg(feature = "pypi")] - #[test] - fn build_with_all_metadata() -> Result<()> { - let context = TestContext::new("3.12"); diff --git a/sources b/sources index 77eb26b..18660c8 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (uv-0.9.26.tar.gz) = b05776f9600ab117bcc4549bf618229c4d5f458bdef095e3174254184ea5ce5495e7f6a8d0266238bf434c27bb7eb6f54d2e755a7463434ce594637239459945 +SHA512 (uv-0.9.27.tar.gz) = 3c71f9e7d64a32466697124b9b6e96ee3f260deb3abe016cf765e325976d5f1cafb2bc5a1e1aaf876efe5f2b5bc2d347560c2dc6c917f749da63d936621e96fd diff --git a/uv.spec b/uv.spec index 00582d9..1107f3e 100644 --- a/uv.spec +++ b/uv.spec @@ -11,7 +11,7 @@ %bcond it %{undefined el10} Name: uv -Version: 0.9.26 +Version: 0.9.27 Release: %autorelease Summary: An extremely fast Python package installer and resolver, written in Rust @@ -147,14 +147,6 @@ Source1: uv.toml # https://github.com/astral-sh/uv/issues/4451 Patch: 0001-Downstream-patch-always-find-the-system-wide-uv-exec.patch -# Add linux distro env vars to passthrough -# https://github.com/astral-sh/uv/pull/17515 -Patch: %{url}/pull/17515.patch - -# Gate build_backend::build_with_all_metadata on pypi feature -# https://github.com/astral-sh/uv/pull/17520 -Patch: %{url}/pull/17520.patch - # https://fedoraproject.org/wiki/Changes/EncourageI686LeafRemoval ExcludeArch: %{ix86} From 42c5ebd2ccc458f42f7855261ed6965ef5b10b5e Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Thu, 29 Jan 2026 22:31:51 +0000 Subject: [PATCH 142/214] Update to 0.9.28 (close RHBZ#2433149) --- .gitignore | 1 + sources | 2 +- uv.spec | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index dd99ec2..bfad341 100644 --- a/.gitignore +++ b/.gitignore @@ -184,3 +184,4 @@ /uv-0.9.22.tar.gz /uv-0.9.26.tar.gz /uv-0.9.27.tar.gz +/uv-0.9.28.tar.gz diff --git a/sources b/sources index 18660c8..9ebe815 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (uv-0.9.27.tar.gz) = 3c71f9e7d64a32466697124b9b6e96ee3f260deb3abe016cf765e325976d5f1cafb2bc5a1e1aaf876efe5f2b5bc2d347560c2dc6c917f749da63d936621e96fd +SHA512 (uv-0.9.28.tar.gz) = 5ecd47127f630596d81db5c33e5f279fba5b1249ef3dd92269cbdf4f7ade4fe750c0fa1093b557d456504abdb832b7682c81a2945efcd6f1b9d10d933a21bb61 diff --git a/uv.spec b/uv.spec index 1107f3e..35eee8a 100644 --- a/uv.spec +++ b/uv.spec @@ -11,7 +11,7 @@ %bcond it %{undefined el10} Name: uv -Version: 0.9.27 +Version: 0.9.28 Release: %autorelease Summary: An extremely fast Python package installer and resolver, written in Rust From 8241487e01f3d296a9560b9c4cefbe64af626940 Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Wed, 4 Feb 2026 06:55:55 +0000 Subject: [PATCH 143/214] Update to 0.9.29 (close RHBZ#2436550) --- .gitignore | 1 + sources | 2 +- uv.spec | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index bfad341..d3fa091 100644 --- a/.gitignore +++ b/.gitignore @@ -185,3 +185,4 @@ /uv-0.9.26.tar.gz /uv-0.9.27.tar.gz /uv-0.9.28.tar.gz +/uv-0.9.29.tar.gz diff --git a/sources b/sources index 9ebe815..a9d3a99 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (uv-0.9.28.tar.gz) = 5ecd47127f630596d81db5c33e5f279fba5b1249ef3dd92269cbdf4f7ade4fe750c0fa1093b557d456504abdb832b7682c81a2945efcd6f1b9d10d933a21bb61 +SHA512 (uv-0.9.29.tar.gz) = 02db296e156b19bd68663247d0537757550cfd11a8dc1cad650f28436607ee24ae502007c69969d624290d01700998ac4fb0a5935c009a22ef0db40eedf4a502 diff --git a/uv.spec b/uv.spec index 35eee8a..140054e 100644 --- a/uv.spec +++ b/uv.spec @@ -11,7 +11,7 @@ %bcond it %{undefined el10} Name: uv -Version: 0.9.28 +Version: 0.9.29 Release: %autorelease Summary: An extremely fast Python package installer and resolver, written in Rust From 217a541f186b96915f83a0a075d59564a0e44256 Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Thu, 5 Feb 2026 06:57:03 +0000 Subject: [PATCH 144/214] Update to 0.9.30 (close RHBZ#2437002) --- .gitignore | 1 + sources | 2 +- uv.spec | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index d3fa091..0ea7320 100644 --- a/.gitignore +++ b/.gitignore @@ -186,3 +186,4 @@ /uv-0.9.27.tar.gz /uv-0.9.28.tar.gz /uv-0.9.29.tar.gz +/uv-0.9.30.tar.gz diff --git a/sources b/sources index a9d3a99..68e4eec 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (uv-0.9.29.tar.gz) = 02db296e156b19bd68663247d0537757550cfd11a8dc1cad650f28436607ee24ae502007c69969d624290d01700998ac4fb0a5935c009a22ef0db40eedf4a502 +SHA512 (uv-0.9.30.tar.gz) = 15484325d652e07a23b29284f25d496920819609d2375c5e91b8ae9fba7dc084d5ade22fb5610237a2a92b69a088fee6028f8f2dbb2ba113393fca1687b99062 diff --git a/uv.spec b/uv.spec index 140054e..45f264b 100644 --- a/uv.spec +++ b/uv.spec @@ -11,7 +11,7 @@ %bcond it %{undefined el10} Name: uv -Version: 0.9.29 +Version: 0.9.30 Release: %autorelease Summary: An extremely fast Python package installer and resolver, written in Rust From ac64e54298af32c26fb968b6f6b198cab169b1cd Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Sun, 8 Feb 2026 04:33:36 +0000 Subject: [PATCH 145/214] Rebuilt with jsonwebtoken patched for CVE-2026-25537 - Fixes RHBZ#2437472; fixes RHBZ#2437467; fixes RHBZ#2437461 From 1049cd85190a74f5b22fa293b8dbc698556a1890 Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Fri, 6 Feb 2026 13:44:22 +0000 Subject: [PATCH 146/214] Add a note about Updates Policy exceptions to the spec file [skip changelog] --- uv.spec | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/uv.spec b/uv.spec index 45f264b..b0af1ef 100644 --- a/uv.spec +++ b/uv.spec @@ -12,6 +12,13 @@ Name: uv Version: 0.9.30 +# The uv package has a permanent exception to the Updates Policy in Fedora, so +# it can be updated in stable releases across SemVer boundaries (subject to +# good judgement and actual compatibility of any reverse dependencies). See +# https://docs.fedoraproject.org/en-US/fesco/Updates_Policy/#_other_packages, +# https://pagure.io/fesco/issue/3262. It also has a corresponding exception in +# EPEL, but only in leading branches and only until version 1.0; see +# https://pagure.io/epel/issue/317. Release: %autorelease Summary: An extremely fast Python package installer and resolver, written in Rust From 9db643ba7613f63e32978ed619dbbfe5deb434d0 Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Fri, 6 Feb 2026 11:27:33 +0000 Subject: [PATCH 147/214] Update to 0.10.0 (close RHBZ#2437188) --- .gitignore | 1 + sources | 2 +- uv.spec | 26 +++++++++++++------------- 3 files changed, 15 insertions(+), 14 deletions(-) diff --git a/.gitignore b/.gitignore index 0ea7320..9cd42d7 100644 --- a/.gitignore +++ b/.gitignore @@ -187,3 +187,4 @@ /uv-0.9.28.tar.gz /uv-0.9.29.tar.gz /uv-0.9.30.tar.gz +/uv-0.10.0.tar.gz diff --git a/sources b/sources index 68e4eec..87bfdfe 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (uv-0.9.30.tar.gz) = 15484325d652e07a23b29284f25d496920819609d2375c5e91b8ae9fba7dc084d5ade22fb5610237a2a92b69a088fee6028f8f2dbb2ba113393fca1687b99062 +SHA512 (uv-0.10.0.tar.gz) = 84bf1ecfa730cbb4fe4c602dba3ef3d58bf070472cde5f160291fabfdd7630fd8dcbb45b10e7abcb00db6898d5cefa8ac616c68dfa56bb15640ce6211caff51d diff --git a/uv.spec b/uv.spec index b0af1ef..a51be56 100644 --- a/uv.spec +++ b/uv.spec @@ -11,7 +11,7 @@ %bcond it %{undefined el10} Name: uv -Version: 0.9.30 +Version: 0.10.0 # The uv package has a permanent exception to the Updates Policy in Fedora, so # it can be updated in stable releases across SemVer boundaries (subject to # good judgement and actual compatibility of any reverse dependencies). See @@ -425,28 +425,28 @@ tomcli set crates/uv-extract/Cargo.toml del features.static # Disable several default features that control which tests are compiled and # executed, and which are not usable in offline builds: # -# - crates-io: Introduces a testing dependency on crates.io. -# - git: Introduces a testing dependency on Git. This sounds innocuous – we -# have git! – but in fact, it controls tests of git dependencies, which +# - test-crates-io: Introduces a testing dependency on crates.io. +# - test-git: Introduces a testing dependency on Git. This sounds innocuous – +# we have git! – but in fact, it controls tests of git dependencies, which # implies accessing remote repositories, e.g. on GitHub. -# - git-lfs: as for git, but also require Git Large File Storage; again, this -# implies accessing remote repositories -# - pypi: Introduces a testing dependency on PyPI. -# - python-managed: Introduces a testing dependency on managed Python +# - test-git-lfs: as for git, but also require Git Large File Storage; again, +# this implies accessing remote repositories +# - test-pypi: Introduces a testing dependency on PyPI. +# - test-python-managed: Introduces a testing dependency on managed Python # installations. (These are pre-compiled Pythons downloaded from the # Internet.) -# - r2: Introduces a testing dependency on R2. +# - test-r2: Introduces a testing dependency on R2. # # These are OK: -# - python: Introduces a testing dependency on a local Python installation. -# - slow-tests: Include "slow" test cases. +# - test-python: Introduces a testing dependency on a local Python installation. +# - test-slow: Include "slow" test cases. # - test-ecosystem: Includes test cases that require ecosystem packages # # Note that the python-patch feature, which ”introduces a dependency on a local # Python installation with specific patch versions,” is already not among the # default features. -tomcli set crates/uv/Cargo.toml lists delitem features.default-tests \ - '(crates-io|git(-lfs)?|pypi|python-managed|r2)' +tomcli set crates/uv/Cargo.toml lists delitem features.test-defaults \ + 'test-(crates-io|git(-lfs)?|pypi|python-managed|r2)' %if %{without it} # Integration tests (it crate) nearly all require specific Python interpreter From 81dfdec1ce5ec842f1e2899eff869e18182e25bb Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Tue, 10 Feb 2026 13:14:24 +0000 Subject: [PATCH 148/214] Update to 0.10.1 (close RHBZ#2437188) --- .gitignore | 1 + sources | 2 +- uv.spec | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 9cd42d7..adff275 100644 --- a/.gitignore +++ b/.gitignore @@ -188,3 +188,4 @@ /uv-0.9.29.tar.gz /uv-0.9.30.tar.gz /uv-0.10.0.tar.gz +/uv-0.10.1.tar.gz diff --git a/sources b/sources index 87bfdfe..92b0378 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (uv-0.10.0.tar.gz) = 84bf1ecfa730cbb4fe4c602dba3ef3d58bf070472cde5f160291fabfdd7630fd8dcbb45b10e7abcb00db6898d5cefa8ac616c68dfa56bb15640ce6211caff51d +SHA512 (uv-0.10.1.tar.gz) = 8528cd60cc288b1059b76a323e9ce924c426746a4202623232b8417fe4adda65f209cbaa9a6919e705f1426243071c6d377922abdb72647ea427370a1024a5d4 diff --git a/uv.spec b/uv.spec index a51be56..e9b4d52 100644 --- a/uv.spec +++ b/uv.spec @@ -11,7 +11,7 @@ %bcond it %{undefined el10} Name: uv -Version: 0.10.0 +Version: 0.10.1 # The uv package has a permanent exception to the Updates Policy in Fedora, so # it can be updated in stable releases across SemVer boundaries (subject to # good judgement and actual compatibility of any reverse dependencies). See From df33469348778e87cb1a4306fc28bf5587edbed3 Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Tue, 10 Feb 2026 19:43:28 +0000 Subject: [PATCH 149/214] Update to 0.10.2 --- .gitignore | 1 + sources | 2 +- uv.spec | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index adff275..5b320aa 100644 --- a/.gitignore +++ b/.gitignore @@ -189,3 +189,4 @@ /uv-0.9.30.tar.gz /uv-0.10.0.tar.gz /uv-0.10.1.tar.gz +/uv-0.10.2.tar.gz diff --git a/sources b/sources index 92b0378..ea7d8a1 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (uv-0.10.1.tar.gz) = 8528cd60cc288b1059b76a323e9ce924c426746a4202623232b8417fe4adda65f209cbaa9a6919e705f1426243071c6d377922abdb72647ea427370a1024a5d4 +SHA512 (uv-0.10.2.tar.gz) = 7592217ce76cd0a418a4979df045890e215c5bcff53d18e34924e0d57ec388fc8ce56b3fdc7ee473f131de5d04a4349b1dbb9d5a585493a0cd9a22dfd51e9cfc diff --git a/uv.spec b/uv.spec index e9b4d52..cb3154c 100644 --- a/uv.spec +++ b/uv.spec @@ -11,7 +11,7 @@ %bcond it %{undefined el10} Name: uv -Version: 0.10.1 +Version: 0.10.2 # The uv package has a permanent exception to the Updates Policy in Fedora, so # it can be updated in stable releases across SemVer boundaries (subject to # good judgement and actual compatibility of any reverse dependencies). See From 79c3e0b92a5f066ae959e22072f09e0864b15a5d Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Mon, 16 Feb 2026 14:44:57 +0000 Subject: [PATCH 150/214] Update to 0.10.3 (close RHBZ#2440201) --- .gitignore | 1 + sources | 2 +- uv.spec | 11 ++++++++++- 3 files changed, 12 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 5b320aa..774ddda 100644 --- a/.gitignore +++ b/.gitignore @@ -190,3 +190,4 @@ /uv-0.10.0.tar.gz /uv-0.10.1.tar.gz /uv-0.10.2.tar.gz +/uv-0.10.3.tar.gz diff --git a/sources b/sources index ea7d8a1..f82f1fc 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (uv-0.10.2.tar.gz) = 7592217ce76cd0a418a4979df045890e215c5bcff53d18e34924e0d57ec388fc8ce56b3fdc7ee473f131de5d04a4349b1dbb9d5a585493a0cd9a22dfd51e9cfc +SHA512 (uv-0.10.3.tar.gz) = a8f41a5fc74b30f8e0dd7bd24786148a35230f14237872211e56539f3892b02b59a0e06ad6400fa000b13c659b6286065294337c73749f6c51aca17f22ed5d69 diff --git a/uv.spec b/uv.spec index cb3154c..c0eefa0 100644 --- a/uv.spec +++ b/uv.spec @@ -11,7 +11,7 @@ %bcond it %{undefined el10} Name: uv -Version: 0.10.2 +Version: 0.10.3 # The uv package has a permanent exception to the Updates Policy in Fedora, so # it can be updated in stable releases across SemVer boundaries (subject to # good judgement and actual compatibility of any reverse dependencies). See @@ -417,6 +417,8 @@ tomcli set Cargo.toml append workspace.exclude crates/uv-bench tomcli set Cargo.toml append workspace.exclude crates/uv-dev # Do not request static linking of anything (particularly, liblzma) +tomcli set Cargo.toml lists delitem \ + workspace.dependencies.xz2.features 'static' tomcli set crates/uv/Cargo.toml lists delitem \ features.default 'uv-distribution/static' tomcli set crates/uv-distribution/Cargo.toml del features.static @@ -485,6 +487,13 @@ tomcli set crates/uv/Cargo.toml del dependencies.tracing-durations-export # # https://bugzilla.redhat.com/show_bug.cgi?id=1234567 # tomcli set Cargo.toml str workspace.dependencies.foocrate.version 0.1.2 +# zip +# wanted: >=2.2.3, <7.2 +# currently packaged: 7.2 +# pinned upstream due to different output on Windows; OK on Linux +# https://github.com/zip-rs/zip2/issues/656 +tomcli set Cargo.toml str workspace.dependencies.zip.version '>=2.2.3' + %cargo_prep From acb13ef9a9c5dd0763a47f19a946ef1f79354fc6 Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Wed, 18 Feb 2026 08:21:21 +0000 Subject: [PATCH 151/214] Update to 0.10.4 (close RHBZ#2440513) --- .gitignore | 1 + sources | 2 +- uv.spec | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 774ddda..1f40e40 100644 --- a/.gitignore +++ b/.gitignore @@ -191,3 +191,4 @@ /uv-0.10.1.tar.gz /uv-0.10.2.tar.gz /uv-0.10.3.tar.gz +/uv-0.10.4.tar.gz diff --git a/sources b/sources index f82f1fc..a59c73c 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (uv-0.10.3.tar.gz) = a8f41a5fc74b30f8e0dd7bd24786148a35230f14237872211e56539f3892b02b59a0e06ad6400fa000b13c659b6286065294337c73749f6c51aca17f22ed5d69 +SHA512 (uv-0.10.4.tar.gz) = 0ca01e6d42ac1e773b0366b9ffa44806ec4c19a920f9c33c9d6cc12dbc60d7564b8667bce85628db1e571b7c478bec3946c48875a42f45f77da6be78f2de5f37 diff --git a/uv.spec b/uv.spec index c0eefa0..5a16465 100644 --- a/uv.spec +++ b/uv.spec @@ -11,7 +11,7 @@ %bcond it %{undefined el10} Name: uv -Version: 0.10.3 +Version: 0.10.4 # The uv package has a permanent exception to the Updates Policy in Fedora, so # it can be updated in stable releases across SemVer boundaries (subject to # good judgement and actual compatibility of any reverse dependencies). See From b28ba9320690196fba9c70008d85d49ff2653dea Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Tue, 24 Feb 2026 08:02:27 +0000 Subject: [PATCH 152/214] Update to 0.10.5 --- .gitignore | 1 + sources | 2 +- uv.spec | 9 +-------- 3 files changed, 3 insertions(+), 9 deletions(-) diff --git a/.gitignore b/.gitignore index 1f40e40..5725fc3 100644 --- a/.gitignore +++ b/.gitignore @@ -192,3 +192,4 @@ /uv-0.10.2.tar.gz /uv-0.10.3.tar.gz /uv-0.10.4.tar.gz +/uv-0.10.5.tar.gz diff --git a/sources b/sources index a59c73c..09c52e8 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (uv-0.10.4.tar.gz) = 0ca01e6d42ac1e773b0366b9ffa44806ec4c19a920f9c33c9d6cc12dbc60d7564b8667bce85628db1e571b7c478bec3946c48875a42f45f77da6be78f2de5f37 +SHA512 (uv-0.10.5.tar.gz) = 7a01860e173f386f7feef10a33f9c49958e872a52df85627aadf7c09a54d4f8b01e429e91a83d96bcf7ac14ff9de01c2406fe7cb45b0128836328cd4a79895f9 diff --git a/uv.spec b/uv.spec index 5a16465..8e6bf69 100644 --- a/uv.spec +++ b/uv.spec @@ -11,7 +11,7 @@ %bcond it %{undefined el10} Name: uv -Version: 0.10.4 +Version: 0.10.5 # The uv package has a permanent exception to the Updates Policy in Fedora, so # it can be updated in stable releases across SemVer boundaries (subject to # good judgement and actual compatibility of any reverse dependencies). See @@ -487,13 +487,6 @@ tomcli set crates/uv/Cargo.toml del dependencies.tracing-durations-export # # https://bugzilla.redhat.com/show_bug.cgi?id=1234567 # tomcli set Cargo.toml str workspace.dependencies.foocrate.version 0.1.2 -# zip -# wanted: >=2.2.3, <7.2 -# currently packaged: 7.2 -# pinned upstream due to different output on Windows; OK on Linux -# https://github.com/zip-rs/zip2/issues/656 -tomcli set Cargo.toml str workspace.dependencies.zip.version '>=2.2.3' - %cargo_prep From 5110a9471ede38af07a3100508852a90a940db75 Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Wed, 25 Feb 2026 07:19:42 +0000 Subject: [PATCH 153/214] Update to 0.10.6 (close RHBZ#2442225) --- .gitignore | 1 + sources | 2 +- uv.spec | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 5725fc3..3c4c463 100644 --- a/.gitignore +++ b/.gitignore @@ -193,3 +193,4 @@ /uv-0.10.3.tar.gz /uv-0.10.4.tar.gz /uv-0.10.5.tar.gz +/uv-0.10.6.tar.gz diff --git a/sources b/sources index 09c52e8..4852594 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (uv-0.10.5.tar.gz) = 7a01860e173f386f7feef10a33f9c49958e872a52df85627aadf7c09a54d4f8b01e429e91a83d96bcf7ac14ff9de01c2406fe7cb45b0128836328cd4a79895f9 +SHA512 (uv-0.10.6.tar.gz) = 5237b6961677d981af3320bb53958712c43f95de17af1d172015ba2ea80e02189b5ff9ea35d594211a4341bcaf8f55858a68ca5625c5d3dc7d17e5acaf39837d diff --git a/uv.spec b/uv.spec index 8e6bf69..6204246 100644 --- a/uv.spec +++ b/uv.spec @@ -11,7 +11,7 @@ %bcond it %{undefined el10} Name: uv -Version: 0.10.5 +Version: 0.10.6 # The uv package has a permanent exception to the Updates Policy in Fedora, so # it can be updated in stable releases across SemVer boundaries (subject to # good judgement and actual compatibility of any reverse dependencies). See From d318fa11f8d8d97136664877d23514931c9a06b4 Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Fri, 27 Feb 2026 13:44:05 +0000 Subject: [PATCH 154/214] Update to 0.10.7 (close RHBZ#2443313) --- .gitignore | 1 + sources | 2 +- uv.spec | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 3c4c463..17b8f6c 100644 --- a/.gitignore +++ b/.gitignore @@ -194,3 +194,4 @@ /uv-0.10.4.tar.gz /uv-0.10.5.tar.gz /uv-0.10.6.tar.gz +/uv-0.10.7.tar.gz diff --git a/sources b/sources index 4852594..e095522 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (uv-0.10.6.tar.gz) = 5237b6961677d981af3320bb53958712c43f95de17af1d172015ba2ea80e02189b5ff9ea35d594211a4341bcaf8f55858a68ca5625c5d3dc7d17e5acaf39837d +SHA512 (uv-0.10.7.tar.gz) = 9a3c6fa356c655afad15c5b454efac9c7db4a4b4870903232a7a75bfdd778a18b7d5a59aa88a561445e5898d0b2c76e33c87081b113283c8bbd43f15645d404f diff --git a/uv.spec b/uv.spec index 6204246..8436c36 100644 --- a/uv.spec +++ b/uv.spec @@ -11,7 +11,7 @@ %bcond it %{undefined el10} Name: uv -Version: 0.10.6 +Version: 0.10.7 # The uv package has a permanent exception to the Updates Policy in Fedora, so # it can be updated in stable releases across SemVer boundaries (subject to # good judgement and actual compatibility of any reverse dependencies). See From 30d15f1c735986be68711f28d5ad829489e45dcf Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Wed, 4 Mar 2026 07:02:19 +0000 Subject: [PATCH 155/214] Update to 0.10.8 (close RHBZ#2444235) --- .gitignore | 1 + sources | 2 +- uv.spec | 5 ++++- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 17b8f6c..3bdd950 100644 --- a/.gitignore +++ b/.gitignore @@ -195,3 +195,4 @@ /uv-0.10.5.tar.gz /uv-0.10.6.tar.gz /uv-0.10.7.tar.gz +/uv-0.10.8.tar.gz diff --git a/sources b/sources index e095522..804321a 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (uv-0.10.7.tar.gz) = 9a3c6fa356c655afad15c5b454efac9c7db4a4b4870903232a7a75bfdd778a18b7d5a59aa88a561445e5898d0b2c76e33c87081b113283c8bbd43f15645d404f +SHA512 (uv-0.10.8.tar.gz) = d5eef1a7a46e25bbe534769c3b2894d573f50221b1dfb4ec78abaa73ec78fbe75f2cb785f2101155c5b7a7984138ff20efc3a51548a0209ffbf7aff8367e4960 diff --git a/uv.spec b/uv.spec index 8436c36..8c267e7 100644 --- a/uv.spec +++ b/uv.spec @@ -11,7 +11,7 @@ %bcond it %{undefined el10} Name: uv -Version: 0.10.7 +Version: 0.10.8 # The uv package has a permanent exception to the Updates Policy in Fedora, so # it can be updated in stable releases across SemVer boundaries (subject to # good judgement and actual compatibility of any reverse dependencies). See @@ -449,6 +449,9 @@ tomcli set crates/uv-extract/Cargo.toml del features.static # default features. tomcli set crates/uv/Cargo.toml lists delitem features.test-defaults \ 'test-(crates-io|git(-lfs)?|pypi|python-managed|r2)' +# - -test-osv: Introduces a testing dependency on osv.dev. +tomcli set crates/uv-audit/Cargo.toml lists delitem features.default \ + 'test-(osv)' %if %{without it} # Integration tests (it crate) nearly all require specific Python interpreter From 5b914dbeb0ba0fc170987b2e5aac9bbda76eb84b Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Sun, 8 Mar 2026 09:09:05 +0000 Subject: [PATCH 156/214] Update to 0.10.9 (close RHBZ#2445402) --- .gitignore | 1 + 18369.patch | 33 +++++++++++++++++++++++++++++++++ sources | 2 +- uv.spec | 6 +++++- 4 files changed, 40 insertions(+), 2 deletions(-) create mode 100644 18369.patch diff --git a/.gitignore b/.gitignore index 3bdd950..8d583dd 100644 --- a/.gitignore +++ b/.gitignore @@ -196,3 +196,4 @@ /uv-0.10.6.tar.gz /uv-0.10.7.tar.gz /uv-0.10.8.tar.gz +/uv-0.10.9.tar.gz diff --git a/18369.patch b/18369.patch new file mode 100644 index 0000000..d4c2e3f --- /dev/null +++ b/18369.patch @@ -0,0 +1,33 @@ +From eb875e65ebeba1236571f92234bcc8508cb2f92f Mon Sep 17 00:00:00 2001 +From: "Benjamin A. Beasley" +Date: Sun, 8 Mar 2026 13:06:37 +0000 +Subject: [PATCH] Conditionalize two new tests on the test-pypi feature + +Both `build_backend::tool_uv_build_backend_without_build_backend` and +`build_backend::tool_uv_build_backend_wrong_build_backend` fail in +offline environments because they try to download a build backend from +PyPI. +--- + crates/uv/tests/it/build_backend.rs | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/crates/uv/tests/it/build_backend.rs b/crates/uv/tests/it/build_backend.rs +index a01705a6765c4..454f2b1ad8594 100644 +--- a/crates/uv/tests/it/build_backend.rs ++++ b/crates/uv/tests/it/build_backend.rs +@@ -1449,6 +1449,7 @@ fn build_with_all_metadata() -> Result<()> { + /// Warn for cases where `tool.uv.build-backend` is used without the corresponding build backend + /// entry. + #[test] ++#[cfg(feature = "test-pypi")] + fn tool_uv_build_backend_without_build_backend() -> Result<()> { + let context = uv_test::test_context!("3.12"); + +@@ -1512,6 +1513,7 @@ fn tool_uv_build_backend_without_build_backend() -> Result<()> { + /// Warn for cases where `tool.uv.build-backend` is used without the corresponding build backend + /// entry. + #[test] ++#[cfg(feature = "test-pypi")] + fn tool_uv_build_backend_wrong_build_backend() -> Result<()> { + let context = uv_test::test_context!("3.12"); + diff --git a/sources b/sources index 804321a..b0a112d 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (uv-0.10.8.tar.gz) = d5eef1a7a46e25bbe534769c3b2894d573f50221b1dfb4ec78abaa73ec78fbe75f2cb785f2101155c5b7a7984138ff20efc3a51548a0209ffbf7aff8367e4960 +SHA512 (uv-0.10.9.tar.gz) = 14a6f13aa6706a6888b471ae8ca161f5f413036624b276de10a92d29a07f759d5080ea496e0229b9c89e431c370689a25a107655bc24b65fa7972411036c6dfd diff --git a/uv.spec b/uv.spec index 8c267e7..d833d80 100644 --- a/uv.spec +++ b/uv.spec @@ -11,7 +11,7 @@ %bcond it %{undefined el10} Name: uv -Version: 0.10.8 +Version: 0.10.9 # The uv package has a permanent exception to the Updates Policy in Fedora, so # it can be updated in stable releases across SemVer boundaries (subject to # good judgement and actual compatibility of any reverse dependencies). See @@ -154,6 +154,10 @@ Source1: uv.toml # https://github.com/astral-sh/uv/issues/4451 Patch: 0001-Downstream-patch-always-find-the-system-wide-uv-exec.patch +# Conditionalize two new tests on the test-pypi feature +# https://github.com/astral-sh/uv/pull/18369 +Patch: %{url}/pull/18369.patch + # https://fedoraproject.org/wiki/Changes/EncourageI686LeafRemoval ExcludeArch: %{ix86} From 24ce0367ede5ce3a86bb8774d45852022e3013ed Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Sun, 15 Mar 2026 07:05:04 +0000 Subject: [PATCH 157/214] Update to 0.10.10 (close RHBZ#2447540) --- .gitignore | 1 + ...-always-find-the-system-wide-uv-exec.patch | 6 ++-- 18369.patch | 33 ------------------- sources | 2 +- uv.spec | 6 +--- 5 files changed, 6 insertions(+), 42 deletions(-) delete mode 100644 18369.patch diff --git a/.gitignore b/.gitignore index 8d583dd..31f7a7a 100644 --- a/.gitignore +++ b/.gitignore @@ -197,3 +197,4 @@ /uv-0.10.7.tar.gz /uv-0.10.8.tar.gz /uv-0.10.9.tar.gz +/uv-0.10.10.tar.gz diff --git a/0001-Downstream-patch-always-find-the-system-wide-uv-exec.patch b/0001-Downstream-patch-always-find-the-system-wide-uv-exec.patch index d60ea47..1552d94 100644 --- a/0001-Downstream-patch-always-find-the-system-wide-uv-exec.patch +++ b/0001-Downstream-patch-always-find-the-system-wide-uv-exec.patch @@ -1,4 +1,4 @@ -From 2a9baed6b1246c566e1bed531b17363277e99c0f Mon Sep 17 00:00:00 2001 +From 831cf2937a4b8b781d56d5fa18916d2bc42b244d Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Sun, 23 Jun 2024 16:29:05 -0400 Subject: [PATCH] Downstream patch: always find the system-wide uv executable @@ -13,7 +13,7 @@ https://github.com/astral-sh/uv/issues/4451 1 file changed, 8 insertions(+) diff --git a/python/uv/_find_uv.py b/python/uv/_find_uv.py -index 736288a4c..306451db2 100644 +index ebe6b8d5a..e25a2e28c 100644 --- a/python/uv/_find_uv.py +++ b/python/uv/_find_uv.py @@ -35,6 +35,14 @@ def find_uv_bin() -> str: @@ -32,5 +32,5 @@ index 736288a4c..306451db2 100644 for target in targets: if not target: -- -2.50.1 +2.53.0 diff --git a/18369.patch b/18369.patch deleted file mode 100644 index d4c2e3f..0000000 --- a/18369.patch +++ /dev/null @@ -1,33 +0,0 @@ -From eb875e65ebeba1236571f92234bcc8508cb2f92f Mon Sep 17 00:00:00 2001 -From: "Benjamin A. Beasley" -Date: Sun, 8 Mar 2026 13:06:37 +0000 -Subject: [PATCH] Conditionalize two new tests on the test-pypi feature - -Both `build_backend::tool_uv_build_backend_without_build_backend` and -`build_backend::tool_uv_build_backend_wrong_build_backend` fail in -offline environments because they try to download a build backend from -PyPI. ---- - crates/uv/tests/it/build_backend.rs | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/crates/uv/tests/it/build_backend.rs b/crates/uv/tests/it/build_backend.rs -index a01705a6765c4..454f2b1ad8594 100644 ---- a/crates/uv/tests/it/build_backend.rs -+++ b/crates/uv/tests/it/build_backend.rs -@@ -1449,6 +1449,7 @@ fn build_with_all_metadata() -> Result<()> { - /// Warn for cases where `tool.uv.build-backend` is used without the corresponding build backend - /// entry. - #[test] -+#[cfg(feature = "test-pypi")] - fn tool_uv_build_backend_without_build_backend() -> Result<()> { - let context = uv_test::test_context!("3.12"); - -@@ -1512,6 +1513,7 @@ fn tool_uv_build_backend_without_build_backend() -> Result<()> { - /// Warn for cases where `tool.uv.build-backend` is used without the corresponding build backend - /// entry. - #[test] -+#[cfg(feature = "test-pypi")] - fn tool_uv_build_backend_wrong_build_backend() -> Result<()> { - let context = uv_test::test_context!("3.12"); - diff --git a/sources b/sources index b0a112d..b4f9775 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (uv-0.10.9.tar.gz) = 14a6f13aa6706a6888b471ae8ca161f5f413036624b276de10a92d29a07f759d5080ea496e0229b9c89e431c370689a25a107655bc24b65fa7972411036c6dfd +SHA512 (uv-0.10.10.tar.gz) = b95ad2534ecc57f2a4e4235d632c006283cdf0ccb8c629be880f45137cbc17ed2ee3b0a6459bbedc0603ee9b044044495a67752c549daabd9e49484afc343635 diff --git a/uv.spec b/uv.spec index d833d80..5419059 100644 --- a/uv.spec +++ b/uv.spec @@ -11,7 +11,7 @@ %bcond it %{undefined el10} Name: uv -Version: 0.10.9 +Version: 0.10.10 # The uv package has a permanent exception to the Updates Policy in Fedora, so # it can be updated in stable releases across SemVer boundaries (subject to # good judgement and actual compatibility of any reverse dependencies). See @@ -154,10 +154,6 @@ Source1: uv.toml # https://github.com/astral-sh/uv/issues/4451 Patch: 0001-Downstream-patch-always-find-the-system-wide-uv-exec.patch -# Conditionalize two new tests on the test-pypi feature -# https://github.com/astral-sh/uv/pull/18369 -Patch: %{url}/pull/18369.patch - # https://fedoraproject.org/wiki/Changes/EncourageI686LeafRemoval ExcludeArch: %{ix86} From a1f57b123ba1cc5fd985ad329906fde78002a225 Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Tue, 17 Mar 2026 12:04:07 +0000 Subject: [PATCH 158/214] Update to 0.10.11 (close RHBZ#2448300) --- .gitignore | 1 + sources | 2 +- uv.spec | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 31f7a7a..9ca428a 100644 --- a/.gitignore +++ b/.gitignore @@ -198,3 +198,4 @@ /uv-0.10.8.tar.gz /uv-0.10.9.tar.gz /uv-0.10.10.tar.gz +/uv-0.10.11.tar.gz diff --git a/sources b/sources index b4f9775..d3b9e37 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (uv-0.10.10.tar.gz) = b95ad2534ecc57f2a4e4235d632c006283cdf0ccb8c629be880f45137cbc17ed2ee3b0a6459bbedc0603ee9b044044495a67752c549daabd9e49484afc343635 +SHA512 (uv-0.10.11.tar.gz) = d6ae4c6b0be58505322ed6815f47b43b68e6e671a1a5c29e40e200bf2c5582f28e7714c3aed52e5314566f2ceab8fde9f316f592e43d9903b001bf048ccf9340 diff --git a/uv.spec b/uv.spec index 5419059..b229856 100644 --- a/uv.spec +++ b/uv.spec @@ -11,7 +11,7 @@ %bcond it %{undefined el10} Name: uv -Version: 0.10.10 +Version: 0.10.11 # The uv package has a permanent exception to the Updates Policy in Fedora, so # it can be updated in stable releases across SemVer boundaries (subject to # good judgement and actual compatibility of any reverse dependencies). See From 07f74430e59fb84e925e6d7b238f0b334a42c97c Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Fri, 20 Mar 2026 15:55:59 +0000 Subject: [PATCH 159/214] Update to 0.10.12 (close RHBZ#2449243) --- .gitignore | 1 + sources | 2 +- uv.spec | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 9ca428a..ed8feb5 100644 --- a/.gitignore +++ b/.gitignore @@ -199,3 +199,4 @@ /uv-0.10.9.tar.gz /uv-0.10.10.tar.gz /uv-0.10.11.tar.gz +/uv-0.10.12.tar.gz diff --git a/sources b/sources index d3b9e37..cf02155 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (uv-0.10.11.tar.gz) = d6ae4c6b0be58505322ed6815f47b43b68e6e671a1a5c29e40e200bf2c5582f28e7714c3aed52e5314566f2ceab8fde9f316f592e43d9903b001bf048ccf9340 +SHA512 (uv-0.10.12.tar.gz) = e8274cd353e9964981a1befcd8c3f9533e37831f0c3288d6c7ec2232b0c1017a4a9d5fb7960e93edfabb8c7add1d1c500b0309d2e6be59164b61a4baee1ad7b8 diff --git a/uv.spec b/uv.spec index b229856..657c92e 100644 --- a/uv.spec +++ b/uv.spec @@ -11,7 +11,7 @@ %bcond it %{undefined el10} Name: uv -Version: 0.10.11 +Version: 0.10.12 # The uv package has a permanent exception to the Updates Policy in Fedora, so # it can be updated in stable releases across SemVer boundaries (subject to # good judgement and actual compatibility of any reverse dependencies). See From 52bbc80e5c42287e4bf48ca21b7b02e6897aba3b Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Sat, 21 Mar 2026 20:53:40 +0000 Subject: [PATCH 160/214] =?UTF-8?q?Further=20decrease=20max.=20parallelism?= =?UTF-8?q?=20to=20avoid=20=E2=80=9Ctoo=20many=20open=20files=E2=80=9D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit [skip changelog] --- uv.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/uv.spec b/uv.spec index 657c92e..49f602d 100644 --- a/uv.spec +++ b/uv.spec @@ -178,7 +178,7 @@ ExcludeArch: %{ix86} # Compilation may fail on builders with very many cores (e.g. 192 cores) due to # “too many open files.” Try to keep the files/core ratio from getting too low. -%global _smp_ncpus_max 96 +%global _smp_ncpus_max 72 BuildRequires: cargo-rpm-macros >= 24 BuildRequires: rust2rpm-helper From fb79c2912de6a25bdc853cded9fc170a1b2cd517 Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Wed, 25 Mar 2026 15:23:45 +0000 Subject: [PATCH 161/214] Update to 0.11.2 (close RHBZ#2450582) --- .gitignore | 1 + sources | 2 +- uv.spec | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index ed8feb5..396e334 100644 --- a/.gitignore +++ b/.gitignore @@ -200,3 +200,4 @@ /uv-0.10.10.tar.gz /uv-0.10.11.tar.gz /uv-0.10.12.tar.gz +/uv-0.11.2.tar.gz diff --git a/sources b/sources index cf02155..1706f76 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (uv-0.10.12.tar.gz) = e8274cd353e9964981a1befcd8c3f9533e37831f0c3288d6c7ec2232b0c1017a4a9d5fb7960e93edfabb8c7add1d1c500b0309d2e6be59164b61a4baee1ad7b8 +SHA512 (uv-0.11.2.tar.gz) = 5db8253e1403a21a82c172429f8a2ee336d19a7b1e640942bd8b6a523defa8308f60b035c8ffae40d1de9292a598a5619f36debf5bf7bb3663b1f630e311cfd4 diff --git a/uv.spec b/uv.spec index 49f602d..c8d3a61 100644 --- a/uv.spec +++ b/uv.spec @@ -11,7 +11,7 @@ %bcond it %{undefined el10} Name: uv -Version: 0.10.12 +Version: 0.11.2 # The uv package has a permanent exception to the Updates Policy in Fedora, so # it can be updated in stable releases across SemVer boundaries (subject to # good judgement and actual compatibility of any reverse dependencies). See From e113162019e49345594892519dddf121ac07f73e Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Mon, 6 Apr 2026 13:26:50 +0100 Subject: [PATCH 162/214] Update to 0.11.4 (close RHBZ#2454177) --- .gitignore | 1 + 18919.patch | 263 ++++++++++++++++++++++++++++++++++++++++++++++++++++ sources | 2 +- uv.spec | 9 +- 4 files changed, 273 insertions(+), 2 deletions(-) create mode 100644 18919.patch diff --git a/.gitignore b/.gitignore index 396e334..2852e00 100644 --- a/.gitignore +++ b/.gitignore @@ -201,3 +201,4 @@ /uv-0.10.11.tar.gz /uv-0.10.12.tar.gz /uv-0.11.2.tar.gz +/uv-0.11.4.tar.gz diff --git a/18919.patch b/18919.patch new file mode 100644 index 0000000..54026d3 --- /dev/null +++ b/18919.patch @@ -0,0 +1,263 @@ +From ac63848583324e54fcd4cce078d7f93531d9aade Mon Sep 17 00:00:00 2001 +From: Claude +Date: Wed, 8 Apr 2026 12:40:04 +0000 +Subject: [PATCH 1/4] Fix doctest failures in uv-keyring crate + +- Replace `keyring::` with `uv_keyring::` in doctests (the crate was + vendored/renamed but doc examples still referenced the old name) +- Add `#[tokio::main]` and `async fn main` to README example since + Entry methods are async, and mark it `no_run` since it needs a real + keyring backend +- Add `.await` to `set_password()` calls in mock.rs doctest and wrap + in a tokio runtime block + +Fixes astral-sh/uv#18916 + +https://claude.ai/code/session_01UJXU3iFvu9dLce56ZvNNDu +--- + crates/uv-keyring/README.md | 7 ++++--- + crates/uv-keyring/src/mock.rs | 12 +++++++----- + 2 files changed, 11 insertions(+), 8 deletions(-) + +diff --git a/crates/uv-keyring/README.md b/crates/uv-keyring/README.md +index 613bff88af70f..d8fa6d41563d0 100644 +--- a/crates/uv-keyring/README.md ++++ b/crates/uv-keyring/README.md +@@ -18,10 +18,11 @@ platform's persistent credential store.) The password or secret can then be read + `get_password` or `get_secret` methods. The underlying credential (with its password/secret data) + can then be removed using the `delete_credential` method. + +-```rust +-use keyring::{Entry, Result}; ++```rust,no_run ++use uv_keyring::{Entry, Result}; + +-fn main() -> Result<()> { ++#[tokio::main] ++async fn main() -> Result<()> { + let entry = Entry::new("my-service", "my-name")?; + entry.set_password("topS3cr3tP4$$w0rd").await?; + let password = entry.get_password().await?; +diff --git a/crates/uv-keyring/src/mock.rs b/crates/uv-keyring/src/mock.rs +index 891cb029186ad..f181e34d9c498 100644 +--- a/crates/uv-keyring/src/mock.rs ++++ b/crates/uv-keyring/src/mock.rs +@@ -10,7 +10,7 @@ in this store have no attributes at all. + To use this credential store instead of the default, make this call during + application startup _before_ creating any entries: + ```rust +-keyring::set_default_credential_builder(keyring::mock::default_credential_builder()); ++uv_keyring::set_default_credential_builder(uv_keyring::mock::default_credential_builder()); + ``` + + You can then create entries as you usually do, and call their usual methods +@@ -24,13 +24,15 @@ with the appropriate error. The next entry method called on the credential + will fail with the error you set. The error will then be cleared, so the next + call on the mock will operate as usual. Here's a complete example: + ```rust +-# use keyring::{Entry, Error, mock, mock::MockCredential}; +-# keyring::set_default_credential_builder(mock::default_credential_builder()); ++# use uv_keyring::{Entry, Error, mock, mock::MockCredential}; ++# uv_keyring::set_default_credential_builder(mock::default_credential_builder()); ++# tokio::runtime::Runtime::new().unwrap().block_on(async { + let entry = Entry::new("service", "user").unwrap(); + let mock: &MockCredential = entry.get_credential().downcast_ref().unwrap(); + mock.set_error(Error::Invalid("mock error".to_string(), "takes precedence".to_string())); +-entry.set_password("test").expect_err("error will override"); +-entry.set_password("test").expect("error has been cleared"); ++entry.set_password("test").await.expect_err("error will override"); ++entry.set_password("test").await.expect("error has been cleared"); ++# }); + ``` + */ + use std::cell::RefCell; + +From 750a4b1de0f69737abfa600d04bd72c21aeed6bc Mon Sep 17 00:00:00 2001 +From: Claude +Date: Wed, 8 Apr 2026 13:06:07 +0000 +Subject: [PATCH 2/4] Mark vendored uv-keyring doctests as ignored +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +This is an internal vendored crate — the doctests duplicate coverage +already provided by unit tests and would break again on any upstream +sync. Mark the code blocks as `ignore` so they remain as documentation +but don't run. Also remove the `doc-comment` dev-dependency and +README doctest inclusion since the README example is now ignored too. + +https://claude.ai/code/session_01UJXU3iFvu9dLce56ZvNNDu +--- + crates/uv-keyring/Cargo.toml | 1 - + crates/uv-keyring/README.md | 2 +- + crates/uv-keyring/src/lib.rs | 3 --- + crates/uv-keyring/src/mock.rs | 10 ++++------ + 4 files changed, 5 insertions(+), 11 deletions(-) + +diff --git a/crates/uv-keyring/Cargo.toml b/crates/uv-keyring/Cargo.toml +index a1339c5c1b5d0..052a7058a4be2 100644 +--- a/crates/uv-keyring/Cargo.toml ++++ b/crates/uv-keyring/Cargo.toml +@@ -40,7 +40,6 @@ windows = { workspace = true, features = ["Win32_Foundation", "Win32_Security_Cr + zeroize = { workspace = true } + + [dev-dependencies] +-doc-comment = "0.3" + env_logger = "0.11.5" + fastrand = { workspace = true } + +diff --git a/crates/uv-keyring/README.md b/crates/uv-keyring/README.md +index d8fa6d41563d0..05758a9263e39 100644 +--- a/crates/uv-keyring/README.md ++++ b/crates/uv-keyring/README.md +@@ -18,7 +18,7 @@ platform's persistent credential store.) The password or secret can then be read + `get_password` or `get_secret` methods. The underlying credential (with its password/secret data) + can then be removed using the `delete_credential` method. + +-```rust,no_run ++```rust,ignore + use uv_keyring::{Entry, Result}; + + #[tokio::main] +diff --git a/crates/uv-keyring/src/lib.rs b/crates/uv-keyring/src/lib.rs +index 07f6a92fccc10..d95867a2d24ac 100644 +--- a/crates/uv-keyring/src/lib.rs ++++ b/crates/uv-keyring/src/lib.rs +@@ -398,9 +398,6 @@ impl Entry { + } + } + +-#[cfg(doctest)] +-doc_comment::doctest!("../README.md", readme); +- + #[cfg(test)] + /// There are no actual tests in this module. + /// Instead, it contains generics that each keystore invokes in their tests, +diff --git a/crates/uv-keyring/src/mock.rs b/crates/uv-keyring/src/mock.rs +index f181e34d9c498..8aed3b839fe95 100644 +--- a/crates/uv-keyring/src/mock.rs ++++ b/crates/uv-keyring/src/mock.rs +@@ -9,7 +9,7 @@ in this store have no attributes at all. + + To use this credential store instead of the default, make this call during + application startup _before_ creating any entries: +-```rust ++```rust,ignore + uv_keyring::set_default_credential_builder(uv_keyring::mock::default_credential_builder()); + ``` + +@@ -23,16 +23,14 @@ downcast the entry to a [`MockCredential`] and then call [`set_error`](MockCrede + with the appropriate error. The next entry method called on the credential + will fail with the error you set. The error will then be cleared, so the next + call on the mock will operate as usual. Here's a complete example: +-```rust +-# use uv_keyring::{Entry, Error, mock, mock::MockCredential}; +-# uv_keyring::set_default_credential_builder(mock::default_credential_builder()); +-# tokio::runtime::Runtime::new().unwrap().block_on(async { ++```rust,ignore ++use uv_keyring::{Entry, Error, mock, mock::MockCredential}; ++uv_keyring::set_default_credential_builder(mock::default_credential_builder()); + let entry = Entry::new("service", "user").unwrap(); + let mock: &MockCredential = entry.get_credential().downcast_ref().unwrap(); + mock.set_error(Error::Invalid("mock error".to_string(), "takes precedence".to_string())); + entry.set_password("test").await.expect_err("error will override"); + entry.set_password("test").await.expect("error has been cleared"); +-# }); + ``` + */ + use std::cell::RefCell; + +From 6541710154d5a7f285ed3c1ce549d78e6a55424b Mon Sep 17 00:00:00 2001 +From: Claude +Date: Wed, 8 Apr 2026 13:06:32 +0000 +Subject: [PATCH 3/4] Update Cargo.lock after removing doc-comment dependency + +https://claude.ai/code/session_01UJXU3iFvu9dLce56ZvNNDu +--- + Cargo.lock | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/Cargo.lock b/Cargo.lock +index 578d40498116c..27ee24a1c022e 100644 +--- a/Cargo.lock ++++ b/Cargo.lock +@@ -6735,7 +6735,6 @@ version = "0.0.36" + dependencies = [ + "async-trait", + "byteorder", +- "doc-comment", + "env_logger", + "fastrand", + "secret-service", + +From 0e3e9c556b216a05dcc578e3441a53607ace8c93 Mon Sep 17 00:00:00 2001 +From: Claude +Date: Wed, 8 Apr 2026 13:20:41 +0000 +Subject: [PATCH 4/4] Remove mock.rs doctest code blocks and README ignore + annotation +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +The mock.rs code blocks duplicated unit test coverage and were prone +to drifting from reality on upstream syncs — remove them entirely, +keeping the prose. The README code block doesn't need `ignore` since +the `doc_comment::doctest!` inclusion was already removed. + +https://claude.ai/code/session_01UJXU3iFvu9dLce56ZvNNDu +--- + crates/uv-keyring/README.md | 2 +- + crates/uv-keyring/src/mock.rs | 20 +++++--------------- + 2 files changed, 6 insertions(+), 16 deletions(-) + +diff --git a/crates/uv-keyring/README.md b/crates/uv-keyring/README.md +index 05758a9263e39..5b598f2f09559 100644 +--- a/crates/uv-keyring/README.md ++++ b/crates/uv-keyring/README.md +@@ -18,7 +18,7 @@ platform's persistent credential store.) The password or secret can then be read + `get_password` or `get_secret` methods. The underlying credential (with its password/secret data) + can then be removed using the `delete_credential` method. + +-```rust,ignore ++```rust + use uv_keyring::{Entry, Result}; + + #[tokio::main] +diff --git a/crates/uv-keyring/src/mock.rs b/crates/uv-keyring/src/mock.rs +index 8aed3b839fe95..ab41542d50717 100644 +--- a/crates/uv-keyring/src/mock.rs ++++ b/crates/uv-keyring/src/mock.rs +@@ -7,11 +7,10 @@ that is platform-independent, provides no persistence, and allows the client + to specify the return values (including errors) for each call. The credentials + in this store have no attributes at all. + +-To use this credential store instead of the default, make this call during +-application startup _before_ creating any entries: +-```rust,ignore +-uv_keyring::set_default_credential_builder(uv_keyring::mock::default_credential_builder()); +-``` ++To use this credential store instead of the default, call ++[`set_default_credential_builder`](crate::set_default_credential_builder) ++with [`default_credential_builder`] during application startup ++_before_ creating any entries. + + You can then create entries as you usually do, and call their usual methods + to set, get, and delete passwords. There is no persistence other than +@@ -22,16 +21,7 @@ If you want a method call on an entry to fail in a specific way, you can + downcast the entry to a [`MockCredential`] and then call [`set_error`](MockCredential::set_error) + with the appropriate error. The next entry method called on the credential + will fail with the error you set. The error will then be cleared, so the next +-call on the mock will operate as usual. Here's a complete example: +-```rust,ignore +-use uv_keyring::{Entry, Error, mock, mock::MockCredential}; +-uv_keyring::set_default_credential_builder(mock::default_credential_builder()); +-let entry = Entry::new("service", "user").unwrap(); +-let mock: &MockCredential = entry.get_credential().downcast_ref().unwrap(); +-mock.set_error(Error::Invalid("mock error".to_string(), "takes precedence".to_string())); +-entry.set_password("test").await.expect_err("error will override"); +-entry.set_password("test").await.expect("error has been cleared"); +-``` ++call on the mock will operate as usual. + */ + use std::cell::RefCell; + use std::sync::Mutex; diff --git a/sources b/sources index 1706f76..179ed45 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (uv-0.11.2.tar.gz) = 5db8253e1403a21a82c172429f8a2ee336d19a7b1e640942bd8b6a523defa8308f60b035c8ffae40d1de9292a598a5619f36debf5bf7bb3663b1f630e311cfd4 +SHA512 (uv-0.11.4.tar.gz) = 84fb4d49147bf23bbe338571883c31370841a011f9ad6a15219e8699169fce5e82c2740159ef3c998ad2d4ef463dc6a398df93e82788a0bdccc68a15e36b3e65 diff --git a/uv.spec b/uv.spec index c8d3a61..addcd6b 100644 --- a/uv.spec +++ b/uv.spec @@ -11,7 +11,7 @@ %bcond it %{undefined el10} Name: uv -Version: 0.11.2 +Version: 0.11.4 # The uv package has a permanent exception to the Updates Policy in Fedora, so # it can be updated in stable releases across SemVer boundaries (subject to # good judgement and actual compatibility of any reverse dependencies). See @@ -154,6 +154,13 @@ Source1: uv.toml # https://github.com/astral-sh/uv/issues/4451 Patch: 0001-Downstream-patch-always-find-the-system-wide-uv-exec.patch +# Remove doctests from uv-keyring +# https://github.com/astral-sh/uv/pull/18919 +# Fixes: +# Some issues with doctests in the uv_keyring crate +# https://github.com/astral-sh/uv/issues/18916 +Patch: %{url}/pull/18919.patch + # https://fedoraproject.org/wiki/Changes/EncourageI686LeafRemoval ExcludeArch: %{ix86} From ff58ad585abf58c5c519c16432dc153de67b9b06 Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Thu, 9 Apr 2026 11:48:33 +0100 Subject: [PATCH 163/214] Update to 0.11.5 (close RHBZ#2454177) --- .gitignore | 1 + 18919.patch | 263 ---------------------------------------------------- sources | 2 +- uv.spec | 10 +- 4 files changed, 3 insertions(+), 273 deletions(-) delete mode 100644 18919.patch diff --git a/.gitignore b/.gitignore index 2852e00..2e6a668 100644 --- a/.gitignore +++ b/.gitignore @@ -202,3 +202,4 @@ /uv-0.10.12.tar.gz /uv-0.11.2.tar.gz /uv-0.11.4.tar.gz +/uv-0.11.5.tar.gz diff --git a/18919.patch b/18919.patch deleted file mode 100644 index 54026d3..0000000 --- a/18919.patch +++ /dev/null @@ -1,263 +0,0 @@ -From ac63848583324e54fcd4cce078d7f93531d9aade Mon Sep 17 00:00:00 2001 -From: Claude -Date: Wed, 8 Apr 2026 12:40:04 +0000 -Subject: [PATCH 1/4] Fix doctest failures in uv-keyring crate - -- Replace `keyring::` with `uv_keyring::` in doctests (the crate was - vendored/renamed but doc examples still referenced the old name) -- Add `#[tokio::main]` and `async fn main` to README example since - Entry methods are async, and mark it `no_run` since it needs a real - keyring backend -- Add `.await` to `set_password()` calls in mock.rs doctest and wrap - in a tokio runtime block - -Fixes astral-sh/uv#18916 - -https://claude.ai/code/session_01UJXU3iFvu9dLce56ZvNNDu ---- - crates/uv-keyring/README.md | 7 ++++--- - crates/uv-keyring/src/mock.rs | 12 +++++++----- - 2 files changed, 11 insertions(+), 8 deletions(-) - -diff --git a/crates/uv-keyring/README.md b/crates/uv-keyring/README.md -index 613bff88af70f..d8fa6d41563d0 100644 ---- a/crates/uv-keyring/README.md -+++ b/crates/uv-keyring/README.md -@@ -18,10 +18,11 @@ platform's persistent credential store.) The password or secret can then be read - `get_password` or `get_secret` methods. The underlying credential (with its password/secret data) - can then be removed using the `delete_credential` method. - --```rust --use keyring::{Entry, Result}; -+```rust,no_run -+use uv_keyring::{Entry, Result}; - --fn main() -> Result<()> { -+#[tokio::main] -+async fn main() -> Result<()> { - let entry = Entry::new("my-service", "my-name")?; - entry.set_password("topS3cr3tP4$$w0rd").await?; - let password = entry.get_password().await?; -diff --git a/crates/uv-keyring/src/mock.rs b/crates/uv-keyring/src/mock.rs -index 891cb029186ad..f181e34d9c498 100644 ---- a/crates/uv-keyring/src/mock.rs -+++ b/crates/uv-keyring/src/mock.rs -@@ -10,7 +10,7 @@ in this store have no attributes at all. - To use this credential store instead of the default, make this call during - application startup _before_ creating any entries: - ```rust --keyring::set_default_credential_builder(keyring::mock::default_credential_builder()); -+uv_keyring::set_default_credential_builder(uv_keyring::mock::default_credential_builder()); - ``` - - You can then create entries as you usually do, and call their usual methods -@@ -24,13 +24,15 @@ with the appropriate error. The next entry method called on the credential - will fail with the error you set. The error will then be cleared, so the next - call on the mock will operate as usual. Here's a complete example: - ```rust --# use keyring::{Entry, Error, mock, mock::MockCredential}; --# keyring::set_default_credential_builder(mock::default_credential_builder()); -+# use uv_keyring::{Entry, Error, mock, mock::MockCredential}; -+# uv_keyring::set_default_credential_builder(mock::default_credential_builder()); -+# tokio::runtime::Runtime::new().unwrap().block_on(async { - let entry = Entry::new("service", "user").unwrap(); - let mock: &MockCredential = entry.get_credential().downcast_ref().unwrap(); - mock.set_error(Error::Invalid("mock error".to_string(), "takes precedence".to_string())); --entry.set_password("test").expect_err("error will override"); --entry.set_password("test").expect("error has been cleared"); -+entry.set_password("test").await.expect_err("error will override"); -+entry.set_password("test").await.expect("error has been cleared"); -+# }); - ``` - */ - use std::cell::RefCell; - -From 750a4b1de0f69737abfa600d04bd72c21aeed6bc Mon Sep 17 00:00:00 2001 -From: Claude -Date: Wed, 8 Apr 2026 13:06:07 +0000 -Subject: [PATCH 2/4] Mark vendored uv-keyring doctests as ignored -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -This is an internal vendored crate — the doctests duplicate coverage -already provided by unit tests and would break again on any upstream -sync. Mark the code blocks as `ignore` so they remain as documentation -but don't run. Also remove the `doc-comment` dev-dependency and -README doctest inclusion since the README example is now ignored too. - -https://claude.ai/code/session_01UJXU3iFvu9dLce56ZvNNDu ---- - crates/uv-keyring/Cargo.toml | 1 - - crates/uv-keyring/README.md | 2 +- - crates/uv-keyring/src/lib.rs | 3 --- - crates/uv-keyring/src/mock.rs | 10 ++++------ - 4 files changed, 5 insertions(+), 11 deletions(-) - -diff --git a/crates/uv-keyring/Cargo.toml b/crates/uv-keyring/Cargo.toml -index a1339c5c1b5d0..052a7058a4be2 100644 ---- a/crates/uv-keyring/Cargo.toml -+++ b/crates/uv-keyring/Cargo.toml -@@ -40,7 +40,6 @@ windows = { workspace = true, features = ["Win32_Foundation", "Win32_Security_Cr - zeroize = { workspace = true } - - [dev-dependencies] --doc-comment = "0.3" - env_logger = "0.11.5" - fastrand = { workspace = true } - -diff --git a/crates/uv-keyring/README.md b/crates/uv-keyring/README.md -index d8fa6d41563d0..05758a9263e39 100644 ---- a/crates/uv-keyring/README.md -+++ b/crates/uv-keyring/README.md -@@ -18,7 +18,7 @@ platform's persistent credential store.) The password or secret can then be read - `get_password` or `get_secret` methods. The underlying credential (with its password/secret data) - can then be removed using the `delete_credential` method. - --```rust,no_run -+```rust,ignore - use uv_keyring::{Entry, Result}; - - #[tokio::main] -diff --git a/crates/uv-keyring/src/lib.rs b/crates/uv-keyring/src/lib.rs -index 07f6a92fccc10..d95867a2d24ac 100644 ---- a/crates/uv-keyring/src/lib.rs -+++ b/crates/uv-keyring/src/lib.rs -@@ -398,9 +398,6 @@ impl Entry { - } - } - --#[cfg(doctest)] --doc_comment::doctest!("../README.md", readme); -- - #[cfg(test)] - /// There are no actual tests in this module. - /// Instead, it contains generics that each keystore invokes in their tests, -diff --git a/crates/uv-keyring/src/mock.rs b/crates/uv-keyring/src/mock.rs -index f181e34d9c498..8aed3b839fe95 100644 ---- a/crates/uv-keyring/src/mock.rs -+++ b/crates/uv-keyring/src/mock.rs -@@ -9,7 +9,7 @@ in this store have no attributes at all. - - To use this credential store instead of the default, make this call during - application startup _before_ creating any entries: --```rust -+```rust,ignore - uv_keyring::set_default_credential_builder(uv_keyring::mock::default_credential_builder()); - ``` - -@@ -23,16 +23,14 @@ downcast the entry to a [`MockCredential`] and then call [`set_error`](MockCrede - with the appropriate error. The next entry method called on the credential - will fail with the error you set. The error will then be cleared, so the next - call on the mock will operate as usual. Here's a complete example: --```rust --# use uv_keyring::{Entry, Error, mock, mock::MockCredential}; --# uv_keyring::set_default_credential_builder(mock::default_credential_builder()); --# tokio::runtime::Runtime::new().unwrap().block_on(async { -+```rust,ignore -+use uv_keyring::{Entry, Error, mock, mock::MockCredential}; -+uv_keyring::set_default_credential_builder(mock::default_credential_builder()); - let entry = Entry::new("service", "user").unwrap(); - let mock: &MockCredential = entry.get_credential().downcast_ref().unwrap(); - mock.set_error(Error::Invalid("mock error".to_string(), "takes precedence".to_string())); - entry.set_password("test").await.expect_err("error will override"); - entry.set_password("test").await.expect("error has been cleared"); --# }); - ``` - */ - use std::cell::RefCell; - -From 6541710154d5a7f285ed3c1ce549d78e6a55424b Mon Sep 17 00:00:00 2001 -From: Claude -Date: Wed, 8 Apr 2026 13:06:32 +0000 -Subject: [PATCH 3/4] Update Cargo.lock after removing doc-comment dependency - -https://claude.ai/code/session_01UJXU3iFvu9dLce56ZvNNDu ---- - Cargo.lock | 1 - - 1 file changed, 1 deletion(-) - -diff --git a/Cargo.lock b/Cargo.lock -index 578d40498116c..27ee24a1c022e 100644 ---- a/Cargo.lock -+++ b/Cargo.lock -@@ -6735,7 +6735,6 @@ version = "0.0.36" - dependencies = [ - "async-trait", - "byteorder", -- "doc-comment", - "env_logger", - "fastrand", - "secret-service", - -From 0e3e9c556b216a05dcc578e3441a53607ace8c93 Mon Sep 17 00:00:00 2001 -From: Claude -Date: Wed, 8 Apr 2026 13:20:41 +0000 -Subject: [PATCH 4/4] Remove mock.rs doctest code blocks and README ignore - annotation -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -The mock.rs code blocks duplicated unit test coverage and were prone -to drifting from reality on upstream syncs — remove them entirely, -keeping the prose. The README code block doesn't need `ignore` since -the `doc_comment::doctest!` inclusion was already removed. - -https://claude.ai/code/session_01UJXU3iFvu9dLce56ZvNNDu ---- - crates/uv-keyring/README.md | 2 +- - crates/uv-keyring/src/mock.rs | 20 +++++--------------- - 2 files changed, 6 insertions(+), 16 deletions(-) - -diff --git a/crates/uv-keyring/README.md b/crates/uv-keyring/README.md -index 05758a9263e39..5b598f2f09559 100644 ---- a/crates/uv-keyring/README.md -+++ b/crates/uv-keyring/README.md -@@ -18,7 +18,7 @@ platform's persistent credential store.) The password or secret can then be read - `get_password` or `get_secret` methods. The underlying credential (with its password/secret data) - can then be removed using the `delete_credential` method. - --```rust,ignore -+```rust - use uv_keyring::{Entry, Result}; - - #[tokio::main] -diff --git a/crates/uv-keyring/src/mock.rs b/crates/uv-keyring/src/mock.rs -index 8aed3b839fe95..ab41542d50717 100644 ---- a/crates/uv-keyring/src/mock.rs -+++ b/crates/uv-keyring/src/mock.rs -@@ -7,11 +7,10 @@ that is platform-independent, provides no persistence, and allows the client - to specify the return values (including errors) for each call. The credentials - in this store have no attributes at all. - --To use this credential store instead of the default, make this call during --application startup _before_ creating any entries: --```rust,ignore --uv_keyring::set_default_credential_builder(uv_keyring::mock::default_credential_builder()); --``` -+To use this credential store instead of the default, call -+[`set_default_credential_builder`](crate::set_default_credential_builder) -+with [`default_credential_builder`] during application startup -+_before_ creating any entries. - - You can then create entries as you usually do, and call their usual methods - to set, get, and delete passwords. There is no persistence other than -@@ -22,16 +21,7 @@ If you want a method call on an entry to fail in a specific way, you can - downcast the entry to a [`MockCredential`] and then call [`set_error`](MockCredential::set_error) - with the appropriate error. The next entry method called on the credential - will fail with the error you set. The error will then be cleared, so the next --call on the mock will operate as usual. Here's a complete example: --```rust,ignore --use uv_keyring::{Entry, Error, mock, mock::MockCredential}; --uv_keyring::set_default_credential_builder(mock::default_credential_builder()); --let entry = Entry::new("service", "user").unwrap(); --let mock: &MockCredential = entry.get_credential().downcast_ref().unwrap(); --mock.set_error(Error::Invalid("mock error".to_string(), "takes precedence".to_string())); --entry.set_password("test").await.expect_err("error will override"); --entry.set_password("test").await.expect("error has been cleared"); --``` -+call on the mock will operate as usual. - */ - use std::cell::RefCell; - use std::sync::Mutex; diff --git a/sources b/sources index 179ed45..729cb04 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (uv-0.11.4.tar.gz) = 84fb4d49147bf23bbe338571883c31370841a011f9ad6a15219e8699169fce5e82c2740159ef3c998ad2d4ef463dc6a398df93e82788a0bdccc68a15e36b3e65 +SHA512 (uv-0.11.5.tar.gz) = ade88d151b3da1a73dbd43b6b9c27722822f61e7088a53dfc1a073436350705468b37ebd301eaa5ddb2fdcd39978096b2c95180c735bc49c4a07391ca3bd4c09 diff --git a/uv.spec b/uv.spec index addcd6b..2afe1df 100644 --- a/uv.spec +++ b/uv.spec @@ -11,7 +11,7 @@ %bcond it %{undefined el10} Name: uv -Version: 0.11.4 +Version: 0.11.5 # The uv package has a permanent exception to the Updates Policy in Fedora, so # it can be updated in stable releases across SemVer boundaries (subject to # good judgement and actual compatibility of any reverse dependencies). See @@ -154,13 +154,6 @@ Source1: uv.toml # https://github.com/astral-sh/uv/issues/4451 Patch: 0001-Downstream-patch-always-find-the-system-wide-uv-exec.patch -# Remove doctests from uv-keyring -# https://github.com/astral-sh/uv/pull/18919 -# Fixes: -# Some issues with doctests in the uv_keyring crate -# https://github.com/astral-sh/uv/issues/18916 -Patch: %{url}/pull/18919.patch - # https://fedoraproject.org/wiki/Changes/EncourageI686LeafRemoval ExcludeArch: %{ix86} @@ -633,7 +626,6 @@ skip="${skip-} --skip base_client::tests::retried_status_codes" %license LICENSE-APACHE LICENSE-MIT LICENSE.dependencies LICENSE.bundled/ %doc CHANGELOG.md %doc README.md -%doc PIP_COMPATIBILITY.md %{_bindir}/uv # Equivalent to “uv tool run”: From 5c347689ee65f5daeaca0371d83a5bb995a0ed8c Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Thu, 9 Apr 2026 14:14:24 +0100 Subject: [PATCH 164/214] Skip three tests that fail only on ppc64le --- uv.spec | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/uv.spec b/uv.spec index 2afe1df..69e1424 100644 --- a/uv.spec +++ b/uv.spec @@ -616,6 +616,23 @@ skip="${skip-} --skip tests::built_by_uv_building" # dependency version differing from Cargo.lock. skip="${skip-} --skip base_client::tests::retried_status_codes" +%ifarch %{power64} +# TODO: Why do these seem to fail only on ppc64le? Are the failures 100% +# reproducible, or are they flaky? Can we reproduce in a git checkout and +# report upstream? Is this a race condition that disappears on cargo nextest, +# with its process isolation? +# +# Error: failed to build HTTP client +# Caused by: +# 0: certificate in `/tmp/uv/tests/certs/.tmpFF0lkk/ca.pem` (from +# `SSL_CERT_FILE`) could not be used as a trust anchor on certificate +# `CN=uv-test-ca, O=Astral Software Inc.` +# 1: ExtensionValueInvalid +skip="${skip-} --skip user_agent_version::test_user_agent_has_linehaul" +skip="${skip-} --skip user_agent_version::test_user_agent_has_subcommand" +skip="${skip-} --skip user_agent_version::test_user_agent_has_version" +%endif + %cargo_test -- -- --exact ${skip-} %endif From 07238fb8d4f9380439c1b3a9b7ac84638b2d7639 Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Thu, 9 Apr 2026 15:23:42 +0100 Subject: [PATCH 165/214] Update to 0.11.6 (close RHBZ#2454177) --- .gitignore | 1 + sources | 2 +- uv.spec | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 2e6a668..4d93cbb 100644 --- a/.gitignore +++ b/.gitignore @@ -203,3 +203,4 @@ /uv-0.11.2.tar.gz /uv-0.11.4.tar.gz /uv-0.11.5.tar.gz +/uv-0.11.6.tar.gz diff --git a/sources b/sources index 729cb04..2a97a14 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (uv-0.11.5.tar.gz) = ade88d151b3da1a73dbd43b6b9c27722822f61e7088a53dfc1a073436350705468b37ebd301eaa5ddb2fdcd39978096b2c95180c735bc49c4a07391ca3bd4c09 +SHA512 (uv-0.11.6.tar.gz) = 3f370f98b253dd84706f1724155ba4ed5cafb41b612fa75151aef26dd4f18c85f59d93c5bbddae1c59ea594fdc88857d005b6e8728cdd24f5b37b99ba4ef32cd diff --git a/uv.spec b/uv.spec index 69e1424..6c60285 100644 --- a/uv.spec +++ b/uv.spec @@ -11,7 +11,7 @@ %bcond it %{undefined el10} Name: uv -Version: 0.11.5 +Version: 0.11.6 # The uv package has a permanent exception to the Updates Policy in Fedora, so # it can be updated in stable releases across SemVer boundaries (subject to # good judgement and actual compatibility of any reverse dependencies). See From 8aee0b86aee3ae2dc8431bf5a56a3e486930e02a Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Thu, 9 Apr 2026 18:51:01 +0100 Subject: [PATCH 166/214] Skip user_agent_version:: tests on all architectures --- uv.spec | 25 ++++++++++++------------- 1 file changed, 12 insertions(+), 13 deletions(-) diff --git a/uv.spec b/uv.spec index 6c60285..189466a 100644 --- a/uv.spec +++ b/uv.spec @@ -616,22 +616,21 @@ skip="${skip-} --skip tests::built_by_uv_building" # dependency version differing from Cargo.lock. skip="${skip-} --skip base_client::tests::retried_status_codes" -%ifarch %{power64} -# TODO: Why do these seem to fail only on ppc64le? Are the failures 100% -# reproducible, or are they flaky? Can we reproduce in a git checkout and -# report upstream? Is this a race condition that disappears on cargo nextest, -# with its process isolation? -# -# Error: failed to build HTTP client -# Caused by: -# 0: certificate in `/tmp/uv/tests/certs/.tmpFF0lkk/ca.pem` (from -# `SSL_CERT_FILE`) could not be used as a trust anchor on certificate -# `CN=uv-test-ca, O=Astral Software Inc.` -# 1: ExtensionValueInvalid +# These fail flakily: most frequently on ppc64le, but this seems to be just a +# matter of luck, since we suspect a race condition. We have also seen failures +# on aarch64. This is probably a race involving the SSL_CERT_FILE environment +# variable, which process-isolated testing in “cargo nextest” (used by +# upstream) should avoid. That suggests there is nothing to report upstream. +# When this fails, the error looks something like: +# Error: failed to build HTTP client +# Caused by: +# 0: certificate in `/tmp/uv/tests/certs/.tmpFF0lkk/ca.pem` (from +# `SSL_CERT_FILE`) could not be used as a trust anchor on certificate +# `CN=uv-test-ca, O=Astral Software Inc.` +# 1: ExtensionValueInvalid skip="${skip-} --skip user_agent_version::test_user_agent_has_linehaul" skip="${skip-} --skip user_agent_version::test_user_agent_has_subcommand" skip="${skip-} --skip user_agent_version::test_user_agent_has_version" -%endif %cargo_test -- -- --exact ${skip-} %endif From 49ae3ae921b77f3410cea12d127085e60b4c7a71 Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Thu, 16 Apr 2026 11:36:35 +0100 Subject: [PATCH 167/214] Update to 0.11.7 (close RHBZ#2458860) --- .gitignore | 1 + sources | 2 +- uv.spec | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 4d93cbb..589f69c 100644 --- a/.gitignore +++ b/.gitignore @@ -204,3 +204,4 @@ /uv-0.11.4.tar.gz /uv-0.11.5.tar.gz /uv-0.11.6.tar.gz +/uv-0.11.7.tar.gz diff --git a/sources b/sources index 2a97a14..d0b4cc9 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (uv-0.11.6.tar.gz) = 3f370f98b253dd84706f1724155ba4ed5cafb41b612fa75151aef26dd4f18c85f59d93c5bbddae1c59ea594fdc88857d005b6e8728cdd24f5b37b99ba4ef32cd +SHA512 (uv-0.11.7.tar.gz) = f9b34b628ac035cacb36bd9cd7276d28c59f768360a197f4c1c036a81651aa6c40b17656c4b5230cc19b496c415687fc99f05bf4c66459e5457f5cef105b8d7e diff --git a/uv.spec b/uv.spec index 189466a..30408cd 100644 --- a/uv.spec +++ b/uv.spec @@ -11,7 +11,7 @@ %bcond it %{undefined el10} Name: uv -Version: 0.11.6 +Version: 0.11.7 # The uv package has a permanent exception to the Updates Policy in Fedora, so # it can be updated in stable releases across SemVer boundaries (subject to # good judgement and actual compatibility of any reverse dependencies). See From b70f3fd0f1ee28e43973b2255ddff3ed695e5343 Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Tue, 5 May 2026 09:41:14 +0100 Subject: [PATCH 168/214] Update to 0.11.9 (close RHBZ#2466654) --- .gitignore | 1 + sources | 2 +- uv.spec | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 589f69c..14d9d18 100644 --- a/.gitignore +++ b/.gitignore @@ -205,3 +205,4 @@ /uv-0.11.5.tar.gz /uv-0.11.6.tar.gz /uv-0.11.7.tar.gz +/uv-0.11.9.tar.gz diff --git a/sources b/sources index d0b4cc9..534b594 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (uv-0.11.7.tar.gz) = f9b34b628ac035cacb36bd9cd7276d28c59f768360a197f4c1c036a81651aa6c40b17656c4b5230cc19b496c415687fc99f05bf4c66459e5457f5cef105b8d7e +SHA512 (uv-0.11.9.tar.gz) = 821ef460b68fa9d3d7040633903f57b6108ff766ec2ac55369e19762cb3a8903ab8d1611cf2866dc072741d363a75e1a9867dbbd3be2fe0ee967088309de42d2 diff --git a/uv.spec b/uv.spec index 30408cd..d8a191f 100644 --- a/uv.spec +++ b/uv.spec @@ -11,7 +11,7 @@ %bcond it %{undefined el10} Name: uv -Version: 0.11.7 +Version: 0.11.9 # The uv package has a permanent exception to the Updates Policy in Fedora, so # it can be updated in stable releases across SemVer boundaries (subject to # good judgement and actual compatibility of any reverse dependencies). See From d6defe2f8145ca3fde1bcae4015224ff04e9acdd Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Wed, 6 May 2026 10:32:02 +0100 Subject: [PATCH 169/214] Update to 0.11.10 (close RHBZ#2466908) --- .gitignore | 1 + sources | 2 +- uv.spec | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 14d9d18..35a6b63 100644 --- a/.gitignore +++ b/.gitignore @@ -206,3 +206,4 @@ /uv-0.11.6.tar.gz /uv-0.11.7.tar.gz /uv-0.11.9.tar.gz +/uv-0.11.10.tar.gz diff --git a/sources b/sources index 534b594..8c98de0 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (uv-0.11.9.tar.gz) = 821ef460b68fa9d3d7040633903f57b6108ff766ec2ac55369e19762cb3a8903ab8d1611cf2866dc072741d363a75e1a9867dbbd3be2fe0ee967088309de42d2 +SHA512 (uv-0.11.10.tar.gz) = d969396c1cf0793a4589aa8c9c47b100d3e1ca8bdd55bd95f3bdbd1164c67f58678c06190f35e22248d173f6ddc2b24cbae8c5888f44dd2cc6a1a7e1f0eeea16 diff --git a/uv.spec b/uv.spec index d8a191f..ba3e5a8 100644 --- a/uv.spec +++ b/uv.spec @@ -11,7 +11,7 @@ %bcond it %{undefined el10} Name: uv -Version: 0.11.9 +Version: 0.11.10 # The uv package has a permanent exception to the Updates Policy in Fedora, so # it can be updated in stable releases across SemVer boundaries (subject to # good judgement and actual compatibility of any reverse dependencies). See From 8f3f2413f81b831e82da99e91526f53545e06d65 Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Fri, 8 May 2026 20:31:01 +0100 Subject: [PATCH 170/214] Update to 0.11.11 (close RHBZ#2466908) --- .gitignore | 1 + sources | 2 +- uv.spec | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 35a6b63..5b782d0 100644 --- a/.gitignore +++ b/.gitignore @@ -207,3 +207,4 @@ /uv-0.11.7.tar.gz /uv-0.11.9.tar.gz /uv-0.11.10.tar.gz +/uv-0.11.11.tar.gz diff --git a/sources b/sources index 8c98de0..3baf061 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (uv-0.11.10.tar.gz) = d969396c1cf0793a4589aa8c9c47b100d3e1ca8bdd55bd95f3bdbd1164c67f58678c06190f35e22248d173f6ddc2b24cbae8c5888f44dd2cc6a1a7e1f0eeea16 +SHA512 (uv-0.11.11.tar.gz) = f9129868fb8d343d63e4080deb0e71e71fdb5c71e2ea4f17d05d0f0c20338daf86f521895e8bd69795ffad36ddc94e8cf5ee8fbbb4eb5fdc0692524b21eef9c6 diff --git a/uv.spec b/uv.spec index ba3e5a8..cd80104 100644 --- a/uv.spec +++ b/uv.spec @@ -11,7 +11,7 @@ %bcond it %{undefined el10} Name: uv -Version: 0.11.10 +Version: 0.11.11 # The uv package has a permanent exception to the Updates Policy in Fedora, so # it can be updated in stable releases across SemVer boundaries (subject to # good judgement and actual compatibility of any reverse dependencies). See From e062fedb2557ee2701757ca20934a0b63513c30b Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Sat, 9 May 2026 07:57:53 +0100 Subject: [PATCH 171/214] Update to 0.11.12 (close RHBZ#2466908) --- .gitignore | 1 + sources | 2 +- uv.spec | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 5b782d0..6ed9e79 100644 --- a/.gitignore +++ b/.gitignore @@ -208,3 +208,4 @@ /uv-0.11.9.tar.gz /uv-0.11.10.tar.gz /uv-0.11.11.tar.gz +/uv-0.11.12.tar.gz diff --git a/sources b/sources index 3baf061..4efc084 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (uv-0.11.11.tar.gz) = f9129868fb8d343d63e4080deb0e71e71fdb5c71e2ea4f17d05d0f0c20338daf86f521895e8bd69795ffad36ddc94e8cf5ee8fbbb4eb5fdc0692524b21eef9c6 +SHA512 (uv-0.11.12.tar.gz) = a23c95152f0515645174b85ed8887fe29e3e56d457aaad7992cfe5a59b95e527348ebd7e0ce9d23cf589f20849326a876ae61ed9b10324a48b8021077cd264fe diff --git a/uv.spec b/uv.spec index cd80104..8d877cd 100644 --- a/uv.spec +++ b/uv.spec @@ -11,7 +11,7 @@ %bcond it %{undefined el10} Name: uv -Version: 0.11.11 +Version: 0.11.12 # The uv package has a permanent exception to the Updates Policy in Fedora, so # it can be updated in stable releases across SemVer boundaries (subject to # good judgement and actual compatibility of any reverse dependencies). See From abe2796638e25b58a1557dcf3724126c36c34bd7 Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Wed, 13 May 2026 06:59:34 +0100 Subject: [PATCH 172/214] Update to 0.11.14 (close RHBZ#2468985) --- .gitignore | 1 + sources | 2 +- uv.spec | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 6ed9e79..8384ce4 100644 --- a/.gitignore +++ b/.gitignore @@ -209,3 +209,4 @@ /uv-0.11.10.tar.gz /uv-0.11.11.tar.gz /uv-0.11.12.tar.gz +/uv-0.11.14.tar.gz diff --git a/sources b/sources index 4efc084..a87e948 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (uv-0.11.12.tar.gz) = a23c95152f0515645174b85ed8887fe29e3e56d457aaad7992cfe5a59b95e527348ebd7e0ce9d23cf589f20849326a876ae61ed9b10324a48b8021077cd264fe +SHA512 (uv-0.11.14.tar.gz) = 375efa7d4afb3128e5d833f91d9fe91439d0c45c607996dae0cf25bf9b8d1a164858dccd00875020b88377fffecabb6afab8353ef0b7e393c83d64ed2320d3c2 diff --git a/uv.spec b/uv.spec index 8d877cd..d17ee23 100644 --- a/uv.spec +++ b/uv.spec @@ -11,7 +11,7 @@ %bcond it %{undefined el10} Name: uv -Version: 0.11.12 +Version: 0.11.14 # The uv package has a permanent exception to the Updates Policy in Fedora, so # it can be updated in stable releases across SemVer boundaries (subject to # good judgement and actual compatibility of any reverse dependencies). See From 9fc89f6aed9b7e990866a349c202bee2fbf3d6f2 Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Mon, 18 May 2026 22:57:01 +0100 Subject: [PATCH 173/214] Update to 0.11.15 (close RHBZ#2479704) --- .gitignore | 1 + sources | 2 +- uv.spec | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 8384ce4..31acb14 100644 --- a/.gitignore +++ b/.gitignore @@ -210,3 +210,4 @@ /uv-0.11.11.tar.gz /uv-0.11.12.tar.gz /uv-0.11.14.tar.gz +/uv-0.11.15.tar.gz diff --git a/sources b/sources index a87e948..80756c5 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (uv-0.11.14.tar.gz) = 375efa7d4afb3128e5d833f91d9fe91439d0c45c607996dae0cf25bf9b8d1a164858dccd00875020b88377fffecabb6afab8353ef0b7e393c83d64ed2320d3c2 +SHA512 (uv-0.11.15.tar.gz) = af427dfeaa1112642c46812f8b5a3b0b56e00fe5d308f3c5d59aa18a6e14f24254ea3041b6605967f742dd11ac85833c08d7552fb8de4bc4e8f8832e39236d7c diff --git a/uv.spec b/uv.spec index d17ee23..b7f2339 100644 --- a/uv.spec +++ b/uv.spec @@ -11,7 +11,7 @@ %bcond it %{undefined el10} Name: uv -Version: 0.11.14 +Version: 0.11.15 # The uv package has a permanent exception to the Updates Policy in Fedora, so # it can be updated in stable releases across SemVer boundaries (subject to # good judgement and actual compatibility of any reverse dependencies). See From ebdfcdd7a3d10bc222e62266576a3abf2f9ef70a Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Fri, 22 May 2026 07:09:52 +0100 Subject: [PATCH 174/214] Update to 0.11.16 (close RHBZ#2480652) --- .gitignore | 1 + sources | 2 +- uv.spec | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 31acb14..f77cfbc 100644 --- a/.gitignore +++ b/.gitignore @@ -211,3 +211,4 @@ /uv-0.11.12.tar.gz /uv-0.11.14.tar.gz /uv-0.11.15.tar.gz +/uv-0.11.16.tar.gz diff --git a/sources b/sources index 80756c5..b60061c 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (uv-0.11.15.tar.gz) = af427dfeaa1112642c46812f8b5a3b0b56e00fe5d308f3c5d59aa18a6e14f24254ea3041b6605967f742dd11ac85833c08d7552fb8de4bc4e8f8832e39236d7c +SHA512 (uv-0.11.16.tar.gz) = c830b9808eeedbfdcbc8ee75ba978f9309b89f1740aa3d363cc661c42ea066b87d3d21c8cc4ccf215e8233ea3b4c2669537ffe5955cf68adf7367755428618bc diff --git a/uv.spec b/uv.spec index b7f2339..5651589 100644 --- a/uv.spec +++ b/uv.spec @@ -11,7 +11,7 @@ %bcond it %{undefined el10} Name: uv -Version: 0.11.15 +Version: 0.11.16 # The uv package has a permanent exception to the Updates Policy in Fedora, so # it can be updated in stable releases across SemVer boundaries (subject to # good judgement and actual compatibility of any reverse dependencies). See From ca4d748c96c171a54118c25ffc3b0d37a2185137 Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Sun, 24 May 2026 09:49:22 +0100 Subject: [PATCH 175/214] Use various long options --- uv.spec | 41 ++++++++++++++++++++++++----------------- 1 file changed, 24 insertions(+), 17 deletions(-) diff --git a/uv.spec b/uv.spec index 5651589..22a774a 100644 --- a/uv.spec +++ b/uv.spec @@ -352,28 +352,32 @@ This package provides an importable Python module for uv. %autosetup -p1 # Collect license files of vendored dependencies in the main source archive -install -t LICENSE.bundled/packaging -D -p -m 0644 \ +install -D --preserve-timestamps --mode=0644 \ + --target=LICENSE.bundled/packaging \ crates/uv-python/python/packaging/LICENSE.* -install -t LICENSE.bundled/pep440_rs -D -p -m 0644 crates/uv-pep440/License-* -install -t LICENSE.bundled/pep508_rs -D -p -m 0644 crates/uv-pep508/License-* -install -t LICENSE.bundled/pipreqs -D -p -m 0644 \ +install -D --preserve-timestamps --mode=0644 \ + --target=LICENSE.bundled/pep440_rs crates/uv-pep440/License-* +install -D --preserve-timestamps --mode=0644 \ + --target=LICENSE.bundled/pep508_rs crates/uv-pep508/License-* +install -D --preserve-timestamps --mode=0644 \ + --target=LICENSE.bundled/pipreqs \ crates/uv-build-frontend/src/pipreqs/LICENSE -install -t LICENSE.bundled/ripunzip -D -p -m 0644 \ - crates/uv-extract/src/vendor/LICENSE +install -D --preserve-timestamps --mode=0644 \ + --target=LICENSE.bundled/ripunzip crates/uv-extract/src/vendor/LICENSE # The original license text from rattler_installs_packages is present in a # comment, but we want it in a separate file so we can ensure it is present in # the binary RPM. -install -d LICENSE.bundled/rattler_installs_packages +install --directory LICENSE.bundled/rattler_installs_packages awk '$2 == "BSD" { out=1 }; $2 == "```" { out=0 }; out' \ crates/uv-client/src/remote_metadata.rs | - sed -r 's@^///( |$)@@' | + sed --regexp-extended 's@^///( |$)@@' | tee LICENSE.bundled/rattler_installs_packages/LICENSE # Similarly for virtualenv. All files in # crates/uv-virtualenv/src/activator/activate/ have the same license text. -install -d LICENSE.bundled/virtualenv +install --directory LICENSE.bundled/virtualenv awk '$1 == "#" { out=1 }; $1 != "#" { out=0; exit }; out' \ crates/uv-virtualenv/src/activator/activate | - sed -r 's@^#( |$)@@' | + sed --regexp-extended 's@^#( |$)@@' | tee LICENSE.bundled/virtualenv/LICENSE # Patch out foreign (e.g. Windows-only) dependencies. Follow symbolic links so @@ -387,20 +391,20 @@ find -L . -type f -name Cargo.toml -print \ # the uv-trampoline-builder crate. We must remove them to prove they are not # used in the build. Since they are used only on Windows, nothing is lost by # doing so. -rm -v crates/uv-trampoline-builder/trampolines/*.exe +rm --verbose crates/uv-trampoline-builder/trampolines/*.exe # Per Cargo.toml, uv-trampoline is excluded from the workspace and not compiled # because it still requires a nightly compiler. For now, we remove it entirely # to show that we do not need to document bundling from posy. Note that we # *cannot* cleanly remove uv-trampoline-builder, only the precompiled # trampolines themselves. -rm -rv crates/uv-trampoline +rm --recursive --verbose crates/uv-trampoline # Remove the dependency on embed-manifest, which applies only when (cross-?) # compiling for Windows. tomcli set Cargo.toml del workspace.dependencies.embed-manifest # We may have to do something more sophisticated if this build script ever # starts to do anything other than just embedding a manifest on Windows. -rm -v crates/uv/build.rs +rm --verbose crates/uv/build.rs tomcli set crates/uv/Cargo.toml del build-dependencies.embed-manifest # The embed-manifest depenency is also used in uv-trampoline, which we removed. @@ -468,7 +472,8 @@ mods="${mods-}${mods+|}venv" mods="${mods-}${mods+|}version" mods="${mods-}${mods+|}workspace" comment='Downstream-only: skip, needs specific Python interpreter versions' -sed -r -i "s@mod (${mods});@// ${comment}\n#[cfg(any())]\n&@" \ +sed --regexp-extended --in-place \ + "s@mod (${mods});@// ${comment}\n#[cfg(any())]\n&@" \ crates/uv/tests/it/main.rs %endif @@ -526,9 +531,10 @@ then # library is actually pure-Python, and the python3-uv subpackage can be # noarch. We can’t tell maturin to install to the appropriate site-packages # directory, but we can fix the installation path manually. - install -d %{buildroot}%{python3_sitelib} + install --directory %{buildroot}%{python3_sitelib} mv %{buildroot}%{python3_sitearch}/uv* %{buildroot}%{python3_sitelib} - sed -r -i 's@%{python3_sitearch}@%{python3_sitelib}@' %{pyproject_files} + sed --regexp-extended --in-place \ + 's@%{python3_sitearch}@%{python3_sitelib}@' %{pyproject_files} fi # generate and install shell completions @@ -544,7 +550,8 @@ do done # Install a default system-wide configuration file -install -t '%{buildroot}%{_sysconfdir}/uv' -p -m 0644 -D '%{SOURCE1}' +install -D --preserve-timestamps --mode=0644 \ + --target='%{buildroot}%{_sysconfdir}/uv' '%{SOURCE1}' %check From 42a538d8918b0e0763a5900cd0713f1941af0e13 Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Wed, 3 Jun 2026 14:08:54 +0100 Subject: [PATCH 176/214] Update to 0.11.18 (close RHBZ#2483122) --- .gitignore | 1 + sources | 2 +- uv.spec | 12 +++++++++++- 3 files changed, 13 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index f77cfbc..2bba8e8 100644 --- a/.gitignore +++ b/.gitignore @@ -212,3 +212,4 @@ /uv-0.11.14.tar.gz /uv-0.11.15.tar.gz /uv-0.11.16.tar.gz +/uv-0.11.18.tar.gz diff --git a/sources b/sources index b60061c..4415a51 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (uv-0.11.16.tar.gz) = c830b9808eeedbfdcbc8ee75ba978f9309b89f1740aa3d363cc661c42ea066b87d3d21c8cc4ccf215e8233ea3b4c2669537ffe5955cf68adf7367755428618bc +SHA512 (uv-0.11.18.tar.gz) = 59ef43479bee5cc36dc5966ef5ec7bacb22e17d831ee2a0f8246d73c432cd0da76d230882afc08b31b610f92c333547285af420597f3f696a8acc30107cb2141 diff --git a/uv.spec b/uv.spec index 22a774a..30e9bb9 100644 --- a/uv.spec +++ b/uv.spec @@ -11,7 +11,7 @@ %bcond it %{undefined el10} Name: uv -Version: 0.11.16 +Version: 0.11.18 # The uv package has a permanent exception to the Updates Policy in Fedora, so # it can be updated in stable releases across SemVer boundaries (subject to # good judgement and actual compatibility of any reverse dependencies). See @@ -639,6 +639,16 @@ skip="${skip-} --skip user_agent_version::test_user_agent_has_linehaul" skip="${skip-} --skip user_agent_version::test_user_agent_has_subcommand" skip="${skip-} --skip user_agent_version::test_user_agent_has_version" +# Some tests for “uv check” introduced in 0.11.18 require network access +# https://github.com/astral-sh/uv/issues/19658 +skip="${skip-} --skip check::check_missing_pyproject_toml" +skip="${skip-} --skip check::check_no_project" +skip="${skip-} --skip check::check_project" +skip="${skip-} --skip check::check_ty_version_no_match" +skip="${skip-} --skip check::check_ty_version_pinned_verbose" +skip="${skip-} --skip check::check_type_error" +skip="${skip-} --skip check::check_with_undeclared_dependency" + %cargo_test -- -- --exact ${skip-} %endif From a3a0dee7aa1a400294ee61679166a19c6017bebb Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Wed, 3 Jun 2026 19:11:51 +0100 Subject: [PATCH 177/214] Backport upstream fix for skipping uv check tests when offline --- 19661.patch | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++ uv.spec | 14 ++++---------- 2 files changed, 56 insertions(+), 10 deletions(-) create mode 100644 19661.patch diff --git a/19661.patch b/19661.patch new file mode 100644 index 0000000..72c1f1e --- /dev/null +++ b/19661.patch @@ -0,0 +1,52 @@ +From e1abeab3147489e3d1d7385d6973cabd33d81ff6 Mon Sep 17 00:00:00 2001 +From: Aria Desires +Date: Wed, 3 Jun 2026 12:07:17 -0400 +Subject: [PATCH 1/2] Use the same feature gates on `check` tests as `format` + +The test-pypi feature is used as a proxy for "this test does networking" so people running in offline scenarios don't run them. + +Fixes #19658 +--- + crates/uv/tests/it/main.rs | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/crates/uv/tests/it/main.rs b/crates/uv/tests/it/main.rs +index 30c27554ae985..cb1a3b6d660a7 100644 +--- a/crates/uv/tests/it/main.rs ++++ b/crates/uv/tests/it/main.rs +@@ -39,7 +39,7 @@ mod edit; + #[cfg(all(feature = "test-python", feature = "test-pypi"))] + mod export; + +-#[cfg(feature = "test-python")] ++#[cfg(all(feature = "test-python", feature = "test-pypi"))] + mod check; + + #[cfg(all(feature = "test-python", feature = "test-pypi"))] + +From b52907462863ccdafdde4a55fd8b050d87da32ad Mon Sep 17 00:00:00 2001 +From: Aria Desires +Date: Wed, 3 Jun 2026 13:10:53 -0400 +Subject: [PATCH 2/2] move both to r2 + +--- + crates/uv/tests/it/main.rs | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/crates/uv/tests/it/main.rs b/crates/uv/tests/it/main.rs +index cb1a3b6d660a7..27bf679237cac 100644 +--- a/crates/uv/tests/it/main.rs ++++ b/crates/uv/tests/it/main.rs +@@ -39,10 +39,10 @@ mod edit; + #[cfg(all(feature = "test-python", feature = "test-pypi"))] + mod export; + +-#[cfg(all(feature = "test-python", feature = "test-pypi"))] ++#[cfg(all(feature = "test-python", feature = "test-r2"))] + mod check; + +-#[cfg(all(feature = "test-python", feature = "test-pypi"))] ++#[cfg(all(feature = "test-python", feature = "test-r2"))] + mod format; + + mod help; diff --git a/uv.spec b/uv.spec index 30e9bb9..72dc7a6 100644 --- a/uv.spec +++ b/uv.spec @@ -154,6 +154,10 @@ Source1: uv.toml # https://github.com/astral-sh/uv/issues/4451 Patch: 0001-Downstream-patch-always-find-the-system-wide-uv-exec.patch +# fix feature-gates on format and check tests to specify they access r2 +# https://github.com/astral-sh/uv/pull/19661 +Patch: %{url}/pull/19661.patch + # https://fedoraproject.org/wiki/Changes/EncourageI686LeafRemoval ExcludeArch: %{ix86} @@ -639,16 +643,6 @@ skip="${skip-} --skip user_agent_version::test_user_agent_has_linehaul" skip="${skip-} --skip user_agent_version::test_user_agent_has_subcommand" skip="${skip-} --skip user_agent_version::test_user_agent_has_version" -# Some tests for “uv check” introduced in 0.11.18 require network access -# https://github.com/astral-sh/uv/issues/19658 -skip="${skip-} --skip check::check_missing_pyproject_toml" -skip="${skip-} --skip check::check_no_project" -skip="${skip-} --skip check::check_project" -skip="${skip-} --skip check::check_ty_version_no_match" -skip="${skip-} --skip check::check_ty_version_pinned_verbose" -skip="${skip-} --skip check::check_type_error" -skip="${skip-} --skip check::check_with_undeclared_dependency" - %cargo_test -- -- --exact ${skip-} %endif From 5e8acb4addf34c36fa65a4531a950e56a444cafa Mon Sep 17 00:00:00 2001 From: Python Maint Date: Thu, 4 Jun 2026 01:36:21 +0200 Subject: [PATCH 178/214] Rebuilt for Python 3.15 From 4b753d0addf145f5698f4269976798b6ebd9c9eb Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Thu, 4 Jun 2026 07:07:47 +0100 Subject: [PATCH 179/214] Update to 0.11.19 (close RHBZ#2484591) --- .gitignore | 1 + 19661.patch | 52 ---------------------------------------------------- sources | 2 +- uv.spec | 6 +----- 4 files changed, 3 insertions(+), 58 deletions(-) delete mode 100644 19661.patch diff --git a/.gitignore b/.gitignore index 2bba8e8..bb6bca6 100644 --- a/.gitignore +++ b/.gitignore @@ -213,3 +213,4 @@ /uv-0.11.15.tar.gz /uv-0.11.16.tar.gz /uv-0.11.18.tar.gz +/uv-0.11.19.tar.gz diff --git a/19661.patch b/19661.patch deleted file mode 100644 index 72c1f1e..0000000 --- a/19661.patch +++ /dev/null @@ -1,52 +0,0 @@ -From e1abeab3147489e3d1d7385d6973cabd33d81ff6 Mon Sep 17 00:00:00 2001 -From: Aria Desires -Date: Wed, 3 Jun 2026 12:07:17 -0400 -Subject: [PATCH 1/2] Use the same feature gates on `check` tests as `format` - -The test-pypi feature is used as a proxy for "this test does networking" so people running in offline scenarios don't run them. - -Fixes #19658 ---- - crates/uv/tests/it/main.rs | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/crates/uv/tests/it/main.rs b/crates/uv/tests/it/main.rs -index 30c27554ae985..cb1a3b6d660a7 100644 ---- a/crates/uv/tests/it/main.rs -+++ b/crates/uv/tests/it/main.rs -@@ -39,7 +39,7 @@ mod edit; - #[cfg(all(feature = "test-python", feature = "test-pypi"))] - mod export; - --#[cfg(feature = "test-python")] -+#[cfg(all(feature = "test-python", feature = "test-pypi"))] - mod check; - - #[cfg(all(feature = "test-python", feature = "test-pypi"))] - -From b52907462863ccdafdde4a55fd8b050d87da32ad Mon Sep 17 00:00:00 2001 -From: Aria Desires -Date: Wed, 3 Jun 2026 13:10:53 -0400 -Subject: [PATCH 2/2] move both to r2 - ---- - crates/uv/tests/it/main.rs | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/crates/uv/tests/it/main.rs b/crates/uv/tests/it/main.rs -index cb1a3b6d660a7..27bf679237cac 100644 ---- a/crates/uv/tests/it/main.rs -+++ b/crates/uv/tests/it/main.rs -@@ -39,10 +39,10 @@ mod edit; - #[cfg(all(feature = "test-python", feature = "test-pypi"))] - mod export; - --#[cfg(all(feature = "test-python", feature = "test-pypi"))] -+#[cfg(all(feature = "test-python", feature = "test-r2"))] - mod check; - --#[cfg(all(feature = "test-python", feature = "test-pypi"))] -+#[cfg(all(feature = "test-python", feature = "test-r2"))] - mod format; - - mod help; diff --git a/sources b/sources index 4415a51..66e8032 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (uv-0.11.18.tar.gz) = 59ef43479bee5cc36dc5966ef5ec7bacb22e17d831ee2a0f8246d73c432cd0da76d230882afc08b31b610f92c333547285af420597f3f696a8acc30107cb2141 +SHA512 (uv-0.11.19.tar.gz) = 053c0372ded66ec8bcb109524ac67cc035722573ab4ac1a05ffcde6a126f4b67515901e45978b535e3051976effbdf89b99ebb59b62174389e3097ad058eda04 diff --git a/uv.spec b/uv.spec index 72dc7a6..3ab4d69 100644 --- a/uv.spec +++ b/uv.spec @@ -11,7 +11,7 @@ %bcond it %{undefined el10} Name: uv -Version: 0.11.18 +Version: 0.11.19 # The uv package has a permanent exception to the Updates Policy in Fedora, so # it can be updated in stable releases across SemVer boundaries (subject to # good judgement and actual compatibility of any reverse dependencies). See @@ -154,10 +154,6 @@ Source1: uv.toml # https://github.com/astral-sh/uv/issues/4451 Patch: 0001-Downstream-patch-always-find-the-system-wide-uv-exec.patch -# fix feature-gates on format and check tests to specify they access r2 -# https://github.com/astral-sh/uv/pull/19661 -Patch: %{url}/pull/19661.patch - # https://fedoraproject.org/wiki/Changes/EncourageI686LeafRemoval ExcludeArch: %{ix86} From b0def776a46e712cd47ad1101e4cf8e23dd3f937 Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Thu, 4 Jun 2026 11:55:05 +0100 Subject: [PATCH 180/214] Allow tikv-jemallocator 0.7 --- uv.spec | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/uv.spec b/uv.spec index 3ab4d69..2113050 100644 --- a/uv.spec +++ b/uv.spec @@ -495,6 +495,17 @@ tomcli set crates/uv/Cargo.toml del dependencies.tracing-durations-export # # https://bugzilla.redhat.com/show_bug.cgi?id=1234567 # tomcli set Cargo.toml str workspace.dependencies.foocrate.version 0.1.2 +# tikv-jemallocator +# wanted: 0.6.0 +# currently packaged: 0.7.0 +# We haven’t suggested this upstream because we know they use renovate with +# dependency cooldowns, and we expect they will soon update without prompting. +# We use sed instead of tomcli because the target.cfg(…) expression is a +# *mess*, and we don’t want to have to write it out here. +sed --regexp-extended --in-place \ + 's/^(tikv-jemallocator\b.*version = ")0\.6\.0"/\1>=0.6.0, <0.8.0"/' \ + crates/uv-performance-memory-allocator/Cargo.toml + %cargo_prep From 2a55ef3b100a5d41171816678d512cfdbc78343b Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Sun, 7 Jun 2026 08:40:16 +0100 Subject: [PATCH 181/214] =?UTF-8?q?Further=20decrease=20max.=20parallelism?= =?UTF-8?q?=20to=20avoid=20=E2=80=9Ctoo=20many=20open=20files=E2=80=9D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit [skip changelog] --- uv.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/uv.spec b/uv.spec index 2113050..58e5715 100644 --- a/uv.spec +++ b/uv.spec @@ -178,7 +178,7 @@ ExcludeArch: %{ix86} # Compilation may fail on builders with very many cores (e.g. 192 cores) due to # “too many open files.” Try to keep the files/core ratio from getting too low. -%global _smp_ncpus_max 72 +%global _smp_ncpus_max 48 BuildRequires: cargo-rpm-macros >= 24 BuildRequires: rust2rpm-helper From dee525ae66fc16108fc3e787fa7a2cb204bb9642 Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Fri, 12 Jun 2026 13:02:29 +0100 Subject: [PATCH 182/214] Update to 0.11.21 (close RHBZ#2487856) --- .gitignore | 1 + 19819.patch | 69 +++++++++++++++++++++++++++++++++++++++++++++++++++++ sources | 2 +- uv.spec | 11 ++++++++- 4 files changed, 81 insertions(+), 2 deletions(-) create mode 100644 19819.patch diff --git a/.gitignore b/.gitignore index bb6bca6..98c0bbb 100644 --- a/.gitignore +++ b/.gitignore @@ -214,3 +214,4 @@ /uv-0.11.16.tar.gz /uv-0.11.18.tar.gz /uv-0.11.19.tar.gz +/uv-0.11.21.tar.gz diff --git a/19819.patch b/19819.patch new file mode 100644 index 0000000..50b33ea --- /dev/null +++ b/19819.patch @@ -0,0 +1,69 @@ +From d89c45d63819dc2df03956ba9291a1dcb7ee574f Mon Sep 17 00:00:00 2001 +From: "Benjamin A. Beasley" +Date: Fri, 12 Jun 2026 14:50:33 +0100 +Subject: [PATCH] Conditionalize a few new tests on the test-pypi feature + +--- + crates/uv/tests/it/upgrade.rs | 7 +++++++ + 1 file changed, 7 insertions(+) + +diff --git a/crates/uv/tests/it/upgrade.rs b/crates/uv/tests/it/upgrade.rs +index e92ef2fcbecee..2cb3e74c560cb 100644 +--- a/crates/uv/tests/it/upgrade.rs ++++ b/crates/uv/tests/it/upgrade.rs +@@ -114,6 +114,7 @@ fn upgrade_help() { + } + + #[test] ++#[cfg(feature = "test-pypi")] + fn upgrade_selects_normalized_production_dependency() -> Result<()> { + let context = uv_test::test_context!("3.12"); + let pyproject_toml = r#" +@@ -344,6 +345,7 @@ fn upgrade_expands_compatible_constraint_for_multiple_fork_versions() -> Result< + } + + #[test] ++#[cfg(feature = "test-pypi")] + fn upgrade_updates_requirement_without_updating_lockfile_or_environment() -> Result<()> { + let context = uv_test::test_context!("3.12"); + let initial_pyproject_toml = r#" +@@ -417,6 +419,7 @@ fn upgrade_updates_requirement_without_updating_lockfile_or_environment() -> Res + } + + #[test] ++#[cfg(feature = "test-pypi")] + fn upgrade_reports_no_solution_without_mutation() -> Result<()> { + let context = uv_test::test_context!("3.12"); + let pyproject_toml = r#" +@@ -450,6 +453,7 @@ fn upgrade_reports_no_solution_without_mutation() -> Result<()> { + } + + #[test] ++#[cfg(feature = "test-pypi")] + fn upgrade_reports_no_version_change_without_mutation() -> Result<()> { + let context = uv_test::test_context!("3.12"); + let pyproject_toml = r#" +@@ -784,6 +788,7 @@ fn upgrade_rejects_non_registry_source_for_top_level_extra() -> Result<()> { + } + + #[test] ++#[cfg(feature = "test-pypi")] + fn upgrade_allows_registry_source() -> Result<()> { + let context = uv_test::test_context!("3.12"); + let empty_index = context.temp_dir.child("empty-index"); +@@ -847,6 +852,7 @@ fn upgrade_allows_registry_source() -> Result<()> { + } + + #[test] ++#[cfg(feature = "test-pypi")] + fn upgrade_ignores_inapplicable_non_registry_source() -> Result<()> { + let context = uv_test::test_context!("3.12"); + let pyproject_toml = r#" +@@ -953,6 +959,7 @@ fn upgrade_rejects_workspace_root_non_registry_source() -> Result<()> { + } + + #[test] ++#[cfg(feature = "test-pypi")] + fn upgrade_updates_nested_workspace_member_only() -> Result<()> { + let context = uv_test::test_context!("3.12"); + let workspace_pyproject_toml = r#" diff --git a/sources b/sources index 66e8032..9491c91 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (uv-0.11.19.tar.gz) = 053c0372ded66ec8bcb109524ac67cc035722573ab4ac1a05ffcde6a126f4b67515901e45978b535e3051976effbdf89b99ebb59b62174389e3097ad058eda04 +SHA512 (uv-0.11.21.tar.gz) = c1057ff5e2387dc190d12c71fbdfddca3d99e03d2b00065f0077f9c912dbcb19ba8b81cbcd874c31f613a5ab2fafef77f6034589ccab5ee33940a6eb72714598 diff --git a/uv.spec b/uv.spec index 58e5715..6718763 100644 --- a/uv.spec +++ b/uv.spec @@ -11,7 +11,7 @@ %bcond it %{undefined el10} Name: uv -Version: 0.11.19 +Version: 0.11.21 # The uv package has a permanent exception to the Updates Policy in Fedora, so # it can be updated in stable releases across SemVer boundaries (subject to # good judgement and actual compatibility of any reverse dependencies). See @@ -154,6 +154,10 @@ Source1: uv.toml # https://github.com/astral-sh/uv/issues/4451 Patch: 0001-Downstream-patch-always-find-the-system-wide-uv-exec.patch +# Conditionalize a few new tests on the test-pypi feature +# https://github.com/astral-sh/uv/pull/19819 +Patch: %{url}/pull/19819.patch + # https://fedoraproject.org/wiki/Changes/EncourageI686LeafRemoval ExcludeArch: %{ix86} @@ -634,6 +638,11 @@ skip="${skip-} --skip tests::built_by_uv_building" # dependency version differing from Cargo.lock. skip="${skip-} --skip base_client::tests::retried_status_codes" +# Harmless and trivial discrepancy in an error message: +# 8 │- Caused by: error decoding response body for url (http://[LOCALHOST]/tqdm/) +# 8 │+ Caused by: error decoding response body +skip="${skip-} --skip network::retry_read_timeout_index" + # These fail flakily: most frequently on ppc64le, but this seems to be just a # matter of luck, since we suspect a race condition. We have also seen failures # on aarch64. This is probably a race involving the SSL_CERT_FILE environment From cf8329a48c21ac349dd6a53514642a229c998f9f Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Wed, 17 Jun 2026 12:15:57 +0100 Subject: [PATCH 183/214] Rebuilt with webpki-root-certs 1.0.8 From 44ed0d1deffebc21d202f6727535408ec245b476 Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Wed, 17 Jun 2026 20:30:42 +0100 Subject: [PATCH 184/214] Fix skipping tests that require alternative versions of Python Some of these were moved around upstream. --- uv.spec | 69 +++++++++++++++++++++++++++++++++------------------------ 1 file changed, 40 insertions(+), 29 deletions(-) diff --git a/uv.spec b/uv.spec index 6718763..a2f122e 100644 --- a/uv.spec +++ b/uv.spec @@ -1,14 +1,8 @@ %bcond check 1 -# Should we run integration tests, many of which require specific Python -# interpreter versions (major.minor, not major.minor.patch)? This adds a few -# dozen tests, but adds BuildRequires on more Pythons, and could reduce our -# confidence that everything works correctly in an environment that only has -# the main system Python. -# -# EPEL10 does not have alternative versions of Python, so we cannot run most of -# the integration tests there, and manually selecting those we can run would be -# far too tedious. -%bcond it %{undefined el10} +# Should we run tests that require specific Python interpreter versions +# (major.minor, not major.minor.patch)? This adds a few dozen tests, but adds +# BuildRequires on more Python interpreters (which aren’t available in EPEL). +%bcond other_python_versions %{undefined el10} Name: uv Version: 0.11.21 @@ -187,7 +181,7 @@ ExcludeArch: %{ix86} BuildRequires: cargo-rpm-macros >= 24 BuildRequires: rust2rpm-helper BuildRequires: tomcli -%if %{with check} && %{with it} +%if %{with check} && %{with other_python_versions} # See trove classifiers in pyproject.toml for supported Pythons. BuildRequires: /usr/bin/python3.9 BuildRequires: /usr/bin/python3.10 @@ -461,24 +455,41 @@ tomcli set crates/uv/Cargo.toml lists delitem features.test-defaults \ tomcli set crates/uv-audit/Cargo.toml lists delitem features.default \ 'test-(osv)' -%if %{without it} -# Integration tests (it crate) nearly all require specific Python interpreter -# versions (major.minor, not major.minor.patch, unless the python-patch feature -# is enabled). We might choose to disable this in order to double-check that -# everything else works well with only the primary system Python in the -# environment. +%if %{without other_python_versions} +# Many of these tests require specific Python versions (major.minor, not +# major.minor.patch, unless the python-patch feature is enabled). Manually +# selecting the tests in these modules that would succeed with just the system +# Python would be far too tedious. +omit_modules() { + set -o nounset + set -o errexit + main_module="${1}" + commented_modules='' + comment='Downstream-only: skip, needs specific Python interpreter versions' + shift + while [ "${#}" != 0 ] + do + commented_modules="${commented_modules-}${commented_modules+|}${1}" + shift + done + sed --regexp-extended --in-place \ + "s@mod (${commented_modules});@// ${comment}\n#[cfg(any())]\n&@" \ + "${main_module}" +} +# -p uv --test build +omit_modules crates/uv/tests/build/main.rs build_backend # -p uv --test it: -mods="${mods-}${mods+|}branching_urls" -mods="${mods-}${mods+|}build_backend" -mods="${mods-}${mods+|}pip_(check|list|show|tree|uninstall)" -mods="${mods-}${mods+|}python_(dir|find|install|list|pin)" -mods="${mods-}${mods+|}venv" -mods="${mods-}${mods+|}version" -mods="${mods-}${mods+|}workspace" -comment='Downstream-only: skip, needs specific Python interpreter versions' -sed --regexp-extended --in-place \ - "s@mod (${mods});@// ${comment}\n#[cfg(any())]\n&@" \ - crates/uv/tests/it/main.rs +omit_modules crates/uv/tests/it/main.rs \ + auth branching_urls network upgrade version +# -p uv --test python: +omit_modules crates/uv/tests/python/main.rs \ + 'python_(dir|find|install|list|pin)' venv +# -p uv --test workspace: +omit_modules crates/uv/tests/workspace/main.rs \ + workspace 'workspace_(dir|list|metadata)' +# -p uv --test pip: +omit_modules crates/uv/tests/pip/main.rs \ + 'pip_(debug|list|show|tree|uninstall)' %endif # For unclear reasons, maturin checks for the presence of optional crate @@ -580,7 +591,7 @@ skip="${skip-} --skip keyring::tests::fetch_url_with_empty_username" skip="${skip-} --skip keyring::tests::fetch_url_with_no_username" skip="${skip-} --skip keyring::tests::fetch_url_with_password" -%if %{without it} +%if %{without other_python_versions} # These tests require specific Python interpreter versions, which upstream # normally downloads, precompiled, into the build area. skip="${skip-} --skip version::self_version" From d405e63ad8c19f6223193d32303de9b4beef92c1 Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Thu, 18 Jun 2026 20:28:48 +0100 Subject: [PATCH 185/214] Rebuilt with `reflink-copy` 0.1.30 From 4b679487806d5c5433d92fd72651e7be07f2dc89 Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Fri, 19 Jun 2026 06:22:44 +0100 Subject: [PATCH 186/214] Update to 0.11.22 --- .gitignore | 1 + 19819.patch | 69 ----------------------------------------------------- sources | 2 +- uv.spec | 6 +---- 4 files changed, 3 insertions(+), 75 deletions(-) delete mode 100644 19819.patch diff --git a/.gitignore b/.gitignore index 98c0bbb..a7e932f 100644 --- a/.gitignore +++ b/.gitignore @@ -215,3 +215,4 @@ /uv-0.11.18.tar.gz /uv-0.11.19.tar.gz /uv-0.11.21.tar.gz +/uv-0.11.22.tar.gz diff --git a/19819.patch b/19819.patch deleted file mode 100644 index 50b33ea..0000000 --- a/19819.patch +++ /dev/null @@ -1,69 +0,0 @@ -From d89c45d63819dc2df03956ba9291a1dcb7ee574f Mon Sep 17 00:00:00 2001 -From: "Benjamin A. Beasley" -Date: Fri, 12 Jun 2026 14:50:33 +0100 -Subject: [PATCH] Conditionalize a few new tests on the test-pypi feature - ---- - crates/uv/tests/it/upgrade.rs | 7 +++++++ - 1 file changed, 7 insertions(+) - -diff --git a/crates/uv/tests/it/upgrade.rs b/crates/uv/tests/it/upgrade.rs -index e92ef2fcbecee..2cb3e74c560cb 100644 ---- a/crates/uv/tests/it/upgrade.rs -+++ b/crates/uv/tests/it/upgrade.rs -@@ -114,6 +114,7 @@ fn upgrade_help() { - } - - #[test] -+#[cfg(feature = "test-pypi")] - fn upgrade_selects_normalized_production_dependency() -> Result<()> { - let context = uv_test::test_context!("3.12"); - let pyproject_toml = r#" -@@ -344,6 +345,7 @@ fn upgrade_expands_compatible_constraint_for_multiple_fork_versions() -> Result< - } - - #[test] -+#[cfg(feature = "test-pypi")] - fn upgrade_updates_requirement_without_updating_lockfile_or_environment() -> Result<()> { - let context = uv_test::test_context!("3.12"); - let initial_pyproject_toml = r#" -@@ -417,6 +419,7 @@ fn upgrade_updates_requirement_without_updating_lockfile_or_environment() -> Res - } - - #[test] -+#[cfg(feature = "test-pypi")] - fn upgrade_reports_no_solution_without_mutation() -> Result<()> { - let context = uv_test::test_context!("3.12"); - let pyproject_toml = r#" -@@ -450,6 +453,7 @@ fn upgrade_reports_no_solution_without_mutation() -> Result<()> { - } - - #[test] -+#[cfg(feature = "test-pypi")] - fn upgrade_reports_no_version_change_without_mutation() -> Result<()> { - let context = uv_test::test_context!("3.12"); - let pyproject_toml = r#" -@@ -784,6 +788,7 @@ fn upgrade_rejects_non_registry_source_for_top_level_extra() -> Result<()> { - } - - #[test] -+#[cfg(feature = "test-pypi")] - fn upgrade_allows_registry_source() -> Result<()> { - let context = uv_test::test_context!("3.12"); - let empty_index = context.temp_dir.child("empty-index"); -@@ -847,6 +852,7 @@ fn upgrade_allows_registry_source() -> Result<()> { - } - - #[test] -+#[cfg(feature = "test-pypi")] - fn upgrade_ignores_inapplicable_non_registry_source() -> Result<()> { - let context = uv_test::test_context!("3.12"); - let pyproject_toml = r#" -@@ -953,6 +959,7 @@ fn upgrade_rejects_workspace_root_non_registry_source() -> Result<()> { - } - - #[test] -+#[cfg(feature = "test-pypi")] - fn upgrade_updates_nested_workspace_member_only() -> Result<()> { - let context = uv_test::test_context!("3.12"); - let workspace_pyproject_toml = r#" diff --git a/sources b/sources index 9491c91..5776fd1 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (uv-0.11.21.tar.gz) = c1057ff5e2387dc190d12c71fbdfddca3d99e03d2b00065f0077f9c912dbcb19ba8b81cbcd874c31f613a5ab2fafef77f6034589ccab5ee33940a6eb72714598 +SHA512 (uv-0.11.22.tar.gz) = 5c2ea2478721af3b34152809eff7a37ea19eb8ea88c912a0a75b4a112c3c56b16e798226a5c84d906633d71ee4a38d9f8fa187adc17a09c6430edcae0272c0df diff --git a/uv.spec b/uv.spec index a2f122e..06e3253 100644 --- a/uv.spec +++ b/uv.spec @@ -5,7 +5,7 @@ %bcond other_python_versions %{undefined el10} Name: uv -Version: 0.11.21 +Version: 0.11.22 # The uv package has a permanent exception to the Updates Policy in Fedora, so # it can be updated in stable releases across SemVer boundaries (subject to # good judgement and actual compatibility of any reverse dependencies). See @@ -148,10 +148,6 @@ Source1: uv.toml # https://github.com/astral-sh/uv/issues/4451 Patch: 0001-Downstream-patch-always-find-the-system-wide-uv-exec.patch -# Conditionalize a few new tests on the test-pypi feature -# https://github.com/astral-sh/uv/pull/19819 -Patch: %{url}/pull/19819.patch - # https://fedoraproject.org/wiki/Changes/EncourageI686LeafRemoval ExcludeArch: %{ix86} From 24393cd6e2d63bc7c0319a4f5a7b47e9fbf7bcc2 Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Sun, 21 Jun 2026 11:49:49 +0100 Subject: [PATCH 187/214] Update to 0.11.23 (close RHBZ#2490666) --- .gitignore | 1 + sources | 2 +- uv.spec | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index a7e932f..15b0e92 100644 --- a/.gitignore +++ b/.gitignore @@ -216,3 +216,4 @@ /uv-0.11.19.tar.gz /uv-0.11.21.tar.gz /uv-0.11.22.tar.gz +/uv-0.11.23.tar.gz diff --git a/sources b/sources index 5776fd1..f6bf735 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (uv-0.11.22.tar.gz) = 5c2ea2478721af3b34152809eff7a37ea19eb8ea88c912a0a75b4a112c3c56b16e798226a5c84d906633d71ee4a38d9f8fa187adc17a09c6430edcae0272c0df +SHA512 (uv-0.11.23.tar.gz) = 4d40479ca540294fbdb346ca8c2dcb91fef572d1e663951ffea2370f9d09f12140aed2029be1178332874ac80150155b88774798c6424686badf7eeef646ce3f diff --git a/uv.spec b/uv.spec index 06e3253..bee49aa 100644 --- a/uv.spec +++ b/uv.spec @@ -5,7 +5,7 @@ %bcond other_python_versions %{undefined el10} Name: uv -Version: 0.11.22 +Version: 0.11.23 # The uv package has a permanent exception to the Updates Policy in Fedora, so # it can be updated in stable releases across SemVer boundaries (subject to # good judgement and actual compatibility of any reverse dependencies). See From 58eb0c31633d9c506d66589d4c9047ad0f090c4b Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Wed, 24 Jun 2026 11:15:22 +0100 Subject: [PATCH 188/214] Update to 0.11.24 (close RHBZ#2492025) --- .gitignore | 1 + sources | 2 +- uv.spec | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 15b0e92..cbdf68f 100644 --- a/.gitignore +++ b/.gitignore @@ -217,3 +217,4 @@ /uv-0.11.21.tar.gz /uv-0.11.22.tar.gz /uv-0.11.23.tar.gz +/uv-0.11.24.tar.gz diff --git a/sources b/sources index f6bf735..4018252 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (uv-0.11.23.tar.gz) = 4d40479ca540294fbdb346ca8c2dcb91fef572d1e663951ffea2370f9d09f12140aed2029be1178332874ac80150155b88774798c6424686badf7eeef646ce3f +SHA512 (uv-0.11.24.tar.gz) = 4927f0280b4041293180db6efed8c31facbb23cb4349a2383ef0488c26b21a3fc6ab98f94e7ff41bf4411f65d158208345632e130a6fae9f2bc85d40deddefec diff --git a/uv.spec b/uv.spec index bee49aa..4924912 100644 --- a/uv.spec +++ b/uv.spec @@ -5,7 +5,7 @@ %bcond other_python_versions %{undefined el10} Name: uv -Version: 0.11.23 +Version: 0.11.24 # The uv package has a permanent exception to the Updates Policy in Fedora, so # it can be updated in stable releases across SemVer boundaries (subject to # good judgement and actual compatibility of any reverse dependencies). See From a0ce58a6c99b418049b021db2c9e0eab1110802f Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Sat, 27 Jun 2026 06:26:41 +0100 Subject: [PATCH 189/214] Update to 0.11.25 --- .gitignore | 1 + sources | 2 +- uv.spec | 3 ++- 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index cbdf68f..235ed96 100644 --- a/.gitignore +++ b/.gitignore @@ -218,3 +218,4 @@ /uv-0.11.22.tar.gz /uv-0.11.23.tar.gz /uv-0.11.24.tar.gz +/uv-0.11.25.tar.gz diff --git a/sources b/sources index 4018252..82e9d50 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (uv-0.11.24.tar.gz) = 4927f0280b4041293180db6efed8c31facbb23cb4349a2383ef0488c26b21a3fc6ab98f94e7ff41bf4411f65d158208345632e130a6fae9f2bc85d40deddefec +SHA512 (uv-0.11.25.tar.gz) = 9b993ae026d55ee8dfe13101e0fdbe026d81b77ff42b20ad42ff72c9708f2d767cde94010e69cd4f65fa8821c43958bc665893761119770deba70823d895298c diff --git a/uv.spec b/uv.spec index 4924912..bceac92 100644 --- a/uv.spec +++ b/uv.spec @@ -5,7 +5,7 @@ %bcond other_python_versions %{undefined el10} Name: uv -Version: 0.11.24 +Version: 0.11.25 # The uv package has a permanent exception to the Updates Policy in Fedora, so # it can be updated in stable releases across SemVer boundaries (subject to # good judgement and actual compatibility of any reverse dependencies). See @@ -97,6 +97,7 @@ Summary: An extremely fast Python package installer and resolver, written # ISC # LGPL-3.0-or-later OR MPL-2.0 # MIT +# MIT AND (MIT OR Apache-2.0) # MIT OR Apache-2.0 # MIT OR LGPL-3.0-or-later # MIT OR Zlib OR Apache-2.0 From 7e46b8e3f9bc1214461041ccbbd23f06b0afebb1 Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Thu, 2 Jul 2026 06:04:00 +0100 Subject: [PATCH 190/214] Update to 0.11.26 (close RHBZ#2495097) --- .gitignore | 1 + sources | 2 +- uv.spec | 5 ++--- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.gitignore b/.gitignore index 235ed96..2c78ba6 100644 --- a/.gitignore +++ b/.gitignore @@ -219,3 +219,4 @@ /uv-0.11.23.tar.gz /uv-0.11.24.tar.gz /uv-0.11.25.tar.gz +/uv-0.11.26.tar.gz diff --git a/sources b/sources index 82e9d50..f0835cd 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (uv-0.11.25.tar.gz) = 9b993ae026d55ee8dfe13101e0fdbe026d81b77ff42b20ad42ff72c9708f2d767cde94010e69cd4f65fa8821c43958bc665893761119770deba70823d895298c +SHA512 (uv-0.11.26.tar.gz) = 8be3842d1a534765a99a130a857c860a2b6ec2dd517cbdff7f697db55500d1092b4f323459625d433635f3559a058eef98140eb65b1082394994d72c5d329ee1 diff --git a/uv.spec b/uv.spec index bceac92..6fd3ea5 100644 --- a/uv.spec +++ b/uv.spec @@ -5,7 +5,7 @@ %bcond other_python_versions %{undefined el10} Name: uv -Version: 0.11.25 +Version: 0.11.26 # The uv package has a permanent exception to the Updates Policy in Fedora, so # it can be updated in stable releases across SemVer boundaries (subject to # good judgement and actual compatibility of any reverse dependencies). See @@ -510,8 +510,7 @@ tomcli set crates/uv/Cargo.toml del dependencies.tracing-durations-export # tikv-jemallocator # wanted: 0.6.0 # currently packaged: 0.7.0 -# We haven’t suggested this upstream because we know they use renovate with -# dependency cooldowns, and we expect they will soon update without prompting. +# https://github.com/astral-sh/uv/pull/19735 # We use sed instead of tomcli because the target.cfg(…) expression is a # *mess*, and we don’t want to have to write it out here. sed --regexp-extended --in-place \ From c05ebc571f5b8b4fa413fb78e864e6018401b5b9 Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Thu, 2 Jul 2026 14:38:42 +0100 Subject: [PATCH 191/214] Simplify .gitignore [skip changelog] --- .gitignore | 223 +---------------------------------------------------- 1 file changed, 1 insertion(+), 222 deletions(-) diff --git a/.gitignore b/.gitignore index 2c78ba6..36e4cb1 100644 --- a/.gitignore +++ b/.gitignore @@ -1,222 +1 @@ -/pubgrub-3f0ba760951ab0deeac874b98bb18fc90103fcf7.tar.gz -/reqwest-middleware-21ceec9a5fd2e8d6f71c3ea2999078fecbd13cbe.tar.gz -/rs-async-zip-011b24604fa7bc223daaad7712c0694bac8f0a87.tar.gz -/uv-0.2.32.tar.gz -/uv-0.2.33.tar.gz -/pubgrub-2fac39371a47e7cb821e510aaa4de25405413d29.tar.gz -/uv-0.2.34.tar.gz -/uv-0.2.35.tar.gz -/uv-0.2.37-filtered.tar.zst -/uv-0.3.0-filtered.tar.zst -/pubgrub-aaef464c1b0d8eea4ff9ffaee4f3458c236d10da.tar.gz -/reqwest-middleware-5e3eaf254b5bd481c75d2710eed055f95b756913.tar.gz -/uv-0.3.2-filtered.tar.zst -/uv-0.3.3-filtered.tar.zst -/pubgrub-388685a8711092971930986644cfed152d1a1f6c.tar.gz -/uv-0.3.4-filtered.tar.zst -/tl-6e25b2ee2513d75385101a8ff9f591ef51f314ec.tar.gz -/uv-0.3.5-filtered.tar.zst -/uv-0.4.0-filtered.tar.zst -/uv-0.4.1-filtered.tar.zst -/uv-0.4.2-filtered.tar.zst -/uv-0.4.4-filtered.tar.zst -/uv-0.4.5-filtered.tar.zst -/uv-0.4.6-filtered.tar.zst -/uv-0.4.7-filtered.tar.zst -/uv-0.4.8-filtered.tar.zst -/uv-0.4.9-filtered.tar.zst -/uv-0.4.10-filtered.tar.zst -/uv-0.4.15.tar.gz -/uv-0.4.16.tar.gz -/uv-0.4.17.tar.gz -/uv-0.4.18.tar.gz -/uv-0.4.19.tar.gz -/uv-0.4.20.tar.gz -/uv-0.4.21.tar.gz -/uv-0.4.22.tar.gz -/uv-0.4.23.tar.gz -/pubgrub-19c77268c0ad5f69d7e12126e0cfacfbba466481.tar.gz -/uv-0.4.24.tar.gz -/uv-0.4.25.tar.gz -/pubgrub-7243f4faf8e54837aa8a401a18406e7173de4ad5.tar.gz -/reqwest-middleware-d95ec5a99fcc9a4339e1850d40378bbfe55ab121.tar.gz -/uv-0.4.26.tar.gz -/uv-0.4.27.tar.gz -/uv-0.4.28.tar.gz -/uv-0.4.29.tar.gz -/pubgrub-95e1390399cdddee986b658be19587eb1fdb2d79.tar.gz -/uv-0.4.30.tar.gz -/uv-0.5.0.tar.gz -/uv-0.5.1.tar.gz -/uv-0.5.2.tar.gz -/rs-async-zip-c909fda63fcafe4af496a07bfda28a5aae97e58d.tar.gz -/uv-0.5.3.tar.gz -/pubgrub-57afc831bf2551f164617a10383cf288bf5d190d.tar.gz -/uv-0.5.4.tar.gz -/uv-0.5.5.tar.gz -/pubgrub-9cd9049a64c7352de2ff3b525b9ae36421b0cc18.tar.gz -/uv-0.5.6.tar.gz -/pubgrub-57832d0588fbb7aab824813481104761dc1c7740.tar.gz -/uv-0.5.7.tar.gz -/uv-0.5.8.tar.gz -/uv-0.5.9.tar.gz -/uv-0.5.10.tar.gz -/pubgrub-05e8d12cea8d72c6d2d017900e478d0abd28fef4.tar.gz -/uv-0.5.11.tar.gz -/uv-0.5.12.tar.gz -/pubgrub-648aa343486e5529953153781fc86025c73c4a61.tar.gz -/uv-0.5.13.tar.gz -/uv-0.5.14.tar.gz -/uv-0.5.15.tar.gz -/uv-0.5.16.tar.gz -/uv-0.5.17.tar.gz -/uv-0.5.18.tar.gz -/uv-0.5.19.tar.gz -/uv-0.5.20.tar.gz -/uv-0.5.21.tar.gz -/uv-0.5.22.tar.gz -/uv-0.5.23.tar.gz -/uv-0.5.24.tar.gz -/uv-0.5.25.tar.gz -/uv-0.5.26.tar.gz -/uv-0.5.27.tar.gz -/pubgrub-b70cf707aa43f21b32f3a61b8a0889b15032d5c4.tar.gz -/tokio-tar-ba2b140f27d081c463335f0d68b5f8df8e6c845e.tar.gz -/uv-0.5.28.tar.gz -/tokio-tar-efeaea927c7a40ee66121de2e1bebfd5d7a4a602.tar.gz -/uv-0.5.29.tar.gz -/uv-0.5.30.tar.gz -/uv-0.5.31.tar.gz -/uv-0.6.0.tar.gz -/uv-0.6.1.tar.gz -/uv-0.6.2.tar.gz -/uv-0.6.3.tar.gz -/uv-0.6.4.tar.gz -/uv-0.6.5.tar.gz -/uv-0.6.6.tar.gz -/uv-0.6.7.tar.gz -/uv-0.6.8.tar.gz -/uv-0.6.9.tar.gz -/uv-0.6.10.tar.gz -/uv-0.6.11.tar.gz -/uv-0.6.12.tar.gz -/uv-0.6.13.tar.gz -/uv-0.6.14.tar.gz -/uv-0.6.16.tar.gz -/uv-0.6.17.tar.gz -/pubgrub-a3b4db3abb1829ce889fb89fa6d157fef529ef7e.tar.gz -/uv-0.7.0.tar.gz -/uv-0.7.1.tar.gz -/uv-0.7.2.tar.gz -/uv-0.7.3.tar.gz -/uv-0.7.4.tar.gz -/pubgrub-73d6ecf5a4e4eb1c754b8c3255c4d31bdc266fdb.tar.gz -/uv-0.7.5.tar.gz -/uv-0.7.6.tar.gz -/uv-0.7.8.tar.gz -/pubgrub-06ec5a5f59ffaeb6cf5079c6cb184467da06c9db.tar.gz -/uv-0.7.9.tar.gz -/uv-0.7.10.tar.gz -/uv-0.7.11.tar.gz -/uv-0.7.12.tar.gz -/uv-0.7.13.tar.gz -/uv-0.7.14.tar.gz -/reqwest-middleware-ad8b9d332d1773fde8b4cd008486de5973e0a3f8.tar.gz -/uv-0.7.15.tar.gz -/uv-0.7.16.tar.gz -/uv-0.7.17.tar.gz -/uv-0.7.18.tar.gz -/uv-0.7.19.tar.gz -/uv-0.7.20.tar.gz -/uv-0.7.21.tar.gz -/uv-0.7.22.tar.gz -/uv-0.8.0.tar.gz -/uv-0.8.1.tar.gz -/uv-0.8.2.tar.gz -/uv-0.8.3.tar.gz -/uv-0.8.4.tar.gz -/uv-0.8.5.tar.gz -/uv-0.8.6.tar.gz -/rs-async-zip-285e48742b74ab109887d62e1ae79e7c15fd4878.tar.gz -/uv-0.8.7.tar.gz -/uv-0.8.8.tar.gz -/uv-0.8.9.tar.gz -/uv-0.8.10.tar.gz -/uv-0.8.11.tar.gz -/uv-0.8.12.tar.gz -/tokio-tar-f1488188f1d1b54a73eb0c42a8b8f4b9ee87d688.tar.gz -/uv-0.8.13.tar.gz -/uv-0.8.14.tar.gz -/uv-0.8.15.tar.gz -/reqwest-middleware-7650ed76215a962a96d94a79be71c27bffde7ab2.tar.gz -/uv-0.8.16.tar.gz -/uv-0.8.17.tar.gz -/uv-0.8.18.tar.gz -/uv-0.8.19.tar.gz -/uv-0.8.20.tar.gz -/pubgrub-d8efd77673c9a90792da9da31b6c0da7ea8a324b.tar.gz -/uv-0.8.21.tar.gz -/uv-0.8.22.tar.gz -/uv-0.8.23.tar.gz -/uv-0.8.24.tar.gz -/uv-0.9.0.tar.gz -/uv-0.9.1.tar.gz -/uv-0.9.2.tar.gz -/uv-0.9.3.tar.gz -/uv-0.9.4.tar.gz -/uv-0.9.5.tar.gz -/uv-0.9.6.tar.gz -/rs-async-zip-f6a41d32866003c868d03ed791a89c794f61b703.tar.gz -/uv-0.9.7.tar.gz -/uv-0.9.8.tar.gz -/uv-0.9.9.tar.gz -/uv-0.9.10.tar.gz -/uv-0.9.11.tar.gz -/uv-0.9.12.tar.gz -/uv-0.9.13.tar.gz -/uv-0.9.14.tar.gz -/uv-0.9.15.tar.gz -/uv-0.9.16.tar.gz -/uv-0.9.17.tar.gz -/uv-0.9.18.tar.gz -/uv-0.9.20.tar.gz -/uv-0.9.21.tar.gz -/uv-0.9.22.tar.gz -/uv-0.9.26.tar.gz -/uv-0.9.27.tar.gz -/uv-0.9.28.tar.gz -/uv-0.9.29.tar.gz -/uv-0.9.30.tar.gz -/uv-0.10.0.tar.gz -/uv-0.10.1.tar.gz -/uv-0.10.2.tar.gz -/uv-0.10.3.tar.gz -/uv-0.10.4.tar.gz -/uv-0.10.5.tar.gz -/uv-0.10.6.tar.gz -/uv-0.10.7.tar.gz -/uv-0.10.8.tar.gz -/uv-0.10.9.tar.gz -/uv-0.10.10.tar.gz -/uv-0.10.11.tar.gz -/uv-0.10.12.tar.gz -/uv-0.11.2.tar.gz -/uv-0.11.4.tar.gz -/uv-0.11.5.tar.gz -/uv-0.11.6.tar.gz -/uv-0.11.7.tar.gz -/uv-0.11.9.tar.gz -/uv-0.11.10.tar.gz -/uv-0.11.11.tar.gz -/uv-0.11.12.tar.gz -/uv-0.11.14.tar.gz -/uv-0.11.15.tar.gz -/uv-0.11.16.tar.gz -/uv-0.11.18.tar.gz -/uv-0.11.19.tar.gz -/uv-0.11.21.tar.gz -/uv-0.11.22.tar.gz -/uv-0.11.23.tar.gz -/uv-0.11.24.tar.gz -/uv-0.11.25.tar.gz -/uv-0.11.26.tar.gz +/uv-*.tar.gz From e0cb68f3e2b690019a3478ff8fb893fe8a7d184c Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Tue, 7 Jul 2026 06:50:03 +0100 Subject: [PATCH 192/214] Update to 0.11.27 (close RHBZ#2497560) --- 20174.patch | 170 ++++++++++++++++++++++++++++++++++++++++++++++++++++ sources | 2 +- uv.spec | 14 ++++- 3 files changed, 183 insertions(+), 3 deletions(-) create mode 100644 20174.patch diff --git a/20174.patch b/20174.patch new file mode 100644 index 0000000..2ae827b --- /dev/null +++ b/20174.patch @@ -0,0 +1,170 @@ +From c77c2abf16c13b3ef26fae52b6bec97a7abad65b Mon Sep 17 00:00:00 2001 +From: "Benjamin A. Beasley" +Date: Tue, 7 Jul 2026 06:57:19 +0100 +Subject: [PATCH 1/4] Add BSD-3-Clause LICENSE file to ecosystem/jupyterlab + +https://github.com/jupyterlab/jupyterlab/raw/refs/tags/v4.6.1/LICENSE +--- + test/ecosystem/jupyterlab/LICENSE | 27 +++++++++++++++++++++++++++ + 1 file changed, 27 insertions(+) + create mode 100644 test/ecosystem/jupyterlab/LICENSE + +diff --git a/test/ecosystem/jupyterlab/LICENSE b/test/ecosystem/jupyterlab/LICENSE +new file mode 100644 +index 0000000000000..c73604f78a1f6 +--- /dev/null ++++ b/test/ecosystem/jupyterlab/LICENSE +@@ -0,0 +1,27 @@ ++Copyright (c) 2015-2025 Project Jupyter Contributors ++All rights reserved. ++ ++Redistribution and use in source and binary forms, with or without ++modification, are permitted provided that the following conditions are met: ++ ++1. Redistributions of source code must retain the above copyright notice, this ++ list of conditions and the following disclaimer. ++ ++2. Redistributions in binary form must reproduce the above copyright notice, ++ this list of conditions and the following disclaimer in the documentation ++ and/or other materials provided with the distribution. ++ ++3. Neither the name of the copyright holder nor the names of its ++ contributors may be used to endorse or promote products derived from ++ this software without specific prior written permission. ++ ++THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" ++AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE ++IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE ++DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE ++FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL ++DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR ++SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER ++CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, ++OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE ++OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +From 0561c227905e972b0d415b0170053ce6ec278184 Mon Sep 17 00:00:00 2001 +From: "Benjamin A. Beasley" +Date: Tue, 7 Jul 2026 06:58:21 +0100 +Subject: [PATCH 2/4] Add BSD-3-Clause LICENSE file to ecosystem/pandas + +https://github.com/pandas-dev/pandas/raw/refs/tags/v3.0.4/LICENSE +--- + test/ecosystem/pandas/LICENSE | 31 +++++++++++++++++++++++++++++++ + 1 file changed, 31 insertions(+) + create mode 100644 test/ecosystem/pandas/LICENSE + +diff --git a/test/ecosystem/pandas/LICENSE b/test/ecosystem/pandas/LICENSE +new file mode 100644 +index 0000000000000..bd1cc2a30c626 +--- /dev/null ++++ b/test/ecosystem/pandas/LICENSE +@@ -0,0 +1,31 @@ ++BSD 3-Clause License ++ ++Copyright (c) 2008-2011, AQR Capital Management, LLC, Lambda Foundry, Inc. and PyData Development Team ++All rights reserved. ++ ++Copyright (c) 2011-2026, Open source contributors. ++ ++Redistribution and use in source and binary forms, with or without ++modification, are permitted provided that the following conditions are met: ++ ++* Redistributions of source code must retain the above copyright notice, this ++ list of conditions and the following disclaimer. ++ ++* Redistributions in binary form must reproduce the above copyright notice, ++ this list of conditions and the following disclaimer in the documentation ++ and/or other materials provided with the distribution. ++ ++* Neither the name of the copyright holder nor the names of its ++ contributors may be used to endorse or promote products derived from ++ this software without specific prior written permission. ++ ++THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" ++AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE ++IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE ++DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE ++FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL ++DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR ++SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER ++CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, ++OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE ++OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +From d21662e1800682b4058dac8bb39079620eb21400 Mon Sep 17 00:00:00 2001 +From: "Benjamin A. Beasley" +Date: Tue, 7 Jul 2026 06:59:25 +0100 +Subject: [PATCH 3/4] Add MIT LICENSE file to ecosystem/poetry + +https://github.com/python-poetry/poetry/raw/refs/tags/2.4.1/LICENSE +--- + test/ecosystem/poetry/LICENSE | 20 ++++++++++++++++++++ + 1 file changed, 20 insertions(+) + create mode 100644 test/ecosystem/poetry/LICENSE + +diff --git a/test/ecosystem/poetry/LICENSE b/test/ecosystem/poetry/LICENSE +new file mode 100644 +index 0000000000000..81a8e1e473986 +--- /dev/null ++++ b/test/ecosystem/poetry/LICENSE +@@ -0,0 +1,20 @@ ++Copyright (c) 2018-present Sébastien Eustace ++ ++Permission is hereby granted, free of charge, to any person obtaining ++a copy of this software and associated documentation files (the ++"Software"), to deal in the Software without restriction, including ++without limitation the rights to use, copy, modify, merge, publish, ++distribute, sublicense, and/or sell copies of the Software, and to ++permit persons to whom the Software is furnished to do so, subject to ++the following conditions: ++ ++The above copyright notice and this permission notice shall be ++included in all copies or substantial portions of the Software. ++ ++THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, ++EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF ++MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND ++NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE ++LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION ++OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION ++WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +From 708d1e5dfaaaee539308d60dbbfc0faa186885fd Mon Sep 17 00:00:00 2001 +From: "Benjamin A. Beasley" +Date: Tue, 7 Jul 2026 07:06:54 +0100 +Subject: [PATCH 4/4] Add MIT LICENSE file to ecosystem/semantic-kernel + +https://github.com/microsoft/semantic-kernel/raw/refs/tags/python-1.43.1/python/LICENSE +--- + test/ecosystem/semantic-kernel/LICENSE | 21 +++++++++++++++++++++ + 1 file changed, 21 insertions(+) + create mode 100644 test/ecosystem/semantic-kernel/LICENSE + +diff --git a/test/ecosystem/semantic-kernel/LICENSE b/test/ecosystem/semantic-kernel/LICENSE +new file mode 100644 +index 0000000000000..9e841e7a26e4e +--- /dev/null ++++ b/test/ecosystem/semantic-kernel/LICENSE +@@ -0,0 +1,21 @@ ++ MIT License ++ ++ Copyright (c) Microsoft Corporation. ++ ++ Permission is hereby granted, free of charge, to any person obtaining a copy ++ of this software and associated documentation files (the "Software"), to deal ++ in the Software without restriction, including without limitation the rights ++ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell ++ copies of the Software, and to permit persons to whom the Software is ++ furnished to do so, subject to the following conditions: ++ ++ The above copyright notice and this permission notice shall be included in all ++ copies or substantial portions of the Software. ++ ++ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR ++ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, ++ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE ++ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER ++ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, ++ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE ++ SOFTWARE diff --git a/sources b/sources index f0835cd..19d1ff0 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (uv-0.11.26.tar.gz) = 8be3842d1a534765a99a130a857c860a2b6ec2dd517cbdff7f697db55500d1092b4f323459625d433635f3559a058eef98140eb65b1082394994d72c5d329ee1 +SHA512 (uv-0.11.27.tar.gz) = a3a019d752d359487b330d05ab2a1dd8520f5b1e8f773c0dc5935693a9572d8b8f7b21e49e5fc76f9e2436aee3ced090e80dd0f3e1274caeb6558a67119b0a88 diff --git a/uv.spec b/uv.spec index 6fd3ea5..cb64787 100644 --- a/uv.spec +++ b/uv.spec @@ -5,7 +5,7 @@ %bcond other_python_versions %{undefined el10} Name: uv -Version: 0.11.26 +Version: 0.11.27 # The uv package has a permanent exception to the Updates Policy in Fedora, so # it can be updated in stable releases across SemVer boundaries (subject to # good judgement and actual compatibility of any reverse dependencies). See @@ -65,12 +65,16 @@ Summary: An extremely fast Python package installer and resolver, written # BSD-2-Clause-Patent: # - test/ecosystem/github-wikidata-bot/ # BSD-3-Clause: +# - test/ecosystem/jupyterlab/ +# - test/ecosystem/pandas/ # - test/ecosystem/saleor/ # MIT: # - crates/uv-python/fetch-download-metadata.py is derived from # https://github.com/mitsuhiko/rye/tree/f9822267a7f00332d15be8551f89a212e7bc9017 # which was MIT. # - test/ecosystem/black/ +# - test/ecosystem/poetry/ +# - test/ecosystem/semantic-kernel/ # # Rust crates compiled into the executable contribute additional license terms. # To obtain the following list of licenses, build the package and note the @@ -148,6 +152,9 @@ Source1: uv.toml # Should uv.find_uv_bin() be able to find /usr/bin/uv? # https://github.com/astral-sh/uv/issues/4451 Patch: 0001-Downstream-patch-always-find-the-system-wide-uv-exec.patch +# Add license texts for new contents of test/ecosystem/ from PR#20068 +# https://github.com/astral-sh/uv/pull/20174 +Patch: %{url}/pull/20174.patch # https://fedoraproject.org/wiki/Changes/EncourageI686LeafRemoval ExcludeArch: %{ix86} @@ -645,10 +652,13 @@ skip="${skip-} --skip tests::built_by_uv_building" # dependency version differing from Cargo.lock. skip="${skip-} --skip base_client::tests::retried_status_codes" -# Harmless and trivial discrepancy in an error message: +# Harmless and trivial discrepancies in error messages: # 8 │- Caused by: error decoding response body for url (http://[LOCALHOST]/tqdm/) # 8 │+ Caused by: error decoding response body skip="${skip-} --skip network::retry_read_timeout_index" +# 9 │- Caused by: error decoding response body for url (http://[LOCALHOST]/) +# 9 │+ Caused by: error decoding response body +skip="${skip-} --skip network::retry_read_timeout_python_downloads_json" # These fail flakily: most frequently on ppc64le, but this seems to be just a # matter of luck, since we suspect a race condition. We have also seen failures From fca0e798ad68c63afbb16cc46affb4de08cfec97 Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Wed, 8 Jul 2026 09:54:45 +0100 Subject: [PATCH 193/214] Update to 0.11.28 (close RHBZ#2497922) --- sources | 2 +- uv.spec | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/sources b/sources index 19d1ff0..d3b4af9 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (uv-0.11.27.tar.gz) = a3a019d752d359487b330d05ab2a1dd8520f5b1e8f773c0dc5935693a9572d8b8f7b21e49e5fc76f9e2436aee3ced090e80dd0f3e1274caeb6558a67119b0a88 +SHA512 (uv-0.11.28.tar.gz) = b1e0468d714e70e7f4b1c9a3348ff8d7499cf463d9b59272347bfa38cc5d4d96c3913bf6c05222b26f098331cd84a3f495c4d5a4d872b45d5e735393cc3415ad diff --git a/uv.spec b/uv.spec index cb64787..070fad3 100644 --- a/uv.spec +++ b/uv.spec @@ -5,7 +5,7 @@ %bcond other_python_versions %{undefined el10} Name: uv -Version: 0.11.27 +Version: 0.11.28 # The uv package has a permanent exception to the Updates Policy in Fedora, so # it can be updated in stable releases across SemVer boundaries (subject to # good judgement and actual compatibility of any reverse dependencies). See From d0b910216ecd1b608cecff2ed50874ec976e6a1d Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 17 Jul 2026 08:19:10 +0000 Subject: [PATCH 194/214] Rebuilt for https://fedoraproject.org/wiki/Fedora_45_Mass_Rebuild From f3fac865ad5f22d0c2cc4d028789cd789305d7c2 Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Sat, 18 Jul 2026 08:07:42 +0100 Subject: [PATCH 195/214] Trivial whitespace reformatting [skip changelog] --- uv.spec | 54 +++++++++++++++++++++++++++--------------------------- 1 file changed, 27 insertions(+), 27 deletions(-) diff --git a/uv.spec b/uv.spec index 070fad3..b5de105 100644 --- a/uv.spec +++ b/uv.spec @@ -113,33 +113,33 @@ Summary: An extremely fast Python package installer and resolver, written # Zlib # bzip2-1.0.6 License: %{shrink: - 0BSD AND - (0BSD OR Apache-2.0 OR MIT) AND - Apache-2.0 AND - (Apache-2.0 OR BSD-2-Clause) AND - (Apache-2.0 OR BSD-2-Clause OR MIT) AND - (Apache-2.0 OR BSL-1.0) AND - (Apache-2.0 OR ISC OR MIT) AND - (Apache-2.0 OR MIT) AND - (Apache-2.0 OR MIT OR Zlib) AND - (Apache-2.0 OR MIT-0) AND - (Apache-2.0 WITH LLVM-exception) AND - (Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT) AND - BSD-3-Clause AND - CC0-1.0 AND - CDLA-Permissive-2.0 AND - ISC AND - (LGPL-3.0-or-later OR MIT) AND - (LGPL-3.0-or-later OR MPL-2.0) AND - MIT AND - MIT-0 AND - (MIT OR Unlicense) AND - MPL-2.0 AND - Unicode-3.0 AND - Unicode-DFS-2016 AND - Zlib AND - bzip2-1.0.6 - } + 0BSD AND + (0BSD OR Apache-2.0 OR MIT) AND + Apache-2.0 AND + (Apache-2.0 OR BSD-2-Clause) AND + (Apache-2.0 OR BSD-2-Clause OR MIT) AND + (Apache-2.0 OR BSL-1.0) AND + (Apache-2.0 OR ISC OR MIT) AND + (Apache-2.0 OR MIT) AND + (Apache-2.0 OR MIT OR Zlib) AND + (Apache-2.0 OR MIT-0) AND + (Apache-2.0 WITH LLVM-exception) AND + (Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT) AND + BSD-3-Clause AND + CC0-1.0 AND + CDLA-Permissive-2.0 AND + ISC AND + (LGPL-3.0-or-later OR MIT) AND + (LGPL-3.0-or-later OR MPL-2.0) AND + MIT AND + MIT-0 AND + (MIT OR Unlicense) AND + MPL-2.0 AND + Unicode-3.0 AND + Unicode-DFS-2016 AND + Zlib AND + bzip2-1.0.6 + } # LICENSE.dependencies contains a full license breakdown URL: https://github.com/astral-sh/uv Source0: %{url}/archive/%{version}/uv-%{version}.tar.gz From 9df354a5935d9f5979e6a7f9f1f98b33500861a6 Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Sat, 18 Jul 2026 08:16:51 +0100 Subject: [PATCH 196/214] Avoid OOM on builders with relatively little total memory --- uv.spec | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/uv.spec b/uv.spec index b5de105..6ba0a89 100644 --- a/uv.spec +++ b/uv.spec @@ -168,15 +168,19 @@ ExcludeArch: %{ix86} # https://doc.rust-lang.org/rustc/codegen-options/index.html#debuginfo %global rustflags_debuginfo 1 -# As a separate limitation, memory exhaustion can occur on builders with very -# many CPUs. Typical workspace crates peak out at 2-4 GB per rustc invocation. -# The uv crate needs much more memory to compile and link, but in practice it -# is also compiled alone after all the other crates have finished, so it does -# not need to influence (and does not benefit from) this setting. This setting -# does not necessarily have to reflect the maximum memory required to compile a -# workspace crate; keeping it well above the average suffices in practice on -# many-core systems. Increase as needed. -%global _smp_tasksize_proc 4096 +# As a separate limitation, memory exhaustion (OOM) can occur during parallel +# portions of the build. +# - Because very many workspace crates can be built in parallel, builders with +# a very large number of CPUs may OOM. Typical workspace crates peak out at +# roughly 2–4 GB per rustc process. +# - The uv crate needs much more memory to compile and link, at least 8 GB, and +# when building the tests we may be building bin and lib versions at the same +# time, along with the it (integration test) crate, which is also rather +# large. This is a problem for “low memory” builders (<20 GB or so). +# Unfortunately, this means that we need to scale the memory per task based on +# the memory requirements of the top-level uv crate in order to avoid OOM on +# all kinds of builders. +%global _smp_tasksize_proc 10240 # Compilation may fail on builders with very many cores (e.g. 192 cores) due to # “too many open files.” Try to keep the files/core ratio from getting too low. From b1708e040e988ea5807df537ffeee35f72362391 Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Wed, 22 Jul 2026 06:32:17 +0100 Subject: [PATCH 197/214] Update to 0.11.31 (close RHBZ#2501168) --- sources | 2 +- uv.spec | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/sources b/sources index d3b4af9..7ad4c3c 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (uv-0.11.28.tar.gz) = b1e0468d714e70e7f4b1c9a3348ff8d7499cf463d9b59272347bfa38cc5d4d96c3913bf6c05222b26f098331cd84a3f495c4d5a4d872b45d5e735393cc3415ad +SHA512 (uv-0.11.31.tar.gz) = 7ae3789adccaf9fafcbb55843c719ff7167d33905587a34b2b423d04203204dcbfa9fcb8c6584ff10400d26ea71e8f44999c420511bd992ea7dfb25504b68d09 diff --git a/uv.spec b/uv.spec index 6ba0a89..6e0af43 100644 --- a/uv.spec +++ b/uv.spec @@ -5,7 +5,7 @@ %bcond other_python_versions %{undefined el10} Name: uv -Version: 0.11.28 +Version: 0.11.31 # The uv package has a permanent exception to the Updates Policy in Fedora, so # it can be updated in stable releases across SemVer boundaries (subject to # good judgement and actual compatibility of any reverse dependencies). See From 6110b4aebe95585bf6857eb4c6adc334546440cb Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Wed, 22 Jul 2026 07:17:53 +0100 Subject: [PATCH 198/214] Adjust the other_python_versions bcond to default off on all EPELs [skip changelog] --- uv.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/uv.spec b/uv.spec index 6e0af43..90199a3 100644 --- a/uv.spec +++ b/uv.spec @@ -2,7 +2,7 @@ # Should we run tests that require specific Python interpreter versions # (major.minor, not major.minor.patch)? This adds a few dozen tests, but adds # BuildRequires on more Python interpreters (which aren’t available in EPEL). -%bcond other_python_versions %{undefined el10} +%bcond other_python_versions %{undefined epel} Name: uv Version: 0.11.31 From 6e7b6c01ad0794e214459770352a154e00e32185 Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Wed, 22 Jul 2026 07:19:47 +0100 Subject: [PATCH 199/214] Use pyproject long options --- uv.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/uv.spec b/uv.spec index 90199a3..15c8874 100644 --- a/uv.spec +++ b/uv.spec @@ -555,7 +555,7 @@ sed --regexp-extended --in-place \ %install %pyproject_install -%pyproject_save_files -L uv +%pyproject_save_files --no-assert-license uv if [ '%{python3_sitearch}' != '%{python3_sitelib}' ] then From 1e53b4b6484ade65dcf6103f7afd362b2a612aed Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Wed, 22 Jul 2026 07:22:14 +0100 Subject: [PATCH 200/214] Assert that the .dist-info directory contains license files --- uv.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/uv.spec b/uv.spec index 15c8874..39ea520 100644 --- a/uv.spec +++ b/uv.spec @@ -555,7 +555,7 @@ sed --regexp-extended --in-place \ %install %pyproject_install -%pyproject_save_files --no-assert-license uv +%pyproject_save_files --assert-license uv if [ '%{python3_sitearch}' != '%{python3_sitelib}' ] then From 958b78c7977e19902abda38e660fc073d74a5655 Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Wed, 22 Jul 2026 07:24:40 +0100 Subject: [PATCH 201/214] Use the provisional pyproject declarative buildsystem --- uv.spec | 23 ++++++++--------------- 1 file changed, 8 insertions(+), 15 deletions(-) diff --git a/uv.spec b/uv.spec index 39ea520..331ca44 100644 --- a/uv.spec +++ b/uv.spec @@ -156,6 +156,9 @@ Patch: 0001-Downstream-patch-always-find-the-system-wide-uv-exec.patch # https://github.com/astral-sh/uv/pull/20174 Patch: %{url}/pull/20174.patch +BuildSystem: pyproject +BuildOption(install): --assert-license uv + # https://fedoraproject.org/wiki/Changes/EncourageI686LeafRemoval ExcludeArch: %{ix86} @@ -354,9 +357,7 @@ Requires: uv = %{version}-%{release} This package provides an importable Python module for uv. -%prep -%autosetup -p1 - +%prep -a # Collect license files of vendored dependencies in the main source archive install -D --preserve-timestamps --mode=0644 \ --target=LICENSE.bundled/packaging \ @@ -531,7 +532,7 @@ sed --regexp-extended --in-place \ %cargo_prep -%generate_buildrequires +%generate_buildrequires -p # For unclear reasons, maturin checks for all crate dependencies when it is # invoked as part of %%pyproject_buildrequires – including those corresponding # to optional features. @@ -543,20 +544,14 @@ sed --regexp-extended --in-place \ # Since maturin always checks for dev-dependencies, we need -t so that they are # generated even when the “check” bcond is disabled. %cargo_generate_buildrequires -a -t -%pyproject_buildrequires -%build -%pyproject_wheel - +%build -a %{cargo_license_summary} %{cargo_license} > LICENSE.dependencies -%install -%pyproject_install -%pyproject_save_files --assert-license uv - +%install -a if [ '%{python3_sitearch}' != '%{python3_sitelib}' ] then # Maturin is really designed to build compiled Python extensions, but (when @@ -587,7 +582,7 @@ install -D --preserve-timestamps --mode=0644 \ --target='%{buildroot}%{_sysconfdir}/uv' '%{SOURCE1}' -%check +%check -a %if %{with check} # These tests rely on debug assertions, and fail when tests are compiled in # release mode: @@ -683,8 +678,6 @@ skip="${skip-} --skip user_agent_version::test_user_agent_has_version" %cargo_test -- -- --exact ${skip-} %endif -%pyproject_check_import - %files %license LICENSE-APACHE LICENSE-MIT LICENSE.dependencies LICENSE.bundled/ From 97c5cc15eec2ba5cde5fbebeb4bfceb3b1440ce1 Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Fri, 24 Jul 2026 08:14:45 +0100 Subject: [PATCH 202/214] Skip some tests related to managed interpreters on riscv64 --- uv.spec | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/uv.spec b/uv.spec index 331ca44..19e1c77 100644 --- a/uv.spec +++ b/uv.spec @@ -615,6 +615,16 @@ skip="${skip-} --skip python_list::python_list_with_mirrors" # This might be worth reporting upstream, but is not a serious issue. skip="${skip-} --skip python_pin::python_pin_resolve" %endif +%ifarch riscv64 +# These expect managed interpreters of the form +# cpython-3.##-linux-riscv64gc-any, but crates/uv-python/download-metadata.json +# only has them for cpython-3.##-linux-riscv64-gnu. It’s not weird to find +# holes in the managed interpreter support matrix for less common +# architectures. +skip="${skip-} --skip python_find::python_find" +skip="${skip-} --skip python_list::python_list" +skip="${skip-} --skip python_pin::python_pin_resolve" +%endif # Test registry_client::tests::test_redirect_to_server_with_credentials is # flaky # https://github.com/astral-sh/uv/issues/16447 From 4bd686691f8a8062d302248d884ff601aa1a1417 Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Fri, 24 Jul 2026 06:48:49 +0100 Subject: [PATCH 203/214] Update to 0.11.32 (close RHBZ#2506667) --- sources | 2 +- uv.spec | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/sources b/sources index 7ad4c3c..ea9a774 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (uv-0.11.31.tar.gz) = 7ae3789adccaf9fafcbb55843c719ff7167d33905587a34b2b423d04203204dcbfa9fcb8c6584ff10400d26ea71e8f44999c420511bd992ea7dfb25504b68d09 +SHA512 (uv-0.11.32.tar.gz) = cd1c810400b0712f93fa8dd56ca55b726c22e33f8655ab48011f34f8c2a69d8f517ccd758f0cc0a3a293ee1eae2bac994577073d3e2cd7449ff7a43ba2f88194 diff --git a/uv.spec b/uv.spec index 19e1c77..ad26642 100644 --- a/uv.spec +++ b/uv.spec @@ -5,7 +5,7 @@ %bcond other_python_versions %{undefined epel} Name: uv -Version: 0.11.31 +Version: 0.11.32 # The uv package has a permanent exception to the Updates Policy in Fedora, so # it can be updated in stable releases across SemVer boundaries (subject to # good judgement and actual compatibility of any reverse dependencies). See From e0e68f579822eba4c8763485dd3a8e598e77a037 Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Mon, 27 Jul 2026 06:57:16 +0100 Subject: [PATCH 204/214] Skip a test that fails in emulated chroots --- uv.spec | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/uv.spec b/uv.spec index ad26642..0a147d9 100644 --- a/uv.spec +++ b/uv.spec @@ -625,6 +625,15 @@ skip="${skip-} --skip python_find::python_find" skip="${skip-} --skip python_list::python_list" skip="${skip-} --skip python_pin::python_pin_resolve" %endif + +# It’s not clear what causes the trivial discrepancy, but we find that this +# fails when building in qemu-user-static emulated chroots. +# 4 │- Caused by: Failed to query Python interpreter at `[TEMP_DIR]/bar` +# 5 │- Caused by: [PERMISSION DENIED] +# 4 │+ Caused by: Querying Python at `[TEMP_DIR]/bar` failed with +# exit status exit status: 127 +skip="${skip-} --skip python_find::python_find_path" + # Test registry_client::tests::test_redirect_to_server_with_credentials is # flaky # https://github.com/astral-sh/uv/issues/16447 From 3683e38d1d9e4d46f9cc2b56a2491fcb7e49f8b7 Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Fri, 31 Jul 2026 07:27:17 +0100 Subject: [PATCH 205/214] Update to 0.11.33 --- sources | 2 +- uv.spec | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/sources b/sources index ea9a774..7f2a53e 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (uv-0.11.32.tar.gz) = cd1c810400b0712f93fa8dd56ca55b726c22e33f8655ab48011f34f8c2a69d8f517ccd758f0cc0a3a293ee1eae2bac994577073d3e2cd7449ff7a43ba2f88194 +SHA512 (uv-0.11.33.tar.gz) = eebc671598b627b9c152da0bad7b3a723788d517b919b0be6db7bea15f89188df613ec04e0b5f1ce189d333faaabbda6649c0ef2f031bd6159cb36aac1c409b6 diff --git a/uv.spec b/uv.spec index 0a147d9..f47bc93 100644 --- a/uv.spec +++ b/uv.spec @@ -5,7 +5,7 @@ %bcond other_python_versions %{undefined epel} Name: uv -Version: 0.11.32 +Version: 0.11.33 # The uv package has a permanent exception to the Updates Policy in Fedora, so # it can be updated in stable releases across SemVer boundaries (subject to # good judgement and actual compatibility of any reverse dependencies). See From 3cbb6c04d81ed6ba25abacde4b594954181607b6 Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Fri, 31 Jul 2026 16:29:06 +0100 Subject: [PATCH 206/214] Update to 0.12.0 --- sources | 2 +- uv.spec | 14 ++------------ 2 files changed, 3 insertions(+), 13 deletions(-) diff --git a/sources b/sources index 7f2a53e..ee4c492 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (uv-0.11.33.tar.gz) = eebc671598b627b9c152da0bad7b3a723788d517b919b0be6db7bea15f89188df613ec04e0b5f1ce189d333faaabbda6649c0ef2f031bd6159cb36aac1c409b6 +SHA512 (uv-0.12.0.tar.gz) = 9dfcb42b4d74c9f26dbb4e6b5ed1a424aafd3c4c2920766682f9d0fa5e54f52a6e9c76fd8d78bc10f6bc0054daed7e339bb01cc79d5114fd51cfc67a27186558 diff --git a/uv.spec b/uv.spec index f47bc93..7d06664 100644 --- a/uv.spec +++ b/uv.spec @@ -5,7 +5,7 @@ %bcond other_python_versions %{undefined epel} Name: uv -Version: 0.11.33 +Version: 0.12.0 # The uv package has a permanent exception to the Updates Policy in Fedora, so # it can be updated in stable releases across SemVer boundaries (subject to # good judgement and actual compatibility of any reverse dependencies). See @@ -111,7 +111,6 @@ Summary: An extremely fast Python package installer and resolver, written # Unicode-3.0 # Unlicense OR MIT # Zlib -# bzip2-1.0.6 License: %{shrink: 0BSD AND (0BSD OR Apache-2.0 OR MIT) AND @@ -137,8 +136,7 @@ License: %{shrink: MPL-2.0 AND Unicode-3.0 AND Unicode-DFS-2016 AND - Zlib AND - bzip2-1.0.6 + Zlib } # LICENSE.dependencies contains a full license breakdown URL: https://github.com/astral-sh/uv @@ -427,14 +425,6 @@ tomcli set Cargo.toml append workspace.exclude crates/uv-bench # needed here. It also brings extra dependencies that we would prefer to avoid. tomcli set Cargo.toml append workspace.exclude crates/uv-dev -# Do not request static linking of anything (particularly, liblzma) -tomcli set Cargo.toml lists delitem \ - workspace.dependencies.xz2.features 'static' -tomcli set crates/uv/Cargo.toml lists delitem \ - features.default 'uv-distribution/static' -tomcli set crates/uv-distribution/Cargo.toml del features.static -tomcli set crates/uv-extract/Cargo.toml del features.static - # Disable several default features that control which tests are compiled and # executed, and which are not usable in offline builds: # From 7f903f9dcee7f7a5ae7d45c5e906da9eba520288 Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Sun, 2 Aug 2026 11:58:22 +0100 Subject: [PATCH 207/214] Update to 0.12.1 (close RHBZ#2509887) --- sources | 2 +- uv-0.12.1-revert-blake2-beta.patch | 11 +++++++++++ uv.spec | 15 ++++++++++++++- 3 files changed, 26 insertions(+), 2 deletions(-) create mode 100644 uv-0.12.1-revert-blake2-beta.patch diff --git a/sources b/sources index ee4c492..8c0e819 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (uv-0.12.0.tar.gz) = 9dfcb42b4d74c9f26dbb4e6b5ed1a424aafd3c4c2920766682f9d0fa5e54f52a6e9c76fd8d78bc10f6bc0054daed7e339bb01cc79d5114fd51cfc67a27186558 +SHA512 (uv-0.12.1.tar.gz) = 15c84d4b719295c1d9fca178025317d1b808f4c34a572609b78e35382bb12abdc4ba7a3b2bd1bc5576763b655b34b222be15f99c3481419f92a5f74e460ef96f diff --git a/uv-0.12.1-revert-blake2-beta.patch b/uv-0.12.1-revert-blake2-beta.patch new file mode 100644 index 0000000..805ef98 --- /dev/null +++ b/uv-0.12.1-revert-blake2-beta.patch @@ -0,0 +1,11 @@ +diff -Naur uv-0.12.1-original/crates/uv-extract/src/hash.rs uv-0.12.1/crates/uv-extract/src/hash.rs +--- uv-0.12.1-original/crates/uv-extract/src/hash.rs 2026-07-31 20:05:57.000000000 +0100 ++++ uv-0.12.1/crates/uv-extract/src/hash.rs 2026-08-02 11:53:13.406289238 +0100 +@@ -1,4 +1,6 @@ +-use sha2::{Digest, digest::consts::U32}; ++// BLAKE2 still uses the `digest` 0.10 trait, while MD5 and SHA-2 use 0.11. ++use blake2::digest::{Digest as _, consts::U32}; ++use sha2::Digest; + use std::pin::Pin; + use std::task::{Context, Poll}; + use tokio::io::{AsyncReadExt, ReadBuf}; diff --git a/uv.spec b/uv.spec index 7d06664..ccb997f 100644 --- a/uv.spec +++ b/uv.spec @@ -5,7 +5,7 @@ %bcond other_python_versions %{undefined epel} Name: uv -Version: 0.12.0 +Version: 0.12.1 # The uv package has a permanent exception to the Updates Policy in Fedora, so # it can be updated in stable releases across SemVer boundaries (subject to # good judgement and actual compatibility of any reverse dependencies). See @@ -150,6 +150,10 @@ Source1: uv.toml # Should uv.find_uv_bin() be able to find /usr/bin/uv? # https://github.com/astral-sh/uv/issues/4451 Patch: 0001-Downstream-patch-always-find-the-system-wide-uv-exec.patch +# Downstream-only: revert source-code changes from “Upgrade BLAKE2 to unify +# hashing digest versions”, https://github.com/astral-sh/uv/pull/20834. We do +# not wish to upgrade rust-blake2 to a pre-release. +Patch: uv-0.12.1-revert-blake2-beta.patch # Add license texts for new contents of test/ecosystem/ from PR#20068 # https://github.com/astral-sh/uv/pull/20174 Patch: %{url}/pull/20174.patch @@ -519,6 +523,15 @@ sed --regexp-extended --in-place \ 's/^(tikv-jemallocator\b.*version = ")0\.6\.0"/\1>=0.6.0, <0.8.0"/' \ crates/uv-performance-memory-allocator/Cargo.toml +# blake2 +# wanted: 0.11.0-rc.6 +# currently packaged: 0.10.6 +# https://github.com/astral-sh/uv/pull/19735 +# Downstream-only: revert “Upgrade BLAKE2 to unify hashing digest versions”, +# https://github.com/astral-sh/uv/pull/20834. We do not wish to upgrade +# rust-blake2 to a pre-release. There is an anccompanying source-code patch. +tomcli set Cargo.toml str workspace.dependencies.blake2.version 0.10.6 + %cargo_prep From 62bd08e26e6780b14f11aefff1138cfbf8d63b23 Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Tue, 4 Aug 2026 23:28:34 +0100 Subject: [PATCH 208/214] Document bundling of rust-netrc crate --- uv.spec | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/uv.spec b/uv.spec index ccb997f..c883739 100644 --- a/uv.spec +++ b/uv.spec @@ -45,6 +45,7 @@ Summary: An extremely fast Python package installer and resolver, written # MIT # - crates/uv-virtualenv/src/activator/ is vendored and forked from # python3dist(virtualenv) +# - crates/uv-netrc/ is vencored from crate(rust-netrc) # # Additionally, the following are bundled/forked but happen to be under the # same (Apache-2.0 OR MIT) terms as uv itself: @@ -274,6 +275,16 @@ Provides: bundled(crate(r-shquote)) = 0.1.1 # appear to be any prospect of unbundling. Provides: bundled(crate(keyring)) = 4.0.0~rc2 +# crates/uv-netrc +# From crates/uv-netrc/README.md, “This crate vendors the rust-netrc parser for +# use by uv. The source was vendored from gribouille/netrc, as published in +# rust-netrc 0.1.2[…]” +# +# Upstream justifies the bundling in +# https://github.com/astral-sh/uv/pull/19409, and the mandatory +# path-to-unbundling query appears in a comment on that PR. +Provides: bundled(crate(rust-netrc)) = 0.1.2 + # The contents of crates/uv-virtualenv/src/activator/ are a bundled and # slightly forked copy of a subset of https://pypi.org/project/virtualenv; see # https://github.com/pypa/virtualenv/tree/main/src/virtualenv/activation. From 049d34581dd3218022c789ccb156813d4d9cd5bb Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Wed, 5 Aug 2026 06:57:56 +0100 Subject: [PATCH 209/214] More spec-file comment improvements --- uv.spec | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/uv.spec b/uv.spec index c883739..faf62c8 100644 --- a/uv.spec +++ b/uv.spec @@ -45,7 +45,7 @@ Summary: An extremely fast Python package installer and resolver, written # MIT # - crates/uv-virtualenv/src/activator/ is vendored and forked from # python3dist(virtualenv) -# - crates/uv-netrc/ is vencored from crate(rust-netrc) +# - crates/uv-netrc/ is vendored from crate(rust-netrc) # # Additionally, the following are bundled/forked but happen to be under the # same (Apache-2.0 OR MIT) terms as uv itself: @@ -281,8 +281,11 @@ Provides: bundled(crate(keyring)) = 4.0.0~rc2 # rust-netrc 0.1.2[…]” # # Upstream justifies the bundling in -# https://github.com/astral-sh/uv/pull/19409, and the mandatory -# path-to-unbundling query appears in a comment on that PR. +# https://github.com/astral-sh/uv/pull/19409: they want unreleased bug fixes, +# including those pertaining to https://github.com/astral-sh/uv/issues/16083, +# and to avoid a dependency on thiserror v1. In response to the mandatory +# query, they report they are open to de-vendoring if a new rust-netrc release +# with the desired changes appears. Provides: bundled(crate(rust-netrc)) = 0.1.2 # The contents of crates/uv-virtualenv/src/activator/ are a bundled and From cb8c37590766e95fd2e179086e17359eb6fe7cb0 Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Wed, 5 Aug 2026 07:00:49 +0100 Subject: [PATCH 210/214] Ship the license file for the vendored rust-netrc --- uv.spec | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/uv.spec b/uv.spec index faf62c8..aed7ceb 100644 --- a/uv.spec +++ b/uv.spec @@ -374,7 +374,7 @@ This package provides an importable Python module for uv. %prep -a -# Collect license files of vendored dependencies in the main source archive +# Collect license files of vendored dependencies install -D --preserve-timestamps --mode=0644 \ --target=LICENSE.bundled/packaging \ crates/uv-python/python/packaging/LICENSE.* @@ -387,6 +387,8 @@ install -D --preserve-timestamps --mode=0644 \ crates/uv-build-frontend/src/pipreqs/LICENSE install -D --preserve-timestamps --mode=0644 \ --target=LICENSE.bundled/ripunzip crates/uv-extract/src/vendor/LICENSE +install -D --preserve-timestamps --mode=0644 \ + --target=LICENSE.bundled/rust-netrc crates/uv-netrc/LICENSE # The original license text from rattler_installs_packages is present in a # comment, but we want it in a separate file so we can ensure it is present in # the binary RPM. From 3e1297d8471684a3bde5b8fefdb537a598e460e9 Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Wed, 5 Aug 2026 08:40:26 +0100 Subject: [PATCH 211/214] Skip another test that flakes due to racy env-vars --- uv.spec | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/uv.spec b/uv.spec index aed7ceb..26fd457 100644 --- a/uv.spec +++ b/uv.spec @@ -712,6 +712,13 @@ skip="${skip-} --skip network::retry_read_timeout_python_downloads_json" skip="${skip-} --skip user_agent_version::test_user_agent_has_linehaul" skip="${skip-} --skip user_agent_version::test_user_agent_has_subcommand" skip="${skip-} --skip user_agent_version::test_user_agent_has_version" +# Similarly, with an error like: +# Client::new(): reqwest::Error { +# kind: Builder, +# source: General("No CA certificates were loaded from the system") +# } +# There are probably more of these. +skip="${skip-} --skip retry::tests::retried_status_codes" %cargo_test -- -- --exact ${skip-} %endif From cb3df8bce7ac4d252b9a75005d9f854124a73d1b Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Thu, 6 Aug 2026 07:22:38 +0100 Subject: [PATCH 212/214] Update to 0.12.2 (close RHBZ#2511719) --- sources | 2 +- uv.spec | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/sources b/sources index 8c0e819..a72ff96 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (uv-0.12.1.tar.gz) = 15c84d4b719295c1d9fca178025317d1b808f4c34a572609b78e35382bb12abdc4ba7a3b2bd1bc5576763b655b34b222be15f99c3481419f92a5f74e460ef96f +SHA512 (uv-0.12.2.tar.gz) = 4058b81df286d5702278c7a3315dc3df96aae15ae255c4cb71fa293aa9d8519842d58c8d1a00b3c2a6c33443449b0d975bc0122e972a05c9ce023e00ee260575 diff --git a/uv.spec b/uv.spec index 26fd457..8b31116 100644 --- a/uv.spec +++ b/uv.spec @@ -5,7 +5,7 @@ %bcond other_python_versions %{undefined epel} Name: uv -Version: 0.12.1 +Version: 0.12.2 # The uv package has a permanent exception to the Updates Policy in Fedora, so # it can be updated in stable releases across SemVer boundaries (subject to # good judgement and actual compatibility of any reverse dependencies). See From ca46850e729f91fdd06684e01451d82807928c7a Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Sat, 8 Aug 2026 05:55:28 +0100 Subject: [PATCH 213/214] Update to 0.12.3 (close RHBZ#2512634) --- sources | 2 +- uv.spec | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/sources b/sources index a72ff96..ce4d7d8 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (uv-0.12.2.tar.gz) = 4058b81df286d5702278c7a3315dc3df96aae15ae255c4cb71fa293aa9d8519842d58c8d1a00b3c2a6c33443449b0d975bc0122e972a05c9ce023e00ee260575 +SHA512 (uv-0.12.3.tar.gz) = a4933b9b9b852dee2485800ad82ee3be111a4a5a437ab32d5064cfd4004e124ba733294a546a097379c74cf1fc234d1da0488aec7725037c7b967ec1aa862a71 diff --git a/uv.spec b/uv.spec index 8b31116..49a17fc 100644 --- a/uv.spec +++ b/uv.spec @@ -5,7 +5,7 @@ %bcond other_python_versions %{undefined epel} Name: uv -Version: 0.12.2 +Version: 0.12.3 # The uv package has a permanent exception to the Updates Policy in Fedora, so # it can be updated in stable releases across SemVer boundaries (subject to # good judgement and actual compatibility of any reverse dependencies). See From 247904f9a8ae91df0730d2e1b950d15f3848d6f4 Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Mon, 24 Aug 2026 07:33:31 +0100 Subject: [PATCH 214/214] =?UTF-8?q?Don=E2=80=99t=20explicitly=20lower-boun?= =?UTF-8?q?d=20cargo-rpm-macros=20version?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit [skip changelog] --- uv.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/uv.spec b/uv.spec index 49a17fc..3583aa3 100644 --- a/uv.spec +++ b/uv.spec @@ -192,7 +192,7 @@ ExcludeArch: %{ix86} # “too many open files.” Try to keep the files/core ratio from getting too low. %global _smp_ncpus_max 48 -BuildRequires: cargo-rpm-macros >= 24 +BuildRequires: cargo-rpm-macros BuildRequires: rust2rpm-helper BuildRequires: tomcli %if %{with check} && %{with other_python_versions}