Commit graph

8262 commits

Author SHA1 Message Date
Sylvestre Ledru
8f5f22eb86 l10n: port basename to translation + add french 2025-06-06 09:13:25 +02:00
Daniel Hofstetter
1d11f85dd2
Merge pull request #8066 from sylvestre/bidi
l10n: Disable Unicode directional isolate characters (U+2068, U+2069)
2025-06-06 09:08:23 +02:00
Daniel Hofstetter
51c5c9c59a rm: rename two consts for better readability
OPT_PROMPT => OPT_PROMPT_ALWAYS, OPT_PROMPT_MORE => OPT_PROMPT_ONCE
2025-06-05 17:05:48 +02:00
Will Shuttleworth
61bd11a551
stty: set control characters (#7931)
Some checks are pending
CICD / Style/cargo-deny (push) Waiting to run
CICD / Style/deps (push) Waiting to run
CICD / Documentation/warnings (push) Waiting to run
CICD / MinRustV (push) Waiting to run
CICD / Dependencies (push) Waiting to run
CICD / Build/Makefile (push) Blocked by required conditions
CICD / Build/stable (push) Blocked by required conditions
CICD / Build/nightly (push) Blocked by required conditions
CICD / Binary sizes (push) Blocked by required conditions
CICD / Build (push) Blocked by required conditions
CICD / Tests/BusyBox test suite (push) Blocked by required conditions
CICD / Tests/Toybox test suite (push) Blocked by required conditions
CICD / Code Coverage (push) Waiting to run
CICD / Separate Builds (push) Waiting to run
CICD / Test all features separately (push) Blocked by required conditions
CICD / Build/SELinux (push) Blocked by required conditions
GnuTests / Run GNU tests (push) Waiting to run
Android / Test builds (push) Waiting to run
Code Quality / Style/format (push) Waiting to run
Code Quality / Style/lint (push) Waiting to run
Code Quality / Style/spelling (push) Waiting to run
Code Quality / Style/toml (push) Waiting to run
Code Quality / Style/Python (push) Waiting to run
FreeBSD / Style and Lint (push) Waiting to run
FreeBSD / Tests (push) Waiting to run
* reworked arg processing. control character mappings are correctly grouped now, ie 'stty erase ^H'

* stty: setting control chars to undefined (disabling them) is implemented

* setting control chars

* stty: can now set control chars. need to improve checks on valid mappings

* stty: matches GNU in what control character mappings are allowed

* stty: run rustfmt and remove extra comments

* stty: setting control char code review fixes

* stty: fix rustfmt errors

* stty: more small edits after review

* stty: refactor set control char changes for better testing

* stty: fix ci error

* stty: fix issues from code review
2025-06-05 11:38:51 +02:00
Daniel Hofstetter
ccc6233fba
Merge pull request #8054 from sylvestre/locale3
l10n: convert the md files to fluent
2025-06-05 09:39:42 +02:00
Etienne Cordonnier
8c1cc5b992 stdbuf: avoid double "lib" prefix
libstdbuf is currently compiled as e.g. liblibstdbuf.so, which is confusing.
Compile the library as libstdbuf.so instead.

Signed-off-by: Etienne Cordonnier <ecordonnier@snap.com>
2025-06-05 00:00:45 +02:00
Sylvestre Ledru
5b2078b02d l10n: Disable Unicode directional isolate characters (U+2068, U+2069) 2025-06-04 22:32:59 +02:00
Sylvestre Ledru
4b776ba995 l10n: also manage individual binary usages 2025-06-04 19:24:20 +02:00
Sylvestre Ledru
578499fbad coreutils.rs: spell ignore 2025-06-04 19:24:03 +02:00
Sylvestre Ledru
005f0b7737 cargo fmt 2025-06-04 19:24:03 +02:00
Sylvestre Ledru
c3f2247eca l10n: remove help_about 2025-06-04 19:24:03 +02:00
Sylvestre Ledru
c437ac830e l10n: the manpage creation should use the locale files 2025-06-04 19:24:03 +02:00
Sylvestre Ledru
a7f941577f bin/coreutils: add unit tests 2025-06-04 19:24:03 +02:00
Sylvestre Ledru
00982c9374 l10n: Move the prefix removal into a function 2025-06-04 19:24:03 +02:00
Sylvestre Ledru
b904f36636 l10n: manages aliases of commands 2025-06-04 19:24:03 +02:00
Sylvestre Ledru
a36d5455ab l10n: improve the display when the ftl is invalid 2025-06-04 19:24:03 +02:00
Sylvestre Ledru
7102e1a4b5 l10n: remove the old md files 2025-06-04 19:24:03 +02:00
Sylvestre Ledru
16afa021ce l10n: add a comment to detail the need of having the capability to disable translations 2025-06-04 19:24:03 +02:00
Sylvestre Ledru
5ab807a561 l10n: disable the arch locale init 2025-06-04 19:24:03 +02:00
Sylvestre Ledru
1a80fc59a3 l10n: init the locale engine for each program (next: put it behing a feature) 2025-06-04 19:24:03 +02:00
Sylvestre Ledru
94c1fad206 l10n: adjust the code to use the fluent files instead of the PROG.md docs 2025-06-04 19:23:57 +02:00
Sylvestre Ledru
28c16dd6d1 l10n: convert the PROG.md command to fluent 2025-06-04 19:19:02 +02:00
Sylvestre Ledru
d8bb7875cf l10n: adjust the code to use help_about & help_usage 2025-06-04 19:19:02 +02:00
Sylvestre Ledru
42cfb3d8be locale: show the error in case of issue 2025-06-04 19:18:59 +02:00
ALBIN BABU VARGHESE
a7a493a604
mv: moving dangling symlinks into directories (#8064)
Some checks are pending
CICD / Style/cargo-deny (push) Waiting to run
CICD / Build/nightly (push) Blocked by required conditions
CICD / Style/deps (push) Waiting to run
CICD / Documentation/warnings (push) Waiting to run
CICD / MinRustV (push) Waiting to run
CICD / Test all features separately (push) Blocked by required conditions
CICD / Dependencies (push) Waiting to run
CICD / Build/Makefile (push) Blocked by required conditions
CICD / Build/stable (push) Blocked by required conditions
CICD / Binary sizes (push) Blocked by required conditions
CICD / Build (push) Blocked by required conditions
CICD / Tests/BusyBox test suite (push) Blocked by required conditions
CICD / Tests/Toybox test suite (push) Blocked by required conditions
CICD / Code Coverage (push) Waiting to run
CICD / Separate Builds (push) Waiting to run
CICD / Build/SELinux (push) Blocked by required conditions
GnuTests / Run GNU tests (push) Waiting to run
Android / Test builds (push) Waiting to run
Code Quality / Style/format (push) Waiting to run
Code Quality / Style/lint (push) Waiting to run
Code Quality / Style/spelling (push) Waiting to run
Code Quality / Style/toml (push) Waiting to run
Code Quality / Style/Python (push) Waiting to run
FreeBSD / Style and Lint (push) Waiting to run
FreeBSD / Tests (push) Waiting to run
* Fix linting and style issues

* Change condition to not fail for dangling symlinks

The function `move_files_into_dir` had a condition that failed when a
dangling symlink was moved into a folder, which resulted in a file
or directory doesn't exist error

* Added a test case
2025-06-04 17:25:53 +02:00
Sylvestre Ledru
4050f68e6e
uucore_procs: use authors.workspace 2025-06-03 22:26:58 +02:00
Vikram Kangotra
bfbdd5275d
cp: migrate from quick-error to thiserror (#7989)
* cp: migrate from quick-error to thiserror

fixes: #7916

* Remove quick-error

Now that we have migrated to thiserror, we can remove quick-error

* cp: fix test failures

* cp: fix fmt error
2025-06-03 10:12:36 +02:00
Nicolas Boichat
c939b6096b uucore: locale: Use if let instead of match
Recent cargo clippy prefers to use if let for single pattern.

For some reason it only triggers on one of the LANG restore case though,
but we can just fix them all.
2025-06-03 09:35:47 +02:00
Dylan Ullrich
862565cd1a
Merge pull request #8047 from eldyl/feat/add_wezterm_to_terms
Feat/add wezterm to terms
2025-06-03 07:54:05 +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
Sylvestre Ledru
b5d4b0ee1d
Merge pull request #7972 from Ecordonnier/eco/stdbuf-regression-test
Some checks are pending
CICD / Build (push) Blocked by required conditions
CICD / Style/cargo-deny (push) Waiting to run
CICD / Style/deps (push) Waiting to run
CICD / Test all features separately (push) Blocked by required conditions
CICD / Documentation/warnings (push) Waiting to run
CICD / MinRustV (push) Waiting to run
CICD / Dependencies (push) Waiting to run
CICD / Build/Makefile (push) Blocked by required conditions
CICD / Build/stable (push) Blocked by required conditions
CICD / Build/nightly (push) Blocked by required conditions
CICD / Binary sizes (push) Blocked by required conditions
CICD / Tests/BusyBox test suite (push) Blocked by required conditions
CICD / Tests/Toybox test suite (push) Blocked by required conditions
CICD / Code Coverage (push) Waiting to run
CICD / Separate Builds (push) Waiting to run
CICD / Build/SELinux (push) Blocked by required conditions
GnuTests / Run GNU tests (push) Waiting to run
Android / Test builds (push) Waiting to run
Code Quality / Style/Python (push) Waiting to run
Code Quality / Style/format (push) Waiting to run
Code Quality / Style/toml (push) Waiting to run
Code Quality / Style/lint (push) Waiting to run
Code Quality / Style/spelling (push) Waiting to run
FreeBSD / Style and Lint (push) Waiting to run
FreeBSD / Tests (push) Waiting to run
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
Will Shuttleworth
dfc4072181
stty: fix output redirection (#8016)
* stty: fix output redirection

* Revert "stty: fix output redirection"

This reverts commit 604de7c4de.

* stty: fix output redirection by trying /dev/tty before stdout
2025-06-02 10:41:25 +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
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
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
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)
Some checks failed
GnuTests / Run GNU tests (push) Has been cancelled
Android / Test builds (push) Has been cancelled
CICD / Style/cargo-deny (push) Has been cancelled
CICD / Style/deps (push) Has been cancelled
CICD / Documentation/warnings (push) Has been cancelled
CICD / MinRustV (push) Has been cancelled
CICD / Dependencies (push) Has been cancelled
CICD / Code Coverage (push) Has been cancelled
CICD / Separate Builds (push) Has been cancelled
Code Quality / Style/format (push) Has been cancelled
Code Quality / Style/lint (push) Has been cancelled
Code Quality / Style/spelling (push) Has been cancelled
Code Quality / Style/toml (push) Has been cancelled
Code Quality / Style/Python (push) Has been cancelled
FreeBSD / Style and Lint (push) Has been cancelled
FreeBSD / Tests (push) Has been cancelled
CICD / Test all features separately (push) Has been cancelled
CICD / Build/Makefile (push) Has been cancelled
CICD / Build/stable (push) Has been cancelled
CICD / Build/nightly (push) Has been cancelled
CICD / Binary sizes (push) Has been cancelled
CICD / Build (push) Has been cancelled
CICD / Tests/BusyBox test suite (push) Has been cancelled
CICD / Tests/Toybox test suite (push) Has been cancelled
CICD / Build/SELinux (push) Has been cancelled
* 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
Some checks are pending
CICD / Build (push) Blocked by required conditions
CICD / Style/cargo-deny (push) Waiting to run
CICD / Style/deps (push) Waiting to run
CICD / Documentation/warnings (push) Waiting to run
CICD / MinRustV (push) Waiting to run
CICD / Test all features separately (push) Blocked by required conditions
CICD / Dependencies (push) Waiting to run
CICD / Build/Makefile (push) Blocked by required conditions
CICD / Build/stable (push) Blocked by required conditions
CICD / Build/nightly (push) Blocked by required conditions
CICD / Binary sizes (push) Blocked by required conditions
CICD / Tests/BusyBox test suite (push) Blocked by required conditions
CICD / Tests/Toybox test suite (push) Blocked by required conditions
CICD / Code Coverage (push) Waiting to run
CICD / Separate Builds (push) Waiting to run
CICD / Build/SELinux (push) Blocked by required conditions
GnuTests / Run GNU tests (push) Waiting to run
Android / Test builds (push) Waiting to run
Code Quality / Style/Python (push) Waiting to run
Code Quality / Style/toml (push) Waiting to run
Code Quality / Style/format (push) Waiting to run
Code Quality / Style/lint (push) Waiting to run
Code Quality / Style/spelling (push) Waiting to run
FreeBSD / Style and Lint (push) Waiting to run
FreeBSD / Tests (push) Waiting to run
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
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