1
Fork 0
mirror of https://github.com/RGBCube/uutils-coreutils synced 2025-07-31 13:07:46 +00:00
Commit graph

15884 commits

Author SHA1 Message Date
Sylvestre Ledru
be9af9c249
Merge pull request #8045 from cakebaker/rm_earlier_early_return
rm: do "early return" earlier in `uumain`
2025-06-02 17:42:44 +02:00
Daniel Hofstetter
3eede813db rm: remove some unnecessary type information 2025-06-02 16:22:40 +02:00
Daniel Hofstetter
25c7ed5b1e rm: set "after help" in uu_app instead of uumain 2025-06-02 16:19:33 +02:00
Daniel Hofstetter
dfc4e3efe5 rm: do "early return" earlier in uumain 2025-06-02 16:12:03 +02:00
Daniel Hofstetter
f002c4017f
Merge pull request #8042 from uutils/renovate/jiff-0.x-lockfile
chore(deps): update rust crate jiff to v0.2.14
2025-06-02 14:28:53 +02:00
Sylvestre Ledru
b5d4b0ee1d
Merge pull request #7972 from Ecordonnier/eco/stdbuf-regression-test
stdbuf: fix cross-compilation
2025-06-02 13:26:38 +02:00
Charlie-Zheng
b2893db5a4
sort: Implement the last changes to make sort-files0-from pass (#8011) 2025-06-02 11:14:49 +02:00
Etienne Cordonnier
35634b46a0 stdbuf: fix cross-compilation
Summary:

Partial fix for https://github.com/uutils/coreutils/issues/6591

The current code declare libstdbuf as a build-dependency of stdbuf as a
workaround to enforce that libstdbuf is compiled before stdbuf. This breaks
cross-compilation, because build-dependencies were compiled for the host
architecture, and not for the target architecture.

The reason this workaround is necessary is that bindeps is available only in nightly at the moment:
https://rust-lang.github.io/rfcs/3028-cargo-binary-dependencies.html

This commit replaces the "build-dependency" workaround with another workaround:
calling cargo manually to build libstdbuf in the build.rs of stdbuf, in order to ensure that libstdbuf is built before stdbuf.

Changes:

- Removed cpp/cpp_build dependencies:

The cpp, cpp_build, and related dependencies were removed because they made cross-compilation in a build.rs file very complex, since you need
to pass proper CXX env variables for cross-compilation, whereas cross-compiling rust code using cargo is quite simple.
Provided Rust implementations for getting stdin, stdout, and stderr pointers.
Switched from C++/cpp macro-based initialization to using the Rust ctor crate for library initialization.

- Remove "feat_require_crate_cpp" which is not needed any more, since stdbuf was the only utility using the cpp crate.

Tests:

This commit fixes e.g. this test:
cross test --target aarch64-unknown-linux-gnu --features stdbuf test_stdbuf::test_libstdbuf_preload -- --nocapture

- The "i686" build of stdbuf was also broken (stdbuf 32 bits, but libstdbuf 64 bits) and test_stdbuf::test_libstdbuf_preload of the i686 builds in github CI serves as regression
test for this issue, no need to add a cross-rs test for aarch64.
- The x86_64 musl build of stdbuf was also broken and was passing tests in CI only because it was compiled with the wrong libc (glibc instead of musl)

Signed-off-by: Etienne Cordonnier <ecordonnier@snap.com>
2025-06-02 10:55:57 +02:00
Etienne Cordonnier
2e8b6fabcc stdbuf: add test_libstdbuf_preload
This test verifies that libstdbuf correctly gets preloaded, and that there are no architecture mismatch errors.
At the moment the test passes when compiled normally, but fails when compiled with cross-rs, due to https://github.com/uutils/coreutils/issues/6591

This passes:
```
cargo test --features stdbuf test_stdbuf::test_libstdbuf_preload -- --nocapture
```

This fails:
```
cross test --target aarch64-unknown-linux-gnu --features stdbuf test_stdbuf::test_libstdbuf_preload -- --nocapture
```

Signed-off-by: Etienne Cordonnier <ecordonnier@snap.com>
2025-06-02 10:52:32 +02:00
Will Shuttleworth
dfc4072181
stty: fix output redirection (#8016)
* stty: fix output redirection

* Revert "stty: fix output redirection"

This reverts commit 604de7c4de6f51a6bcd495ccda11602c12804493.

* stty: fix output redirection by trying /dev/tty before stdout
2025-06-02 10:41:25 +02:00
renovate[bot]
80e6393777
chore(deps): update rust crate jiff to v0.2.14 2025-06-02 08:19:26 +00:00
Sylvestre Ledru
7b41a160b4
Merge pull request #8027 from cakebaker/cargo_toml_remove_procfs_dependency
Cargo.toml: remove `procfs` dependency & adapt `cp` test
2025-06-02 10:17:13 +02:00
Daniel Hofstetter
fd37324d72
Merge pull request #8028 from drinkcat/seq-latest-pow-with-context
uucore: num_parser: Update pow_with_context
2025-06-02 10:15:58 +02:00
Daniel Hofstetter
5bbcb4ee63 Cargo.toml: remove procfs dependency 2025-06-02 10:00:49 +02:00
Daniel Hofstetter
546e50846e cp: rewrite test to remove procfs dependency 2025-06-02 09:51:33 +02:00
Daniel Hofstetter
dfc2e249ef
Merge pull request #7894 from drinkcat/jiff-date-ls
date/ls: Switch from chrono to jiff
2025-06-02 09:36:27 +02:00
Sylvestre Ledru
f2579e52f2
Merge pull request #8035 from cakebaker/ln_rename_error_variant
ln: rename error variant
2025-06-01 21:08:20 +02:00
Nicolas Boichat
66d1e8a872 test_date: Expand on test_date_utc_time
Using the current time requires a bit of care, but it's nice
to have a test that doesn't use a fixed date as input.
2025-06-01 20:04:22 +02:00
Nicolas Boichat
5d75e28b87 ls: Simplify TimeStyle::format
Also, the comment does not fully apply anymore, so we can leave
it more open-ended to figure out how to support locale.
2025-06-01 19:36:58 +02:00
Nicolas Boichat
c5b445f6f2 uucore: num_parser: Clarify origin of pow_with_context
And why we use an older minimum Rust version in that piece of code.
2025-06-01 19:27:06 +02:00
Daniel Hofstetter
8a4d6dc0da
Merge pull request #8038 from uutils/renovate/clap_complete-4.x-lockfile
chore(deps): update rust crate clap_complete to v4.5.52
2025-06-01 09:48:38 +02:00
Daniel Hofstetter
121de8eee7
Merge pull request #8041 from uutils/renovate/dawidd6-action-download-artifact-10.x
chore(deps): update dawidd6/action-download-artifact action to v10
2025-06-01 09:48:03 +02:00
renovate[bot]
ee9e91a77c
chore(deps): update dawidd6/action-download-artifact action to v10 2025-05-31 18:30:55 +00:00
renovate[bot]
7f5d1fd5b6
chore(deps): update rust crate clap_complete to v4.5.52 2025-05-30 18:33:26 +00:00
Daniel Hofstetter
d96b62c17f ln: rename error variant
from TargetIsDirectory to TargetIsNotADirectory
2025-05-30 16:44:00 +02:00
Dorian Péron
1baedc417b
ln: don't show error when overwriting a link with -sfn (#7449)
* ln: fix #6350

* test(ln): test_symlink_no_deref_dir success has no stderr
2025-05-30 16:29:43 +02:00
Sylvestre Ledru
94132060b6
Merge pull request #8030 from drinkcat/clippy-better
clippy pre-commit/CI improvements
2025-05-29 15:05:15 +02:00
Nicolas Boichat
5e3284139c num_parser: Fix tests after pow_with_context update
We get more precision, and more range, now.
2025-05-29 14:37:03 +02:00
Nicolas Boichat
986bdf545d uucore: Remove custom_tz_fmt, cleanup dependencies
Nobody needs it anymore.
2025-05-29 14:00:25 +02:00
Nicolas Boichat
eb5fc4c4cb Cross.toml: Install tzdata in container
Linux tests require that now, as we now assume /usr/share/zoneinfo
is present.
2025-05-29 14:00:25 +02:00
Nicolas Boichat
dadda0dd6a test_date: Extend coverage to a lot more timezones
Also test %z/%Z formats.
2025-05-29 14:00:25 +02:00
Jadi
d1525e2d2e date: Add more TZ tests
[drinkcat: separated test changes]
2025-05-29 14:00:25 +02:00
Nicolas Boichat
6031de5a29 ls: switch to lenient formating configuration 2025-05-29 14:00:25 +02:00
Nicolas Boichat
10fb220c72 ls: Avoid additional String creation/copy in display_date
From code provided in #7852 by @BurntSushi.

Depending on the benchmarks, there is _still_ a small performance
difference (~4%) vs main, but it's seen mostly on small trees
getting printed repeatedly, which is probably not a terribly
interesting use case.
2025-05-29 14:00:25 +02:00
Nicolas Boichat
c599363242 ls: cache recent time threshold in jiff implementation 2025-05-29 14:00:25 +02:00
Nicolas Boichat
fc947eca33 ls: convert to jiff 2025-05-29 14:00:25 +02:00
Nicolas Boichat
07c9205d22 Revert "ls: Optimize time formatting"
This reverts commit fc6b896c27.

This also reverts the change from new to new_lenient, we'll
recover that later as part of the jiff conversion.
2025-05-29 14:00:25 +02:00
Nicolas Boichat
301e33cfe3 date: switch from chrono to jiff
Also adds cargo dependency.
2025-05-29 14:00:25 +02:00
Nicolas Boichat
7f05fca1ae .pre-commit-config.yaml: Match config in CI
We need to enable -D warnings to get the same behaviour.
2025-05-29 13:55:32 +02:00
Nicolas Boichat
7854efc802 code-quality.yml: Clippy with --all-features and --workspace on ubuntu
Without this, some uucore packages are not properly tested.
2025-05-29 13:55:32 +02:00
Nicolas Boichat
b522f2b9b5 uucore: Use next_back on PathBuf's DoubleEndedIterator
As recommended by clippy, last() needlessly goes through the whole
path while next_back() is available.
2025-05-29 13:55:32 +02:00
Nicolas Boichat
4a0c2a95e8 uucore: num_parser: Update pow_with_context
This is the latest version in https://github.com/akubera/bigdecimal-rs/pull/148 ,
but the discussion sort of stalled, this is really complicated math,
but this new function is a little bit better than the original
(at least I hope so).
2025-05-29 13:39:03 +02:00
Daniel Hofstetter
869660baaa
Merge pull request #7981 from sylvestre/locale2
Improve the locale support
2025-05-29 11:10:34 +02:00
Sylvestre Ledru
d3f5f3aaa7
Merge pull request #8018 from Ecordonnier/eco/musl-utmpx-warnings
utmpx: silence musl warnings
2025-05-29 09:26:51 +02:00
Sylvestre Ledru
7e293a38ee
Merge pull request #8019 from alerque/cleanup-deny
deny.toml: remove obsolete skips related to rustix
2025-05-29 09:26:31 +02:00
Sylvestre Ledru
ac0564decb
Merge pull request #8021 from cakebaker/cargo_toml_remove_unused_coz_dependency
Cargo.toml: remove unused `coz` dependency
2025-05-29 09:26:04 +02:00
Sylvestre Ledru
2ff6c166ea
Merge pull request #8026 from drinkcat/cspell-cargo-lock
.pre-commit-config.yaml: Do not fail cspell if all files are ignored
2025-05-29 09:25:52 +02:00
Nicolas Boichat
0ef7c205d0 .pre-commit-config.yaml: Do not fail cspell if all files are ignored
cspell pre-commit hook would fail if the only change was a
Cargo.lock change.

This fixes it.
2025-05-29 09:12:17 +02:00
Daniel Hofstetter
718b1a4ac7
Merge pull request #8024 from jtracey/patch-7
sync: adjust safety comments
2025-05-29 07:37:59 +02:00
Justin Tracey
508e791f56
sync: adjust safety comments
Removes a stale safety comment I missed, plus adds some backticks.
2025-05-28 19:27:40 -04:00