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

5505 commits

Author SHA1 Message Date
Sylvestre Ledru
8d55e4edd1
Merge pull request #7080 from cakebaker/cksum_remove_unnecessary_type_info
cksum: remove some unnecessary type info
2025-01-05 17:58:20 +01:00
Daniel Hofstetter
e3acd5ab07
Merge pull request #7078 from jfinkels/tsort-split-whitespace
tsort: split edge data on any whitespace chars
2025-01-05 15:27:43 +01:00
Daniel Hofstetter
5dfeb809a4 cksum: remove some unnecessary type info 2025-01-05 14:50:14 +01:00
Daniel Hofstetter
d9936ca583
Merge pull request #7079 from Felle33/cksum_--tag_meaningless_with_--check
cksum: the --tag is meaningless with --check
2025-01-05 14:43:38 +01:00
Daniel Hofstetter
4ff48c3d85
Merge pull request #7009 from sylvestre/xattrs
cp: when copying a read only file, make sure that the xattrs can be set properly
2025-01-05 13:51:00 +01:00
tommi
dd17f9a61c cksum: check ourself the flags --check and --tag and output the correct error 2025-01-05 10:28:08 +01:00
Jeffrey Finkelstein
f703e88e9f tsort: split edge data on any whitespace chars
Make `tsort` split on any whitespace character instead of just
whitespace within a single line. This allows edge information to be
split with the source node on one line and the target node on another.

For example, after this commit

    $ printf "a\nb\n" | tsort
    a
    b

whereas before this would print an error message.

Closes #7077
2025-01-04 22:52:01 -05:00
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
Sylvestre Ledru
da2a4fedf5 cp: when copying a read only file, make sure that the xattrs can be set properly
on the destination

Should fix tests/misc/xattr.sh
2025-01-04 20:36:43 +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
Sylvestre Ledru
1e23a3fa8d uniq: fix multibyte input
Should fix tests/uniq/uniq.pl
2025-01-01 13:17:52 +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
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
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
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
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
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
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
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
Sylvestre Ledru
1180905b5e cp: use the function from uucore 2024-12-26 17:08:16 +01:00
Sylvestre Ledru
b4cdc36573
Merge pull request #6997 from cakebaker/echo_handle_double_hyphen
echo: handle double hyphens
2024-12-26 12:19:07 +01:00
Daniel Hofstetter
db37c316af csplit: add support for -q 2024-12-26 09:40:55 +01:00
Daniel Hofstetter
90465357e2 echo: handle double hyphens 2024-12-24 17:01:45 +01:00
Sylvestre Ledru
ffc6eb094a ls: Don't call the capabilites features of the system when passed an empty ca=
in LS_COLORS

In parallel, in the GNU test, adjust the GNU tests as we don't use libcap
but xattr instead.
2024-12-22 16:17:05 +01:00