Commit graph

4809 commits

Author SHA1 Message Date
Jan Scheer
75edeea5e4
tail: reduce CPU load for polling (#3618)
* tail: reduce CPU load for polling

This reduces the CPU load for polling drastically (from ~80% down to ~5%)
by removing/fixing several previous workarounds related to polling,
while still passing all related GNU test-suite checks.
* set Notify::PollWatcher delay to: sleep_sec/10 instead of
  sleep_sec/100
* set recv_timeout to sleep_sec instead of sleep_sec/100
* remove the manual polling of watched files

Bugs:
* fix an issue with headers to consistently pass
"test_follow_name_retry_headers" and "gnu/tests/tail-2/overlay-headers.sh"

Code clean-up and refactor
* make fields of struct FileHandling private (and add getters/setters)
to ensure that the paths are absolute and match the paths returned by
Notify::Events
* replace calls to "crash!" with "return USimpleError"
* clean-up formatting
2022-06-21 22:21:19 +02:00
Elijah Sink
2b70ccd61b install: handle when both -t and -D used together 2022-06-20 17:32:28 -05:00
Sylvestre Ledru
c277e933c9
Merge pull request #3647 from philgebhardt/backup-protect-source
cp: make `--b=simple` protective of source
2022-06-20 17:27:11 +02:00
Sylvestre Ledru
7d807f3e73
Merge pull request #3642 from Garfield96/shuf-find-seps
shuf: improve performance
2022-06-19 17:00:08 +02:00
Sylvestre Ledru
7c49bf4bd1
the cat /dev/random can be too long, use the Shakespeare text 2022-06-19 16:59:44 +02:00
Phil Gebhardt
c49d8e6113
cp: make --b=simple protective of source
When `--backup` is supplied, `cp` will take a backup of *destination* before *source* is copied. When `--backup=simple` is supplied, it is possible for the backup path for *destination* to equal the path for *source*, destroying source before the copy is made. This change prevents this by returning an error instead.

This fixes https://github.com/uutils/coreutils/issues/3629
2022-06-18 03:56:46 -07:00
Sylvestre Ledru
ad05b2f7cb
Ignore word "tmpfs" 2022-06-18 08:32:40 +02:00
Christian Menges
35e97fe88a
shuf: update BENCHMARKING.md
Signed-off-by: Christian Menges <christian.menges@outlook.com>
2022-06-17 20:57:04 +02:00
Daniel Hofstetter
edf4fee48f unexpand: implement "tabs" shortcuts 2022-06-17 14:31:40 +02:00
Sylvestre Ledru
fa51f8b986
Merge pull request #3643 from cakebaker/fix_invalid_enum_variant_in_docstring
uucore: fix invalid enum variant in docstring
2022-06-17 10:31:29 +02:00
Daniel Hofstetter
1655e85a13 expand: simplify signature of expand_shortcuts() 2022-06-16 15:59:41 +02:00
Daniel Hofstetter
72aa2ff0ab uucore: fix invalid enum variant in docstring 2022-06-16 14:43:01 +02:00
Christian Menges
19a43bf1b7
shuf: improve performance
Use memchr crate to speed up splitting input data by a separator.

Signed-off-by: Christian Menges <christian.menges@outlook.com>
2022-06-16 13:23:44 +02:00
Sylvestre Ledru
9cfb92df3f
Merge pull request #3612 from cakebaker/ticket_3575
expand: add support for "--tabs" shortcuts
2022-06-16 13:18:38 +02:00
Sylvestre Ledru
e232bb49f3
Merge pull request #3639 from cakebaker/dircolors_quote
dircolors: escape "'" and ":"
2022-06-16 10:05:58 +02:00
Terts Diepraam
bc4f193b5a
Merge pull request #3630 from sylvestre/gnu-sleep
sleep: customize one of the tests (tests/misc/sleep.sh)
2022-06-15 19:50:33 +02:00
Daniel Hofstetter
46b4b94c42 dircolors: escape "'" and ":" 2022-06-15 15:22:14 +02:00
Sylvestre Ledru
5920de5adc
Merge pull request #3614 from sylvestre/rm-ioctl
cp: Replace ioctl-sys by libc for the call to ficlone
2022-06-15 09:07:44 +02:00
Sylvestre Ledru
1747b20cf0 sleep: return 1 is no arg + customize one of the tests (tests/misc/sleep.sh) 2022-06-15 08:57:30 +02:00
Sylvestre Ledru
2fcf892dbc cp: Replace ioctl-sys by libc for the call to ficlone 2022-06-14 16:01:44 +02:00
Sylvestre Ledru
b242e6592c
Merge pull request #3617 from jfinkels/dd-float-format-stats-2
dd: only print concise byte counts if count is sufficiently large
2022-06-14 08:01:28 +02:00
Sylvestre Ledru
81a9106b76
Merge pull request #3622 from cakebaker/remove_unnecessary_spaces
du: remove unnecessary spaces from help
2022-06-13 19:26:49 +02:00
Daniel Hofstetter
dc94a08196 du: remove unnecessary spaces from help 2022-06-13 16:25:22 +02:00
Sylvestre Ledru
a07f331665
Merge branch 'main' into dependabot/cargo/strum_macros-0.24.1 2022-06-13 16:01:46 +02:00
Sylvestre Ledru
a4ce3011fd
Merge pull request #3619 from uutils/dependabot/cargo/strum-0.24.1
build(deps): bump strum from 0.24.0 to 0.24.1
2022-06-13 16:01:18 +02:00
Sylvestre Ledru
76d6a4a889
Merge pull request #3613 from Ganneff/lswidthoctal
Forbid octal numbers for width parameter
2022-06-13 16:00:36 +02:00
dependabot[bot]
28786a0fb4 build(deps): bump strum_macros from 0.24.0 to 0.24.1
Bumps [strum_macros](https://github.com/Peternator7/strum) from 0.24.0 to 0.24.1.
- [Release notes](https://github.com/Peternator7/strum/releases)
- [Changelog](https://github.com/Peternator7/strum/blob/master/CHANGELOG.md)
- [Commits](https://github.com/Peternator7/strum/commits)

---
updated-dependencies:
- dependency-name: strum_macros
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-06-13 08:50:59 +02:00
dependabot[bot]
502cd11713 build(deps): bump strum from 0.24.0 to 0.24.1
Bumps [strum](https://github.com/Peternator7/strum) from 0.24.0 to 0.24.1.
- [Release notes](https://github.com/Peternator7/strum/releases)
- [Changelog](https://github.com/Peternator7/strum/blob/master/CHANGELOG.md)
- [Commits](https://github.com/Peternator7/strum/commits)

---
updated-dependencies:
- dependency-name: strum
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-06-13 08:50:50 +02:00
Sylvestre Ledru
b1fbbb6ede doc: ignore a 'typo' 2022-06-13 08:49:35 +02:00
Sylvestre Ledru
a5861e8b43
Merge pull request #3605 from cakebaker/set_value_name
unexpand: set value name of arg
2022-06-12 16:03:06 +02:00
Sylvestre Ledru
e62ff8cd0b
Merge pull request #3600 from patricksjackson/dd-reuse-buffer
dd: reuse buffer for the most common cases
2022-06-12 16:02:39 +02:00
Sylvestre Ledru
f36b58854b
Merge pull request #3593 from str4d/2930-hashsum-isolate-non-gnu-options
hashsum: Refactor `uu_app` to isolate non-"GNU Coreutils" options
2022-06-12 16:01:34 +02:00
Joerg Jaspert
fd1e0e6dd7 Correctly parse numbers starting with 0 as octal 2022-06-12 12:55:33 +02:00
Jeffrey Finkelstein
a375644c50 dd: only print concise byte counts if large enough
Update `dd` to only print a concise form of the number of bytes with
an SI prefix (like "1 MB" or "2 GB") if the number is at least
1000. Similarly, only print the concise form with an IEC prefix (like
"1 MiB" or "2 GiB") if the number is at least 1024. For example,

    $ head -c 999 /dev/zero | dd > /dev/null
    1+1 records in
    1+1 records out
    999 bytes copied, 0.0 s, 999.0 KB/s

    $ head -c 1000 /dev/zero | dd > /dev/null
    1+1 records in
    1+1 records out
    1000 bytes (1000 B) copied, 0.0 s, 1000.0 KB/s

    $ head -c 1024 /dev/zero | dd > /dev/null
    2+0 records in
    2+0 records out
    1024 bytes (1 KB, 1024 B) copied, 0.0 s, 1.0 MB/s
2022-06-11 23:16:16 -04:00
Sylvestre Ledru
98cf16586e
Merge pull request #3603 from cakebaker/return_result_instead_of_crash
unexpand: return Result instead of calling crash!
2022-06-11 19:55:20 +02:00
Sylvestre Ledru
3461b6c452
Merge pull request #3607 from jhscheer/cut_fix_delimiter
cut: fix argument parsing for the delimiter
2022-06-11 19:54:48 +02:00
anastygnome
8693eaa3b9
Remove unnecessary trailing space when using the comma format (-m)
unnecessary trailing space was being added. because we were padding for alignment,
which is not required with -m

fixes #3608

Signed-off-by: anastygnome <noreplygitemail@protonmail.com>
2022-06-11 08:41:08 +02:00
Joerg Jaspert
aec63c06fd Forbid octal numbers for width parameter 2022-06-10 23:42:16 +02:00
Daniel Hofstetter
e3cac647f6 expand: add support for "--tabs" shortcuts
Fixes #3575
2022-06-10 13:55:27 +02:00
Jack Grigg
fccab8a691 hashsum: Refactor uu_app to isolate non-"GNU Coreutils" options
Several binaries have been added to `hashsum` that have never been part
of GNU Coreutils:

- `sha3*sum` (uutils/coreutils#869)
- `shake*sum` (uutils/coreutils#987)
- `b3sum` (uutils/coreutils#3108 and uutils/coreutils#3164)

In particular, the `--bits` option, and the `--no-names` option added in
uutils/coreutils#3361, are not valid for any GNU Coreutils `*sum` binary
(as of Coreutils 9.0).

This commit refactors the argument parsing so that `--bits` and
`--no-names` become invalid options for the binaries intended to match
the GNU Coreutils API, instead of being ignored options. It also
refactors the custom binary name handling to distinguish between
binaries intended to match the GNU Coreutils API, and binaries that
don't have that constraint.

Part of uutils/coreutils#2930.
2022-06-10 10:07:00 +02:00
Patrick Jackson
881f0c3d06 dd: add BENCHMARKING instructions 2022-06-10 10:06:54 +02:00
Patrick Jackson
a186adbff1 dd: fixing clippy warnings. 2022-06-10 10:06:54 +02:00
Patrick Jackson
4cc058a789 dd: reuse buffer for the most common cases 2022-06-10 10:06:54 +02:00
Daniel Hofstetter
0c0e4dbda4 unexpand: return Result instead of calling crash! 2022-06-10 10:06:28 +02:00
Daniel Hofstetter
d8f73c3f24 unexpand: set value name of arg 2022-06-10 10:06:24 +02:00
dependabot[bot]
6412232e2b build(deps): bump exacl from 0.8.0 to 0.9.0
Bumps [exacl](https://github.com/byllyfish/exacl) from 0.8.0 to 0.9.0.
- [Release notes](https://github.com/byllyfish/exacl/releases)
- [Changelog](https://github.com/byllyfish/exacl/blob/main/CHANGELOG.md)
- [Commits](https://github.com/byllyfish/exacl/compare/v0.8.0...v0.9.0)

---
updated-dependencies:
- dependency-name: exacl
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-06-10 10:06:13 +02:00
Jan Scheer
fa64407cb0
cut: fix argument parsing for the delimiter
This fixes the argument parsing for the delimiter for the two special
cases `-d=` and `-d ''`.
2022-06-09 22:14:43 +02:00
Junji Wei
1ba0bfc67a mktemp: respect POSIXLY_CORRECT env var when parsing args
Signed-off-by: Junji Wei <harukawei99@gmail.com>
2022-06-09 20:51:51 +08:00
Sylvestre Ledru
702a0b7a34
Merge pull request #3558 from uutils/dependabot/cargo/once_cell-1.12.0
build(deps): bump once_cell from 1.11.0 to 1.12.0
2022-06-07 15:06:52 +02:00
Sylvestre Ledru
d7b7b7f8c1
Merge pull request #3595 from cakebaker/specifier_only_allowed_with_last_value
expand: allow specifier only with last value
2022-06-07 15:06:40 +02:00
Sylvestre Ledru
0532c743f1
Merge pull request #2695 from jhscheer/tail_notify
`tail` overhaul (--follow=name, etc.)
2022-06-07 12:05:16 +02:00
Jeffrey Finkelstein
6da070cdd3 mktemp: error on empty --suffix in some situations
Make `mktemp` exit with an error if the `--suffix` option is the empty
string and the template argument does not end in an "X". Previously,
the program succeeded.

Before this commit,

    $ mktemp --suffix= aXXXb
    apBEb

After this commit,

    $ mktemp --suffix= aXXXb
    mktemp: with --suffix, template 'aXXXb' must end in X
2022-06-06 21:24:59 -04:00
dependabot[bot]
5a42c06b25
build(deps): bump once_cell from 1.11.0 to 1.12.0
Bumps [once_cell](https://github.com/matklad/once_cell) from 1.11.0 to 1.12.0.
- [Release notes](https://github.com/matklad/once_cell/releases)
- [Changelog](https://github.com/matklad/once_cell/blob/master/CHANGELOG.md)
- [Commits](https://github.com/matklad/once_cell/compare/v1.11.0...v1.12.0)

---
updated-dependencies:
- dependency-name: once_cell
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-06-06 19:18:28 +00:00
Sylvestre Ledru
3a45f00fed
Merge pull request #3312 from uutils/dependabot/cargo/rust-ini-0.18.0
build(deps): bump rust-ini from 0.17.0 to 0.18.0
2022-06-06 21:13:59 +02:00
Jan Scheer
e8834597f3
Merge branch 'main' into tail_notify 2022-06-06 16:00:46 +02:00
Daniel Hofstetter
3c18da471d dircolors: update error message 2022-06-06 14:56:46 +02:00
Jan Scheer
beb2b7cf5e
tail: use functionality from uucore::error where applicable
* minor code clean-up
* remove test-suite summary from README
2022-06-06 14:36:51 +02:00
Daniel Hofstetter
804240164b expand: allow specifier only with last value 2022-06-06 14:15:33 +02:00
Sylvestre Ledru
fc5aedfbb7
Merge pull request #3594 from cakebaker/handle_too_large_tab_stop
expand: handle too large tab size
2022-06-06 13:39:19 +02:00
dependabot[bot]
82e81da967 build(deps): bump bytecount from 0.6.2 to 0.6.3
Bumps [bytecount](https://github.com/llogiq/bytecount) from 0.6.2 to 0.6.3.
- [Release notes](https://github.com/llogiq/bytecount/releases)
- [Commits](https://github.com/llogiq/bytecount/commits)

---
updated-dependencies:
- dependency-name: bytecount
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-06-06 10:07:55 +02:00
Sylvestre Ledru
3f203c7ab1
Merge pull request #3586 from jfinkels/mktemp-multiple-x-sequences
mktemp: only replace last contiguous block of Xs
2022-06-06 10:06:44 +02:00
Sylvestre Ledru
63347abd19
Merge pull request #3592 from anastygnome/fork
Implement the --sync flag for df. (fixes #3564)
2022-06-06 10:05:51 +02:00
Sylvestre Ledru
c4c6d42f02
Merge pull request #3591 from jhscheer/fix_3589
dircolors: add support for stdin "-" (fix: #3589)
2022-06-06 10:04:42 +02:00
Daniel Hofstetter
c14ff14e99 expand: handle too large tab size 2022-06-05 13:49:11 +02:00
anastygnome
54590c0507 Implement the --sync flag for df. (fixes #3564)
This PR reuses the defined --sync flag for df, which was previously a
no-op, assigns its default value and uses the fact that
get_all_filesystems takes CLI options as a parameter to perform a sync
operation before any fs call.

Fixes #3564

Signed-off-by: anastygnome <noreplygitemail@protonmail.com>
2022-06-05 09:43:59 +02:00
Sylvestre Ledru
c874802285
Add a word to the spell ignore list 2022-06-05 09:32:24 +02:00
Sylvestre Ledru
e2782e2f75
Merge pull request #3583 from cakebaker/ticket_3574
expand: show error if --tabs arg has invalid chars
2022-06-05 09:31:21 +02:00
Jan Scheer
e0efd6cc90
tail: update readme
* add clippy fixes
* add cicd fixes
2022-06-03 13:35:58 +02:00
Daniel Hofstetter
9651cff6c0 expand: show error if --tabs arg has invalid chars
Fixes #3574
2022-06-03 10:36:42 +02:00
Jan Scheer
f1b38e94cd
dircolors: add support for stdin "-" (fix: #3589) 2022-06-03 02:08:09 +02:00
Terts Diepraam
626ed43e05 ls: fix double quoting when color is enabled
When color was enabled the escape_name function was called twice which led to names like `hello world` being displayed as `"'hello world'".
2022-06-03 00:29:56 +02:00
Jan Scheer
70fed83305
tail: refactor and fixes to pass more GNU test-suite checks
* add fixes to pass:
    - tail-2/F-vs-rename.sh
    - tail-2/follow-name.sh
    - tail-2/inotify-hash-abuse.sh
    - tail-2/inotify-only-regular.sh
    - tail-2/retry.sh
* add/improve documentation
2022-06-02 17:11:51 +02:00
Jan Scheer
8ee806a444
Merge branch 'main' into tail_notify 2022-06-02 16:31:25 +02:00
Sylvestre Ledru
68cc9312c8
Merge pull request #3585 from cakebaker/multiple_tabs
expand: allow multiple "tabs" args
2022-06-02 10:08:45 +02:00
Sylvestre Ledru
aeb01c6f52
Merge pull request #3563 from sylvestre/hard-to-sym
ln: Implement -L -P to make tests/ln/hard-to-sym.sh work
2022-06-02 08:19:17 +02:00
Jeffrey Finkelstein
cff7833bf6 mktemp: only replace last contiguous block of Xs
Fix a bug in which `mktemp` would replace everything in the template
argument from the first 'X' to the last 'X' with random bytes, instead
of just replacing the last contiguous block of 'X's.

Before this commit,

    $ mktemp XXX_XXX
    2meCpfM

After this commit,

    $ mktemp XXX_XXX
    XXX_Rp5

This fixes test cases `suffix2f` and `suffix2d` in
`tests/misc/mktemp.pl` in the GNU coreutils test suite.
2022-06-01 18:21:21 -04:00
Sylvestre Ledru
08fed8fb7b
Merge pull request #3541 from cakebaker/split_set_names_for_arg_values
split: set names for arg values
2022-06-01 23:12:36 +02:00
Sylvestre Ledru
36e5b60617
Merge pull request #3566 from cakebaker/print_ls_colors
dircolors: implement --print-ls-colors
2022-06-01 23:11:57 +02:00
Sylvestre Ledru
06c2aea1b4 ln: Implement -L -P to make tests/ln/hard-to-sym.sh work 2022-06-01 23:03:50 +02:00
Daniel Hofstetter
864c666467 expand: allow multiple "tabs" args 2022-06-01 16:18:57 +02:00
Jeffrey Finkelstein
43e9fb73b1 mktemp: simplify file path parameter logic
Simplify the logic of computing the file path parameters (the
directory, prefix, suffix, and number of random characters) for the
temporary file created by `mktemp`. This commits adds an `Options`
struct as a layer of indirection between the application logic and
`clap`, and a `Params` struct whose associated function is responsible
for determining the file path parameters from the `Options`. This is
an improvement because the previous code had some logic for
determining file path parameters in one place and some in another
place.
2022-05-31 19:35:01 -04:00
Sylvestre Ledru
e276e652dc
Merge pull request #3579 from jfinkels/df-total-label-target-column
df: show "total" label in correct column
2022-05-31 07:42:06 +01:00
Terts Diepraam
a240b1cef3
Merge pull request #3578 from jfinkels/mktemp-usage-error-status-1
mktemp: exit with status 1 on usage errors
2022-05-30 18:34:27 +02:00
Jeffrey Finkelstein
d7b528f60b df: show "total" label in correct column
Show the "total" label in the "source" column or in the "target"
column if the "source" column is not visible.

Before this commit,

    $ df --total --output=target .
    Mounted on
    /
    -

After this commit,

    $ df --total --output=target .
    Mounted on
    /
    total
2022-05-30 11:22:07 -04:00
Jeffrey Finkelstein
dfc1c8a2dd mktemp: exit with status 1 on usage errors 2022-05-30 09:30:47 -04:00
Daniel Hofstetter
df2507bdf2 expand: remove empty line from error message 2022-05-30 14:31:39 +02:00
Daniel Hofstetter
6d82523a99 dircolors: implement --print-ls-colors 2022-05-30 09:11:27 +02:00
Daniel Hofstetter
2261051239 split: set names for arg values 2022-05-30 09:10:18 +02:00
Jan Scheer
767eeede34
tail: update README
* add summary of implemented/missing features
* add summary of gnu test suite results
2022-05-28 01:38:53 +02:00
Jan Scheer
4cb6b094f5
Merge branch 'main' into tail_notify 2022-05-27 23:44:24 +02:00
Jan Scheer
bb5dc8bd2f
tail: verify that -[nc]0 without -f, exit without reading
This passes: "gnu/tests/tail-2/tail-n0f.sh"

* add tests for "-[nc]0 wo -f"

* add bubble-up UResult
* rename return_code -> exit_code
2022-05-27 23:36:31 +02:00
Terts Diepraam
7861cc9dca
Merge pull request #3569 from cakebaker/overridable_args
dircolors: make -b & -c args overridable
2022-05-27 13:08:25 +02:00
Daniel Hofstetter
e750a5a06a dirname: add missing "\n\" to usage message 2022-05-27 10:52:51 +02:00
Daniel Hofstetter
598fdc4430 dircolors: make -b & -c args overridable 2022-05-27 10:36:49 +02:00
Daniel Hofstetter
3a0aaabd27 tail: fix typo 2022-05-26 15:17:20 +02:00
Jan Scheer
4bbf708c81
tail: fix handling of PermissionDenied Error
* add tests for opening unreadable files
2022-05-26 13:00:40 +02:00
Jan Scheer
6bd9a1d537
Merge branch 'main' into tail_notify 2022-05-26 00:33:12 +02:00
Jan Scheer
5f86e238ae
tail: refactor FileHandling and fixes for new tests
Refactor and fixes, mostly to pass test_follow_name_move2.
2022-05-26 00:31:03 +02:00
Sylvestre Ledru
172f5c4182
Merge pull request #3504 from cakebaker/read_blocksize_from_env_vars
df: read block size from env vars
2022-05-25 16:41:41 +02:00
Sylvestre Ledru
fa577603c2
Merge pull request #3471 from 353fc443/mktemp-set-dir-mode
mktemp: change directory permission after creation
2022-05-25 14:56:45 +02:00
Sylvestre Ledru
549c642519
Merge pull request #3559 from cakebaker/update_dircolors_database
dircolors: update internal db
2022-05-25 13:10:28 +02:00
Daniel Hofstetter
ba746250fb dircolors: update internal db 2022-05-24 13:56:15 +02:00
Daniel Hofstetter
c90a1c759a df: fix rounding behavior in humanreadable mode
Fixes #3422
2022-05-23 15:21:51 +02:00
Daniel Hofstetter
ea284ce55e df: read block size from env vars 2022-05-23 09:24:07 +02:00
Sylvestre Ledru
c818ca0039
Merge pull request #3551 from jfinkels/mktemp-too-few-xs-suffix
mktemp: include suffix in error message
2022-05-23 08:38:15 +02:00
Jan Scheer
dc4b6f2cf9
Merge branch 'main' into tail_notify 2022-05-23 01:10:32 +02:00
Jan Scheer
6a7b6ccdbe
tail: add test_follow_name_move_retry
* add fixes to pass test_follow_name_move_retry
* fix test_follow_name_remove

* bump notify to 5.0.0-pre.15
* adjust PollWatcher::with_delay -> PollWatcher::with_config
2022-05-23 00:51:02 +02:00
Terts Diepraam
eae07adfb1
Version 0.0.14 (#3553)
Version 0.0.14
2022-05-22 19:57:19 +02:00
Sylvestre Ledru
887f49ce2d
Merge pull request #3550 from thomasqueirozb/ls_gds
ls: implement --group-directories-first
2022-05-22 09:50:04 +02:00
Jeffrey Finkelstein
35fb4e6ea1 mktemp: include suffix in error message
Include the suffix in the error message produced by `mktemp` when
there are too few Xs in the template. Before this commit,

    $ mktemp --suffix=X aXX
    mktemp: too few X's in template 'aXX'

After this commit,

    $ mktemp --suffix=X aXX
    mktemp: too few X's in template 'aXXX'

This matches the behavior of GNU `mktemp`.
2022-05-21 21:59:06 -04:00
Thomas Queiroz
bcb9821e24
ls: take into account "." and ".." when sorting 2022-05-21 18:04:17 -03:00
Sylvestre Ledru
d92107362b
Merge pull request #3521 from jfinkels/mktemp-tmpdir-absolute-path
mktemp: correct error message on absolute path
2022-05-21 09:40:33 +02:00
Sylvestre Ledru
bda9f9f889
Merge pull request #3529 from ilkecan/mv-target-dir
mv: allow a single source with --target-directory
2022-05-21 09:40:16 +02:00
Thomas Queiroz
55a68bca80
ls: implement --group-directories-first 2022-05-21 02:55:45 -03:00
Daniel Hofstetter
af5ef5585f df/uniq: suppress lint errors 2022-05-20 17:00:56 +02:00
Sylvestre Ledru
c517096e19
Merge pull request #3543 from jfinkels/mktemp-suffix-path-separator
mktemp: fix error msg when suffix has path sep.
2022-05-20 11:56:47 +02:00
Sylvestre Ledru
27ccb3df2a
Merge pull request #3501 from tertsdiepraam/kill-group-id
`kill`: kill process group with negative id
2022-05-20 11:53:45 +02:00
Sylvestre Ledru
9fb19c12a3
Merge pull request #3530 from cakebaker/fix_size_header_rounding
df: fix incorrect rounding of size header
2022-05-20 10:27:25 +02:00
Sylvestre Ledru
ae7d8aac46
Merge pull request #3539 from jfinkels/seq-usage-error
seq: use usage error where appropriate
2022-05-20 10:26:55 +02:00
Jan Scheer
a62f71f93e
Merge branch 'main' into tail_notify 2022-05-19 23:00:31 +02:00
Jan Scheer
84480f892d
tail: add equivalent of stdin_is_pipe_or_fifo() for Windows
* add support to determine if stdin is readable on Windows
2022-05-19 22:55:47 +02:00
Jeffrey Finkelstein
6260333415 mktemp: fix error msg when suffix has path sep.
Correct the error message when the template argument contains a path
separator in its suffix. Before this commit:

    $ mktemp aXXX/b
    mktemp: too few X's in template 'b'

After this commit:

    $ mktemp aXXX/b
    mktemp: invalid suffix '/b', contains directory separator

This error message is more appropriate and matches the behavior of GNU
mktemp.
2022-05-19 15:46:04 +02:00
Daniel Hofstetter
7374d76d63 date: set names for arg values 2022-05-19 10:44:01 +02:00
Terts Diepraam
57072dd4f9
Merge pull request #3537 from LevitatingBusinessMan/uname_pi
uname: hide processor and hwplatform options
2022-05-18 22:58:13 +02:00
Sylvestre Ledru
2a969de2a4
Merge branch 'main' into kill-group-id 2022-05-18 21:12:30 +02:00
Jan Scheer
6a1cf72316
Merge branch 'main' into tail_notify 2022-05-18 14:28:19 +02:00
Jan Scheer
07231e6c6c
tail: fix handling of stdin redirects for macOS
On macOS path.is_dir() can be false for directories
if it was a redirect, e.g. ` tail < DIR`

* fix some tests for macOS

Cleanup:
* fix clippy/spell-checker
* fix build for windows by refactoring stdin_is_pipe_or_fifo()
2022-05-18 14:22:53 +02:00
Jeffrey Finkelstein
a3e6d2b84b seq: use usage error where appropriate 2022-05-17 21:02:42 -04:00
Jeffrey Finkelstein
8a941db20a mktemp: correct error message on absolute path
Correct the error message produced by `mktemp` when `--tmpdir` is
given and the template is an absolute path:

    $ mktemp --tmpdir=a /XXX
    mktemp: invalid template, '/XXX'; with --tmpdir, it may not be absolute
2022-05-17 20:16:47 -04:00
LevitatingBusinessMan
cbc0381f20 uname: hide processor and hwplatform options 2022-05-17 23:57:05 +02:00
Daniel Hofstetter
27dd59635a uucore: add InvalidSuffix to ParseSizeError 2022-05-17 15:37:49 +02:00
Jan Scheer
75a6641ced
Merge branch 'main' into tail_notify 2022-05-17 14:13:20 +02:00
353fc443 aka Seagull
124312702f
Merge branch 'main' into mktemp-set-dir-mode 2022-05-17 12:51:04 +01:00
Sylvestre Ledru
e337826a11
Merge pull request #3536 from uutils/dependabot/cargo/signal-hook-0.3.14
build(deps): bump signal-hook from 0.3.13 to 0.3.14
2022-05-17 12:32:49 +02:00
Sylvestre Ledru
7792af336e
Merge pull request #3535 from uutils/dependabot/cargo/libc-0.2.126
build(deps): bump libc from 0.2.125 to 0.2.126
2022-05-17 12:32:22 +02:00
Terts Diepraam
eac0760905
Merge pull request #3528 from jfinkels/clippy-fixes
all: clippy fixes
2022-05-17 11:57:47 +02:00
dependabot[bot]
8d0572a3ba
build(deps): bump signal-hook from 0.3.13 to 0.3.14
Bumps [signal-hook](https://github.com/vorner/signal-hook) from 0.3.13 to 0.3.14.
- [Release notes](https://github.com/vorner/signal-hook/releases)
- [Changelog](https://github.com/vorner/signal-hook/blob/master/CHANGELOG.md)
- [Commits](https://github.com/vorner/signal-hook/compare/v0.3.13...v0.3.14)

---
updated-dependencies:
- dependency-name: signal-hook
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-17 07:13:56 +00:00
dependabot[bot]
cd743c2fd1
build(deps): bump libc from 0.2.125 to 0.2.126
Bumps [libc](https://github.com/rust-lang/libc) from 0.2.125 to 0.2.126.
- [Release notes](https://github.com/rust-lang/libc/releases)
- [Commits](https://github.com/rust-lang/libc/compare/0.2.125...0.2.126)

---
updated-dependencies:
- dependency-name: libc
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-17 07:13:42 +00:00
353fc443 aka Seagull
2086d04996
Merge branch 'main' into mktemp-set-dir-mode 2022-05-17 04:58:03 +00:00
Jan Scheer
409878e323
Merge branch 'main' into tail_notify 2022-05-16 22:45:52 +02:00
Jan Scheer
90cef98a14
tail: implement follow for stdin (pipe, fifo, and redirects)
* implement behavior to pass `gnu/tests/tail-2/follow-stdin.sh`
* add stdin redirect using the same /dev/stdin-workaround used by uu_stat
* refactor
2022-05-16 22:27:41 +02:00
Jan Scheer
5aee95b4e5
tail: add check to detect a closed file descriptor
This is WIP or even WONT-FIX because there's a workaround in Rust's
stdlib which prevents us from detecting a closed FD.

see also the discussion at:
https://github.com/uutils/coreutils/issues/2873
2022-05-16 22:10:27 +02:00
353fc443
2383950403
mktemp: Added tests for checking directory permissions 2022-05-16 18:05:59 +00:00
dependabot[bot]
9090457f02
build(deps): bump lscolors from 0.9.0 to 0.10.0
Bumps [lscolors](https://github.com/sharkdp/lscolors) from 0.9.0 to 0.10.0.
- [Release notes](https://github.com/sharkdp/lscolors/releases)
- [Commits](https://github.com/sharkdp/lscolors/compare/v0.9.0...v0.10.0)

---
updated-dependencies:
- dependency-name: lscolors
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-16 07:01:00 +00:00
Daniel Hofstetter
576aafb00f df: fix incorrect rounding of size header 2022-05-15 16:25:17 +02:00
Sylvestre Ledru
40095e1b50
Merge pull request #3438 from jfinkels/chown-nonexistent-user-id
chown: allow setting arbitrary numeric user ID
2022-05-14 09:20:01 +02:00
Sylvestre Ledru
0a7ff713e0
Merge pull request #3524 from tertsdiepraam/clap-value-hints
Clap value hints
2022-05-14 09:18:04 +02:00
ilkecan
530d5f6dbf mv: allow a single source with --target-directory 2022-05-14 03:00:29 +00:00
Jeffrey Finkelstein
896bbec760 all: clippy fixes 2022-05-13 22:47:56 -04:00
Daniel Hofstetter
996a84cb6f df: round up values if block size is specified
Fixes #3479
2022-05-13 16:43:28 +02:00
Terts Diepraam
0acfa07d77 all: add value hints 2022-05-13 16:15:50 +02:00
Terts Diepraam
369026a92f tr: remove duplicate line from clap::Command 2022-05-12 22:34:08 +02:00
dependabot[bot]
d34a4190df build(deps): bump rust-ini from 0.17.0 to 0.18.0
Bumps [rust-ini](https://github.com/zonyitoo/rust-ini) from 0.17.0 to 0.18.0.
- [Release notes](https://github.com/zonyitoo/rust-ini/releases)
- [Commits](https://github.com/zonyitoo/rust-ini/compare/v0.17.0...v0.18.0)

---
updated-dependencies:
- dependency-name: rust-ini
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-12 09:09:11 +02:00
Jeffrey Finkelstein
5713de4d93 fixup! uucore(perms): better support nameless uids, gids 2022-05-12 08:41:17 +02:00
Jeffrey Finkelstein
3029d83a36 Revert "WIP Trying to diagnose 'invalid group: 1001:121' error in CI environment"
This reverts commit 291fb3ad71a0e93705509a352fd95de7539402ed.
2022-05-12 08:41:17 +02:00
Jeffrey Finkelstein
f56903493c WIP Trying to diagnose 'invalid group: 1001:121' error in CI environment 2022-05-12 08:41:17 +02:00
Jeffrey Finkelstein
163df8abc1 fixup! chown: allow setting arbitrary numeric user ID 2022-05-12 08:41:17 +02:00
Jeffrey Finkelstein
55550e1a6e chown: allow setting arbitrary numeric user ID
Update `chown` to allow setting the owner of a file to a numeric user
ID regardless of whether a corresponding username exists on the
system.

For example,

    $ touch f && sudo chown 12345 f

succeeds even though there is no named user with ID 12345.

Fixes #3380.
2022-05-12 08:41:17 +02:00
Jeffrey Finkelstein
08b6dd4975 uucore(perms): better support nameless uids, gids
Update the `wrap_chown()` function to support user IDs and group IDs
that do not correspond to named users or groups, respectively. Before
this commit, the result from `uid2usr()` and `gid2grp()` calls were
unwrapped because we assumed a user name or group name, respectively,
existed. However, this is not always true: for example, running the
command `sudo chown 12345 f` works even if there is no named user with
ID 12345. This commit expands `wrap_chown()` to work even if no name
exists for the user or group.
2022-05-12 08:41:17 +02:00
Sylvestre Ledru
6a9a7d76fc
Merge pull request #3498 from jhscheer/fix_stat_redirect
stat: improve handling of stdin/fifo (fix #3485)
2022-05-12 08:35:43 +02:00
Sylvestre Ledru
1ca4cf5ea7
Merge pull request #3512 from jfinkels/mktemp-invalid-template-path-sep
mktemp: error on path separator in template prefix
2022-05-12 08:34:50 +02:00
Sylvestre Ledru
c212f4a556
Merge pull request #3513 from cakebaker/portability_headers
df: implement POSIX conform header line
2022-05-12 08:33:50 +02:00
Daniel Hofstetter
a6b100a5ca df: show error if provided block size is zero 2022-05-11 12:59:51 +02:00
Daniel Hofstetter
e26fed61b3 df: implement POSIX conform header line
It also fixes #3195
2022-05-11 12:59:47 +02:00
Jeffrey Finkelstein
2874f18950 mktemp: error on path separator in template prefix
Correct the error that arises from a path separator in the prefix
portion of a template argument provided to `mktemp`. Before this
commit, the error message was incorrect:

    $ mktemp -t a/bXXX
    mktemp: failed to create file via template 'a/bXXX': No such file or directory (os error 2) at path "/tmp/a/bege"

After this commit, the error message is correct:

    $ mktemp -t a/bXXX
    mktemp: invalid template, 'a/bXXX', contains directory separator

The code was failing to check for a path separator in the prefix
portion of the template.
2022-05-11 12:59:44 +02:00
Terts Diepraam
53c3efecd8 kill: remove table_old arg in favor of a short alias 2022-05-11 12:59:29 +02:00
Terts Diepraam
a7cf757127 kill: kill process group with negative id 2022-05-11 12:59:29 +02:00
Terts Diepraam
e1d50dae87 kill: fix typo 2022-05-11 12:59:29 +02:00
Jan Scheer
d906f09e6e stat: improve handling of stdin/fifo (fix #3485)
* fix https://github.com/uutils/coreutils/issues/3485
* improve the workaround from #3280
* add tests
2022-05-11 12:59:25 +02:00
Sylvestre Ledru
25ecb81c7f
Merge branch 'main' into mktemp-set-dir-mode 2022-05-11 12:59:05 +02:00
jfinkels
ae580cd54a
Merge pull request #3482 from cakebaker/handle_posixly_correct
df: use blocksize of 512 if POSIXLY_CORRECT is set
2022-05-09 19:43:58 -04:00
Sylvestre Ledru
f65d72e334 also support for tests/touch/relative.sh 2022-05-08 21:52:12 +02:00
Sylvestre Ledru
d5569847bd also support for tests/touch/no-rights.sh format 2022-05-08 21:50:12 +02:00
Daniel Hofstetter
f668b69a2c df: use blocksize of 512 if POSIXLY_CORRECT is set 2022-05-08 14:46:31 +02:00
Sylvestre Ledru
56264ebece
Merge branch 'main' into 2884-time-0.3 2022-05-07 20:57:14 +02:00
Daniel Hofstetter
5a3933a882 df: fix "Size" header for multiples of 1000 & 1024 2022-05-06 15:37:52 +02:00
Terts Diepraam
122c7d6d5b
Merge pull request #3490 from cakebaker/fix_help_output
df: set names for arg values & add missing space
2022-05-06 11:38:34 +02:00
Sylvestre Ledru
06ef89b3d8 touch: improve the -d option support of other dates 2022-05-06 09:23:46 +02:00
Sylvestre Ledru
a60f6dc67e Update num-traits for real 2022-05-06 08:38:10 +02:00
dependabot[bot]
97c59d7857 build(deps): bump num-traits from 0.2.14 to 0.2.15
Bumps [num-traits](https://github.com/rust-num/num-traits) from 0.2.14 to 0.2.15.
- [Release notes](https://github.com/rust-num/num-traits/releases)
- [Changelog](https://github.com/rust-num/num-traits/blob/master/RELEASES.md)
- [Commits](https://github.com/rust-num/num-traits/compare/num-traits-0.2.14...num-traits-0.2.15)

---
updated-dependencies:
- dependency-name: num-traits
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-06 08:38:10 +02:00
Sylvestre Ledru
8e8203ebdb
Merge pull request #3487 from jfinkels/mktemp-simpler-error
mktemp: return MkTempError from parse_template()
2022-05-06 08:35:54 +02:00
Daniel Hofstetter
be1f41e24c df: set names for arg values & add missing space 2022-05-06 08:02:22 +02:00
Terts Diepraam
a711597619
Merge pull request #3481 from cakebaker/refactor_tests_in_table_rs
df: implement Default for Row for unit tests
2022-05-06 00:15:33 +02:00
Jeffrey Finkelstein
e691330f02 mktemp: return MkTempError from parse_template()
Change the return type of the `parse_template()` helper function in
the `mktemp` program so that it returns `Result<..., MkTempError>`
instead of `UResult<...>`. This separates the lower level helper
function from the higher level `UResult` abstraction and will make it
easier to refactor this code in future commits.
2022-05-05 17:58:37 -04:00
Sylvestre Ledru
65d0f5ba9f to_local: manage the error 2022-05-05 22:56:11 +02:00
Sylvestre Ledru
e70b99dad0 touch: add support of -d '1970-01-01 18:43:33.023456789' 2022-05-05 22:56:10 +02:00
Sylvestre Ledru
309347e218
Merge pull request #3478 from uutils/dependabot/cargo/xattr-0.2.3
build(deps): bump xattr from 0.2.2 to 0.2.3
2022-05-05 22:37:05 +02:00
Terts Diepraam
6e7abb3320
Merge pull request #3430 from cakebaker/human_readable
df: extract HumanReadable from BlockSize
2022-05-05 12:43:59 +02:00
Sylvestre Ledru
75ea1f1fc3
Merge pull request #3457 from tertsdiepraam/clap-exit-code
`clap` exit code
2022-05-05 11:44:24 +02:00
Daniel Hofstetter
00a3ec2d1f df: implement Default for Row for unit tests 2022-05-05 09:37:40 +02:00
Daniel Hofstetter
46e029f34c df: refactor HumanReadable handling
The refactoring consists of three parts:
1) Introduction of SizeFormat & HumanReadable enums
2) Addition of a size_format field to the options struct
3) Movement of header logic from BlockSize to Header
2022-05-05 09:37:17 +02:00
Sylvestre Ledru
e06fe3c8f8
Merge pull request #3480 from cakebaker/set_min_width_for_used_column
df: set min width of "Used" column to 5
2022-05-05 07:59:45 +02:00
Sylvestre Ledru
84f24aed8f
Merge pull request #3476 from ackerleytng/main
du: use USimpleError instead of set_exit_code
2022-05-05 07:59:20 +02:00
Sylvestre Ledru
cbe39b4154
Merge pull request #3456 from cakebaker/ticket_3193
df: fix "Size" column header
2022-05-05 07:58:48 +02:00
Terts Diepraam
c7b7f19559 cp: use new clap error mechanism 2022-05-04 21:32:14 +02:00
Terts Diepraam
2409726258 base: set exit code to 1 for clap errors 2022-05-04 21:32:14 +02:00
Terts Diepraam
1bb85acc71 nice: set exit code for clap errors to 125 2022-05-04 21:32:14 +02:00
Terts Diepraam
8df253da69 cat: set exit code for invalid arguments to 1 instead of 2 2022-05-04 21:32:14 +02:00
Terts Diepraam
7b84261df4 uucore/error: add custom exit codes for clap errors
This allows us to use clap errors as UResult and specify the exit code for invalid arguments per util.
2022-05-04 21:32:04 +02:00
Ackerley Tng
88a62c4922 du: use common error methods with show! instead of set_exit_code 2022-05-04 07:33:19 -07:00