diff --git a/.gitignore b/.gitignore index 5ed9012..99aca88 100644 --- a/.gitignore +++ b/.gitignore @@ -79,3 +79,6 @@ /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 diff --git a/0001-Downstream-only-Revert-feat-ensure-successful-round-.patch b/0001-Downstream-only-Revert-feat-ensure-successful-round-.patch index f5af37c..dfd8c23 100644 --- a/0001-Downstream-only-Revert-feat-ensure-successful-round-.patch +++ b/0001-Downstream-only-Revert-feat-ensure-successful-round-.patch @@ -1,4 +1,4 @@ -From c1fcf7e189af8ddd6439f0fb003bc9922da833e9 Mon Sep 17 00:00:00 2001 +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 @@ -15,17 +15,17 @@ We will not be packaging an alpha version of rust-ron. 4 files changed, 4 insertions(+), 15 deletions(-) diff --git a/Cargo.lock b/Cargo.lock -index 4d87781..128fed2 100644 +index b3d912a..a6c2eae 100644 --- a/Cargo.lock +++ b/Cargo.lock -@@ -719,15 +719,14 @@ checksum = "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f" +@@ -730,15 +730,14 @@ checksum = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c" [[package]] name = "ron" --version = "0.9.0-alpha.0" +-version = "0.9.0-alpha.1" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "6c0bd893640cac34097a74f0c2389ddd54c62d6a3c635fa93cafe6b6bc19be6a" +-checksum = "7644a2a539ff7fa991c8f4652373cd722d387e39229415103243914249730836" +checksum = "b91f7eff05f748767f183df4320a63d6936e9c6107d97c9e6bdd9784f4289c94" dependencies = [ "base64", @@ -37,33 +37,33 @@ index 4d87781..128fed2 100644 [[package]] diff --git a/Cargo.toml b/Cargo.toml -index 5b14909..5d8ed4c 100644 +index 2424d96..3705919 100644 --- a/Cargo.toml +++ b/Cargo.toml -@@ -35,7 +35,7 @@ version-ranges = { version = "0.1.0", path = "version-ranges" } +@@ -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.5" - proptest = "1.5.0" --ron = "=0.9.0-alpha.0" -+ron = "0.8.1" + 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 b604712..e9f10c6 100644 +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.5.0" --ron = "=0.9.0-alpha.0" + 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 baac7ba..7873e1b 100644 +index aac7c94..d28984a 100644 --- a/version-ranges/src/lib.rs +++ b/version-ranges/src/lib.rs -@@ -1202,16 +1202,6 @@ pub mod tests { +@@ -1210,16 +1210,6 @@ pub mod tests { proptest! { @@ -81,5 +81,5 @@ index baac7ba..7873e1b 100644 #[test] -- -2.47.0 +2.48.1 diff --git a/11.patch b/11.patch new file mode 100644 index 0000000..1cc1ea6 --- /dev/null +++ b/11.patch @@ -0,0 +1,55 @@ +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] diff --git a/sources b/sources index 8d4e7af..0f542ab 100644 --- a/sources +++ b/sources @@ -1,4 +1,5 @@ -SHA512 (uv-0.5.26.tar.gz) = e723775465594959b8e70c1bd43f0ddce0b8d64d7ddb157f28385593aa6c40153b1152b2c22534862da0605e2a0ccb7dffd1f95e07d8003eb37433bb3b887b73 +SHA512 (uv-0.5.27.tar.gz) = ce597666983b24e85992cf7aa313506255d58b97ac0e98300c5f01f8418a71e2c7357b9fdbd2cd1b56b3a8cfff13d3014f18f740e11561cd4eea03438efec990 SHA512 (rs-async-zip-c909fda63fcafe4af496a07bfda28a5aae97e58d.tar.gz) = 3a309566f4925b02496fcf19bc2865968edf6fb65082ca4079d2cee79e6b0353a1910c079f2afe656da0d0f6ddde5102052a221ea35a7dabc6d690a11218b20a -SHA512 (pubgrub-648aa343486e5529953153781fc86025c73c4a61.tar.gz) = 8386273deca98df82c95931159848fa159ea4dbb75b8bba539cfe73f91e87340bc0e8048f1a4483148b021bb99d6a3b90275d9bb1cedccf153a7ebc29bd70e17 +SHA512 (pubgrub-b70cf707aa43f21b32f3a61b8a0889b15032d5c4.tar.gz) = 401ea5ca16e978d5407a1400e4e27cec9fcac11332067ee1ed8a3bc511901e08fc421ce875ebbb0990593ed549a4a5f4620914a71ae3490c7b8ae0f7b26b5937 +SHA512 (tokio-tar-ba2b140f27d081c463335f0d68b5f8df8e6c845e.tar.gz) = bee8794161740b336b68514896a0c972e676a1aaf90662fe1f53961afbcccfb144eb3f5e903864f395a1be71c62ffd13ec8357c6848c0b86eb881bdf3dc55408 SHA512 (tl-6e25b2ee2513d75385101a8ff9f591ef51f314ec.tar.gz) = 4abbc4240ed129c92da8d616e27a6df0f24cdc85a0803acfdae588ca91f9e5b8d482e3ac88b2e657ff68917b1b43cef1e7ef3c887f624659b231fa5a13fcae68 diff --git a/uv.spec b/uv.spec index 7156241..f37b67b 100644 --- a/uv.spec +++ b/uv.spec @@ -33,7 +33,7 @@ %constrain_build -m 4096 Name: uv -Version: 0.5.26 +Version: 0.5.27 Release: %autorelease Summary: An extremely fast Python package installer and resolver, written in Rust @@ -93,6 +93,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. +# - astral-tokio-tar, Source300, is (MIT OR Apache-2.0) # - tl, Source400, is MIT. # # (Apache-2.0 OR MIT) AND BSD-3-Clause @@ -176,12 +177,23 @@ 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 648aa343486e5529953153781fc86025c73c4a61 -%global pubgrub_baseversion 0.2.1 -%global pubgrub_snapdate 20241220 +%global pubgrub_rev b70cf707aa43f21b32f3a61b8a0889b15032d5c4 +%global pubgrub_baseversion 0.3.0~alpha.1 +%global pubgrub_snapdate 20250202 %global version_ranges_baseversion 0.1.1 Source200: %{pubgrub_git}/archive/%{pubgrub_rev}/pubgrub-%{pubgrub_rev}.tar.gz +# Please consider publishing astral-tokio-tar on crates.io +# https://github.com/astral-sh/uv/issues/11222 +# +# For now, we bundle the fork as prescribed in +# https://docs.fedoraproject.org/en-US/packaging-guidelines/Rust/#_replacing_git_dependencies +%global att_git https://github.com/astral-sh/tokio-tar +%global att_rev ba2b140f27d081c463335f0d68b5f8df8e6c845e +%global att_baseversion 0.5.0 +%global att_snapdate 20250203 +Source300: %{att_git}/archive/%{att_rev}/tokio-tar-%{att_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 @@ -243,6 +255,11 @@ Patch101: 0002-Revert-Update-mod.rs.patch # after ron 0.9.x is released. Patch200: 0001-Downstream-only-Revert-feat-ensure-successful-round-.patch +# This patch is for the forked, bundled astral-tokio-tar crate. +# +# Adapt directory permission test +Patch300: https://github.com/astral-sh/tokio-tar/pull/11.patch + # https://fedoraproject.org/wiki/Changes/EncourageI686LeafRemoval ExcludeArch: %{ix86} @@ -270,6 +287,11 @@ 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 krata-tokio-tar, itself a fork of tokio-tar; see the notes +# about Source300. +%global att_snapinfo %{att_snapdate}git%{sub %{att_rev} 1 7} +%global att_version %{att_baseversion}^%{att_snapinfo} +Provides: bundled(crate(krata-tokio-tar)) = %{att_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} @@ -450,6 +472,16 @@ 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} +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 -m300 -M399 +popd +install -t LICENSE.bundled/astral-tokio-tar -D -p -m 0644 \ + crates/astral-tokio-tar/LICENSE-* + # See comments above Source400: %setup -q -T -D -b 400 -n uv-%{version} ln -s '../../tl-%{tl_rev}' crates/tl