1
Fork 0
mirror of https://github.com/RGBCube/uutils-coreutils synced 2026-01-18 11:11:10 +00:00
Commit graph

7560 commits

Author SHA1 Message Date
Jeffrey Finkelstein
5cf5acb4a2 tsort: use std::io::read_to_string to load data 2025-01-04 22:51:57 -05:00
Jeffrey Finkelstein
c9ae4819f5 tsort: use TsortError for errors in tsort 2025-01-04 22:51:52 -05:00
Jeffrey Finkelstein
4f43e7f2dd mkfifo: add missing "mode" feature for uucore dep 2025-01-04 17:58:29 -05:00
Tommaso Fellegara
b15bc8440c
cksum: fix error message when the flags length and an algorithm different from blake2b are present (#7071)
test length and blake2b algorithm before testing supported algorithms
2025-01-04 21:53:10 +01:00
Samuel Tardieu
b5fc19e60e kill: make -s conflict with -l and -t 2025-01-04 15:04:12 +01:00
Samuel Tardieu
c6d3ec688c kill: add -n hidden option for compatibility with bash
GNU coreutils also implements it this way.
2025-01-04 11:33:54 +01:00
Sylvestre Ledru
8ab7bbafe1
Merge pull request #7057 from jfinkels/chroot-set-groups
chroot: fix many issues with chroot
2025-01-03 19:44:49 +01:00
Jeffrey Finkelstein
b29d8f1008 chroot: fix several group setting issues
Fix several issues in the behavior of `chroot`, mostly around setting
group IDs. This commit ensures that supplemental groups provided by
`--groups` are properly handled with respect to the groups implied by
`--userspec`. This commit also ensures that we fall back to numeric
parsing when attempting to lookup user and group IDs from their names.
2025-01-02 20:08:47 -05:00
Jeffrey Finkelstein
b59da37365 chroot: make Options.groups into an Option type
Change the type of `Options.groups` to be `Option<Vec<String>>` so that
the absence of the `--groups` option is meaningfully distinguished from
an empty list of groups. This is important because `chroot --groups=''`
is used specifically to disable supplementary group lookup.
2025-01-02 20:08:47 -05:00
Jeffrey Finkelstein
52c05e2fd6 chroot: improve parsing of --groups parameter
Improve the parsing of the `--groups` parameter to `chroot` so that it
handles more error cases and better matches the behavior of GNU
`chroot`. For example, multiple adjacent commas are allowed:

    --groups=a,,,b

but spaces between commas are not allowed:

    --groups="a, , ,b"
2025-01-02 20:08:47 -05:00
Daniel Hofstetter
e22bcbb74d chroot: remove outdated info from help 2025-01-02 13:38:39 +01:00
Daniel Hofstetter
e5e589afd5 chroot: remove short option "-G" 2025-01-02 13:35:19 +01:00
Sylvestre Ledru
6a8b766d6d
Merge pull request #7020 from jtracey/ls-nonunicode
ls: add better support for non-UTF-8 bytes
2025-01-02 11:16:58 +01:00
Jeffrey Finkelstein
5bd5cdb7c1 chroot: fix parsing of --userspec argument
Fix the parsing of the `--userspec=USER:GROUP` argument so that the
both the user and the group are optional, and update the error message
to match that of GNU `chroot`. This commit also removes the incorrect
`clap` arguments for `--user` and `--group`. In `chroot --user=USER`,
the `--user` is an abbreviation of `--userspec`, and in `chroot
--group=GROUP`, the `--group` is an abbreviation of `--groups`.

Closes #7040.
2025-01-02 10:26:13 +01:00
Daniel Hofstetter
a049427e88
Merge pull request #7046 from sylvestre/uniqu
uniq: fix multibyte input
2025-01-01 14:53:03 +01:00
Sylvestre Ledru
6d028cd097
Merge pull request #7034 from alexs-sh/uucore-fix-fp-general-format-output
uucore:format:fix floating-point representation
2025-01-01 14:46:33 +01:00
Sylvestre Ledru
1e23a3fa8d uniq: fix multibyte input
Should fix tests/uniq/uniq.pl
2025-01-01 13:17:52 +01:00
Daniel Hofstetter
7c7a6f89ab
Merge pull request #7016 from sylvestre/ls-mtime
ls: finish the plug of mtime
2025-01-01 08:25:05 +01:00
Sylvestre Ledru
958ac72113 ls: finish the plug of mtime
Will help with tests/ls/ls-time
2024-12-31 18:14:41 +01:00
Sylvestre Ledru
41ffffa2da
Merge pull request #7024 from jovielarue/fix-broken-docs-links
Fix: broken doc links
2024-12-31 16:58:18 +01:00
Alexander Shirokov
4c330d43ba
uucore:format:fix floating-point rounding
This change resolves issues with exponent calculation and usage,
ensuring more accurate formatting:

- Exponent for negative values can differ from 0
- Switching to decimal mode now follows the P > X ≥ −4 rule
2024-12-31 13:19:43 +01:00
Daniel Hofstetter
a3b7a08238
Merge pull request #7015 from sylvestre/chroot-user
chroot: handle the error when invalid user
2024-12-31 11:46:04 +01:00
Daniel Hofstetter
4b68bce9a7 chmod: add uucore's "perms" feature to Cargo.toml 2024-12-31 10:11:44 +01:00
Sylvestre Ledru
ed9e80e488
Merge pull request #7032 from jfinkels/seq-fmt-errors
seq: improve error handling for invalid -f values
2024-12-31 09:33:16 +01:00
jovie :)
646fc394f6
env: don't allow '=' with -u (#7008)
* Added error handling to ensure '=' after -u returns 125 as '=' is not allowed

