From 4e0c0c4f089fc65cf36b6449b07a848d119c7eb7 Mon Sep 17 00:00:00 2001 From: xtqqczze <45661989+xtqqczze@users.noreply.github.com> Date: Tue, 15 Sep 2026 04:08:05 +0100 Subject: [PATCH 1/3] chore(cargo): use workspace inheritance for dependencies --- Cargo.toml | 3 ++- src/uu/date/Cargo.toml | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index 7107cd8a240..6188dc4c8ae 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,7 +1,7 @@ # coreutils (uutils) # * see the repository LICENSE, README, and CONTRIBUTING files for more information -# spell-checker:ignore (libs) bigdecimal datetime foldhash serde kqueue libcrypto libselinux mangen memmap uuhelp startswith constness expl unnested logind cfgs interner getauxval hashbrown +# spell-checker:ignore (libs) bigdecimal datetime foldhash serde kqueue libcrypto libselinux mangen memmap uuhelp startswith constness expl unnested logind cfgs interner getauxval hashbrown tzdb [package] name = "coreutils" @@ -361,6 +361,7 @@ itertools = "0.15.0" itoa = "1.0.15" jiff = "0.2.18" jiff-icu = "0.2.2" +jiff-tzdb = "0.1" libc = "0.2.186" lscolors = { version = "0.21.0", default-features = false, features = [ "gnu_legacy", diff --git a/src/uu/date/Cargo.toml b/src/uu/date/Cargo.toml index 13cd519cbf3..313ebce58aa 100644 --- a/src/uu/date/Cargo.toml +++ b/src/uu/date/Cargo.toml @@ -48,7 +48,7 @@ rustix = { workspace = true, features = ["time"] } # OHOS has no /usr/share/zoneinfo or /etc/localtime: embed IANA tzdata so # ohos_system_zone() can resolve the TimeService timezone ID directly (pass-through, # no environment injection). -jiff-tzdb = "0.1" +jiff-tzdb = { workspace = true } [target.'cfg(windows)'.dependencies] windows-sys = { workspace = true, features = [ From db5852f788f54ac7eef556d23e131e0ee1394cf5 Mon Sep 17 00:00:00 2001 From: xtqqczze <45661989+xtqqczze@users.noreply.github.com> Date: Sat, 14 Mar 2026 20:36:41 +0000 Subject: [PATCH 2/3] fix(build): support -Zdirect-minimal-versions --- .github/workflows/CICD.yml | 2 ++ Cargo.toml | 38 +++++++++++++++++++------------------- fuzz/uufuzz/Cargo.toml | 2 +- 3 files changed, 22 insertions(+), 20 deletions(-) diff --git a/.github/workflows/CICD.yml b/.github/workflows/CICD.yml index 0dd3c663804..e64322cf288 100644 --- a/.github/workflows/CICD.yml +++ b/.github/workflows/CICD.yml @@ -197,6 +197,8 @@ jobs: unset CARGO_FEATURES_OPTION if [ -n "${{ matrix.job.features }}" ]; then CARGO_FEATURES_OPTION='--features "${{ matrix.job.features }}"' ; fi outputs CARGO_FEATURES_OPTION + - name: Generate minimal lockfile + run: RUSTC_BOOTSTRAP=1 cargo update -Z direct-minimal-versions - name: Confirm MinSRV compatible '*/Cargo.lock' shell: bash run: | diff --git a/Cargo.toml b/Cargo.toml index 6188dc4c8ae..b5598a8f33c 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -327,11 +327,11 @@ ansi-width = "0.1.0" # arrive without one running. ariadne = "0.6.0" base64-simd = "0.8" -bigdecimal = "0.4" +bigdecimal = "0.4.9" bstr = "1.9.1" bytecount = "0.6.8" cfg_aliases = "0.2.2" -clap = { version = "4.5", features = ["wrap_help", "cargo", "color"] } +clap = { version = "4.5.18", features = ["wrap_help", "cargo", "color"] } clap_complete = "4.4" clap_mangen = "0.3" crossterm = { version = "0.29.0", default-features = false } @@ -345,23 +345,23 @@ dunce = "1.0.4" filetime = "0.2.29" foldhash = "0.2.0" gcd = "2.3" -glob = "0.3.1" +glob = "0.3.2" half = "2.4.1" hashbrown = '0.17.1' hex-literal = "1.0.0" hostname = "0.4" -icu_calendar = { version = "2.0.0", default-features = false } -icu_collator = { version = "2.0.0", default-features = false } -icu_datetime = { version = "2.0.0", default-features = false } -icu_decimal = { version = "2.0.0", default-features = false } -icu_locale = { version = "2.0.0", default-features = false } -icu_provider = { version = "2.0.0", default-features = false } +icu_calendar = { version = "2.1.0", default-features = false } +icu_collator = { version = "2.1.0", default-features = false } +icu_datetime = { version = "2.1.0", default-features = false } +icu_decimal = { version = "2.1.0", default-features = false } +icu_locale = { version = "2.1.0", default-features = false } +icu_provider = { version = "2.1.0", default-features = false } indicatif = "0.18.0" itertools = "0.15.0" itoa = "1.0.15" jiff = "0.2.18" jiff-icu = "0.2.2" -jiff-tzdb = "0.1" +jiff-tzdb = "0.1.4" libc = "0.2.186" lscolors = { version = "0.21.0", default-features = false, features = [ "gnu_legacy", @@ -371,7 +371,7 @@ memmap2 = "0.9.4" nix = { version = "0.31.3", default-features = false } nom = "8.0.0" notify = { version = "8.2.0", features = ["macos_kqueue"] } -num-bigint = "0.4.4" +num-bigint = "0.4.6" num-prime = "0.5.0" num-traits = "0.2.19" fancy-regex = { version = "0.19.2", default-features = false, features = [ @@ -385,29 +385,29 @@ phf = "0.14.0" phf_codegen = "0.14.0" platform-info = "2.0.3" pretty_assertions = "1.4.1" -proc-macro2 = "1.0.81" +proc-macro2 = "1.0.93" procfs = "0.18" rand = { version = "0.10.1", features = ["std_rng"] } rand_chacha = { version = "0.10.0" } rayon = "1.10" -regex = "1.10.4" +regex = "1.11.3" rlimit = "0.11.0" rstest = "0.27.0" rstest_reuse = "0.7.0" rustc-hash = "2.1.1" rust-ini = "0.21.0" rustix = { version = "1.1.4", default-features = false } -self_cell = "1.0.4" +self_cell = "1.2.0" selinux = "0.6" -tempfile = "3.15.0" +tempfile = "3.20.0" terminal_size = "0.4.0" textwrap = { version = "0.16.1", features = ["terminal_size"] } thiserror = "2.0.3" time = { version = "0.3.36" } -quote = "1.0.36" +quote = "1.0.38" unicode-width = "0.2.0" unindent = "0.2.3" -unit-prefix = "0.5" +unit-prefix = "0.5.1" utmp-classic = "0.1.6" uutils_term_grid = "0.8" walkdir = "2.5" @@ -426,9 +426,9 @@ shake = "0.1.0" blake2b_simd = "1.0.2" blake3 = "1.5.1" sm3 = { version = "0.5.0", default-features = false, features = ["alloc"] } -crc-fast = { version = "1.5.0", default-features = false } +crc-fast = { version = "1.7.0", default-features = false } digest = "0.11.0" -openssl = { version = "0.10", features = ["vendored"] } +openssl = { version = "0.10.39", features = ["vendored"] } # Fluent dependencies fluent = "0.17.0" diff --git a/fuzz/uufuzz/Cargo.toml b/fuzz/uufuzz/Cargo.toml index 8050d94614c..4729d677ed7 100644 --- a/fuzz/uufuzz/Cargo.toml +++ b/fuzz/uufuzz/Cargo.toml @@ -14,5 +14,5 @@ similar = "3.0.0" uucore = { version = "0.11.0", path = "../../src/uucore", features = [ "parser", ] } -tempfile = "3.15.0" +tempfile = "3.20.0" rustix = { version = "1.1.4", features = ["stdio", "pipe"] } From 580b5724a850f9c070aa64f6234390c36aad4346 Mon Sep 17 00:00:00 2001 From: xtqqczze <45661989+xtqqczze@users.noreply.github.com> Date: Sat, 12 Sep 2026 15:38:27 +0100 Subject: [PATCH 3/3] fix(build): support -Zminimal-versions --- .github/workflows/CICD.yml | 5 ++++- Cargo.toml | 4 ++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/.github/workflows/CICD.yml b/.github/workflows/CICD.yml index e64322cf288..f32364f42ad 100644 --- a/.github/workflows/CICD.yml +++ b/.github/workflows/CICD.yml @@ -198,7 +198,10 @@ jobs: if [ -n "${{ matrix.job.features }}" ]; then CARGO_FEATURES_OPTION='--features "${{ matrix.job.features }}"' ; fi outputs CARGO_FEATURES_OPTION - name: Generate minimal lockfile - run: RUSTC_BOOTSTRAP=1 cargo update -Z direct-minimal-versions + run: | + RUSTC_BOOTSTRAP=1 cargo update -Z minimal-versions + # TODO: https://github.com/ferrilab/bitvec/pull/301 + cargo update tap --precise 1.0.1 - name: Confirm MinSRV compatible '*/Cargo.lock' shell: bash run: | diff --git a/Cargo.toml b/Cargo.toml index b5598a8f33c..a178a06790c 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -355,7 +355,7 @@ icu_collator = { version = "2.1.0", default-features = false } icu_datetime = { version = "2.1.0", default-features = false } icu_decimal = { version = "2.1.0", default-features = false } icu_locale = { version = "2.1.0", default-features = false } -icu_provider = { version = "2.1.0", default-features = false } +icu_provider = { version = "2.1.1", default-features = false } indicatif = "0.18.0" itertools = "0.15.0" itoa = "1.0.15" @@ -426,7 +426,7 @@ shake = "0.1.0" blake2b_simd = "1.0.2" blake3 = "1.5.1" sm3 = { version = "0.5.0", default-features = false, features = ["alloc"] } -crc-fast = { version = "1.7.0", default-features = false } +crc-fast = { version = "1.8.2", default-features = false } digest = "0.11.0" openssl = { version = "0.10.39", features = ["vendored"] }