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

7576 commits

Author SHA1 Message Date
Daniel Hofstetter
d8d635d014 echo: add support for POSIXLY_CORRECT 2025-01-06 09:51:41 +01:00
Sylvestre Ledru
934e85f4cd
cp: make --backup and --no-clobber are mutually exclusive (#7082)
* cp: make --backup and --no-clobber are mutually exclusive

Should fix tests/cp/cp-i.sh

* simplify the test

Co-authored-by: Daniel Hofstetter <daniel.hofstetter@42dh.com>

---------

Co-authored-by: Daniel Hofstetter <daniel.hofstetter@42dh.com>
2025-01-06 09:40:41 +01:00
Sylvestre Ledru
7a78213edb
Merge pull request #7060 from DaringCuteSeal/bufcopy-cleanup
uucore/buf-copy: delete redundant functions
2025-01-06 09:08:32 +01:00
Sylvestre Ledru
0459369e92
Merge pull request #7068 from DaringCuteSeal/head-dev-full
head: make head fail when writing to /dev/full
2025-01-06 09:07:28 +01:00
Daringcuteseal
509b755b3b
head: make process fail when writing to /dev/full 2025-01-06 04:58:56 +07:00
Mark
49ae68d443
cp: copy attributes after making subdir (#6884) 2025-01-05 22:12:12 +01:00
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
Daringcuteseal
5fe6706c51
head: refactor to use specific error enums 2025-01-05 09:14:02 +07: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
Daringcuteseal
35a044b532
uucore/buf-copy: delete redundant functions 2025-01-03 18:11:18 +07: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