* Added tests for disallow = on short options

* Added error handling to ensure '=' after -u returns 125 as '=' is not allowed

* Added tests for disallow = on short options

* Disallow only short unset option from having '=' as its starting character

* Remove needless tests and update function name for clarity
2024-12-31 09:16:14 +01:00
Jeffrey Finkelstein
c9acf5ddd4 head: fix subtraction underflow with --bytes=-N
Fix a subtraction underflow that occurred on `head --bytes=-N` when the
input had fewer than `N` bytes. Before this commit,

    printf "a" | head -c -2

would panic. After this commit, it terminates successfully with no
output as expected.
2024-12-30 21:07:45 -05:00
Jeffrey Finkelstein
cccab35337 seq: improve error handling for invalid -f values
Improve the error message produced by `seq` when given invalid format
specifiers for the `-f` option. Before this commit:

    $ seq -f "%" 1
    seq: %: invalid conversion specification
    $ seq -f "%g%" 1
    seq: %: invalid conversion specification

After this commit:

    $ seq -f "%" 1
    seq: format '%' ends in %
    $ seq -f "%g%" 1
    seq: format '%g%' has too many % directives

This matches the behavior of GNU `seq`.
2024-12-30 12:30:26 -05:00
jovielarue
89d79753b1 Update uudoc to include development and code of conduct in SUMMARY and fix links in book 2024-12-29 13:02:35 -07:00
Daniel Hofstetter
dddbc17c59
Merge pull request #7017 from sylvestre/chmod-L
ch*: Remove duplicate declarations + start to plug it to chmod too
2024-12-29 17:03:13 +01:00
Sylvestre Ledru
438c3c93b2
Merge pull request #6965 from DaringCuteSeal/install-stream
install: implement copying from streams
2024-12-29 16:42:24 +01:00
Sylvestre Ledru
29694212dd refactor: simplify the code by using the clap function instead 2024-12-29 16:36:14 +01:00
Sylvestre Ledru
e45c56b926 ch*: also remove duplications for deref & no deref 2024-12-29 16:32:59 +01:00
Sylvestre Ledru
6de5aa7ac7 ch*: improve the presentation 2024-12-29 16:32:59 +01:00
Sylvestre Ledru
836351dd7a ch*: refactor duplicate declarations 2024-12-29 16:32:59 +01:00
Daniel Hofstetter
5577165c77 rm: remove outdated comment 2024-12-29 14:51:01 +01:00
Daringcuteseal
a45731eed8
uucore/buf_copy: delete empty doc-string 2024-12-29 20:10:53 +07:00
Elden
80ed8d514a
rm: Remove an unecessary open call (#7010)
it was causing some sandbox issues
and it seems that isn't necessary after all
2024-12-29 13:14:35 +01:00
Sylvestre Ledru
48eb8d8703
Add procps to the spell ignore list 2024-12-29 10:20:34 +01:00
Dorian Péron
0a0db41a2c chore(clippy): fix clippy warnings 2024-12-29 04:40:07 +01:00
Justin Tracey
b0837a0ca5
ls: add better support for non-UTF-8 bytes 2024-12-28 22:27:22 -05:00
Daringcuteseal
200e4b1032
install: implement copying from streams 2024-12-29 07:17:39 +07:00
Sylvestre Ledru
7d628c65d3 chroot: handle the error when invalid user
Currently fails with:
```
2024-12-28T14:55:18.9330231Z thread 'main' panicked at src/uu/chroot/src/chroot.rs:284:46:
2024-12-28T14:55:18.9330718Z called `Result::unwrap()` on an `Err` value: Custom { kind: NotFound, error: "Not found: nobody:+65535" }
2024-12-28T14:55:18.9331305Z note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
```
2024-12-28 22:29:27 +01:00
Pearl
edf8be5e08
uucore/buf_copy: Improve the uucore integration (#6983)
---------

Co-authored-by: Sylvestre Ledru <sylvestre@debian.org>
2024-12-28 15:30:10 +01:00
Sylvestre Ledru
067b2964c6
Merge pull request #6993 from jtracey/wc-fixes
wc: fix escaping
2024-12-28 12:52:12 +01:00
Justin Tracey
ff8a31e835
wc: fix escaping
GNU wc only escapes file names with newlines in them.
2024-12-27 11:37:16 -05:00
Daniel Hofstetter
f62b8d7975 csplit: allow offset without sign in pattern 2024-12-27 16:08:48 +01:00
Daniel Hofstetter
20dfb27057 cut: fix handling of newline as delimiter 2024-12-27 09:12:47 +01:00
Daniel Hofstetter
6478f68c5a
Merge pull request #7003 from sylvestre/use-func
cp: use the function from uucore
2024-12-27 08:34:30 +01:00
Solomon
98c9be5ec4
mv: improve move-to-self error handling (#6995)
- improve move-to-self detection, so this errors without data loss:

```diff
 mkdir mydir
 mv mydir mydir/subdir
-mv: No such file or directory (os error 2)
+mv: cannot move 'mydir' to a subdirectory of itself, 'mydir/subdir'
```

- align "cannot move source to a subdirectory of itself" and "same file"
  errors more closely with coreutils:

```diff
 mkdir mydir
 mv mydir/ mydir/..
-mv: cannot move 'mydir/' to a subdirectory of itself, 'mydir/../mydir/'
+mv: 'mydir/' and 'mydir/../mydir' are the same file
```

Causing: https://github.com/nushell/nushell/issues/13082
2024-12-26 20:48:29 +01:00
Sylvestre Ledru
2deeb7882c xattr feature: enable it on mac too 2024-12-26 17:25:12 +01:00