Commit graph

6105 commits

Author SHA1 Message Date
Arvid Norlander
215803ec8d stty: Support for --file/-F
Fixes issue #3863
2023-02-22 16:38:18 +01:00
Terts Diepraam
ed30869b45 fix spell checker error in mkdir.md 2023-02-22 16:23:27 +01:00
Koki Ueha
52902f6e99 nohup: move help strings to markdown file 2023-02-22 10:41:49 +00:00
Terts Diepraam
60d2df56de
Merge pull request #4164 from jfinkels/dd-fifo-seek
dd: allow skipping and seeking in FIFOs
2023-02-22 10:38:45 +01:00
Terts Diepraam
8448d45dcf
Merge pull request #4411 from chenchiii/sleep-move-help-strings-to-md-file
sleep: move help strings to markdown file
2023-02-22 10:29:43 +01:00
Terts Diepraam
33c2c7d1c0
Merge pull request #4403 from jhowww/mkdir-move-help-strings-to-md-file
mkdir: move help strings to markdown file
2023-02-22 10:27:23 +01:00
Terts Diepraam
c3f7be1994
Merge branch 'main' into basename-move-help-strings-to-md-file 2023-02-22 10:25:03 +01:00
Cheng-Hao
4cbf9a6398 rm: move help strings to markdown file 2023-02-21 18:50:47 -08:00
Cheng-Hao
ab5d0b6b9d rmdir: move help strings to markdown file 2023-02-21 18:28:35 -08:00
Chen Chi
ddd40fda6b sleep: move help strings to markdown file 2023-02-21 15:56:52 -08:00
Guilherme A. de Souza
7d7b9eb49a
Migrate from atty to is-terminal (#4382) 2023-02-21 21:52:18 +01:00
Cheng-Hao
e6fec39db1 mkdir: update markdown naming for consistency 2023-02-21 11:05:35 -08:00
papparapa
4e7ae2d46a
du: move help strings to markdown file (#4384) 2023-02-21 16:51:59 +01:00
Yang Hau
9322580967 Add checksum algorithm abstractions 2023-02-21 21:14:58 +08:00
Cheng-Hao
7cfeba0d22 mkdir: move help strings to markdown file 2023-02-20 16:29:20 -08:00
David Matos
dd4299c32e chmod: supress verbose output when not verbose 2023-02-20 22:18:07 +01:00
David Matos
fe4da2b8e5 cp: modify archive flag to copy dir contents rather than dir 2023-02-20 16:49:33 +01:00
Terts Diepraam
cc0a77d357
Merge pull request #4395 from papparapa/kill-move-help-strings-to-md-file
kill: move help strings to markdown file
2023-02-20 14:16:42 +01:00
Koki Ueha
9bf9bba7c3 kill: move help strings to markdown file 2023-02-20 11:56:39 +00:00
Koki Ueha
e0470c0294 tac: move help strings to markdown file 2023-02-20 11:30:33 +00:00
curtain
f70d23b018
basename: update format according to #4385 2023-02-20 18:13:36 +08:00
Thayne McCombs
3acd75bcc4 cp: Use PathBuf instead of String for paths
I think this should avoid unnecessarily validating utf-8, and avoids a few allocations.
2023-02-19 23:32:17 -07:00
curtain
ff6f61276e
basename: move help strings to markdown file 2023-02-20 14:25:00 +08:00
Kyle Manna
05db5f7442 install: address merge request feedback
* Explicitly handle Err() in match.
* Move metdata functions deeper into `chown_optional_user_group()`.
* Add `ChownFailed` to propagate errors.
* Use `show_if_err!()` to wrap `chown_optional_user_group`.
* Simplify chown verbose message handling.
2023-02-19 11:47:45 -06:00
Koki Ueha
044f3d3a43 yes: move help strings to markdown file 2023-02-19 14:54:33 +00:00
Sylvestre Ledru
f77a44df8b
Merge pull request #4385 from cakebaker/uucore_procs_help_about
uucore_procs: extract "about" and "usage" info from new help structure
2023-02-19 11:47:18 +01:00
Yang Hau
109553436d add function profile 2023-02-19 18:09:34 +08:00
Kyle Manna
376f4d90ef install: add tests for invalid owner and group
* Move the user and group resolution to the behavior decoding instead of
  re-running on every file/directory creation.  Simplifies code.
* Update error output to match GNU coreutils.
* Add tests to verify invalid owner and group.
2023-02-18 22:46:12 -06:00
Kyle Manna
5876cd2581 install: add missing directory chown
* Re-factor the copy function chown into a function that can be re-used.
* Fix bug where the group overwrote the user.
* Add chown compatibility to follow GNU coreutils.
* Reduce two chown calls to a single syscall only when needed.
* Fixes #4361
2023-02-18 22:46:12 -06:00
Kyle Manna
7aa7f219a0 install: fix issue #4360 with bad target directory permissions
* Correct bug that set the last directory to the mode the file should
  have been set to.
* Add unit test to verify correct functionality.
2023-02-18 22:32:31 -06:00
Yang Hau
2cd19522e4 fix: Fix panic in multi-byte characters
Closes #4353
2023-02-19 10:15:53 +08:00
Jeffrey Finkelstein
c52647a632 dd: add support for skipping in input FIFO
For example, `dd skip=1 if=fifo` will now work.
2023-02-18 21:24:16 +01:00
Jeffrey Finkelstein
9c3f810f97 dd: add support for seeking in output FIFOs
For example, `dd seek=1 of=fifo` will now work.
2023-02-18 21:24:16 +01:00
Jeffrey Finkelstein
cf72c990f2 dd: create Source enum and simpler Input struct
This mirrors a recent commit that introduced the `Dest` enum and a
simplified `Output` struct. These changes allow us to add new types of
inputs and output more easily.
2023-02-18 21:24:16 +01:00
Yang Hau
678a11dcf2 cksum: Implement option -a
Implement option -a --algorithm.
Move digest to src/uucore/src/lib/features and rename it to hash.

fix lint

fix Cargo.toml
2023-02-18 20:58:53 +08:00
Daniel Hofstetter
dcc7c4ed7b Use help_about! & adapt help files for its usage 2023-02-17 16:40:22 +01:00
Daniel Hofstetter
2c027a9312 uucore_procs: add help_about macro 2023-02-17 15:39:26 +01:00
Daniel Hofstetter
1ba0c6853c uucore_procs: drop need for "Usage" header in help 2023-02-17 14:51:40 +01:00
Daniel Hofstetter
94eddc4701 uucore_procs: separate file opening & parsing 2023-02-17 11:37:25 +01:00
Terts Diepraam
9fdce975fd
Merge pull request #4359 from dmatos2012/chmod-multiple-files-error
chmod: change permissions for files present even when there is a missing file
2023-02-17 11:27:32 +01:00
David Matos
946c8d2d4a chmod: change permissions for files present even when there is a missing file 2023-02-16 23:13:06 +01:00
Zaú Júlio
9e2c543cd4
mktemp: prefix prefix_of_template use to_string_lossy
Co-authored-by: Terts Diepraam <terts.diepraam@gmail.com>
2023-02-16 18:43:32 -03:00
ZauJulio
af4ce911c8
mktemp: fix PrefixContainsDirSeparator verification 2023-02-16 17:48:23 -03:00
Joining7943
cca54089fb tail: Cargo.toml: Remove unneeded features of uucore and the nix dependency 2023-02-16 20:00:38 +01:00
Terts Diepraam
ff5000d4d0
Merge pull request #4239 from Joining7943/tail-fix-parsing-of-sleep-interval
`tail`: fix argument parsing of sleep interval
2023-02-16 15:14:53 +01:00
Sylvestre Ledru
d3fc0e8706
Merge pull request #4314 from cakebaker/comm_total_with_output_delimiter
comm: use delimiter on "total" line
2023-02-16 14:24:02 +01:00
Koki Ueha
5cc9130490 cat: move help strings to markdown file 2023-02-16 10:47:34 +00:00
papparapa
34e31f20e7
cp: move help strings to markdown file (#4372)
* cp: move help strings to markdown file

* cp: change markdown section order
2023-02-16 11:23:32 +01:00
Daniel Hofstetter
675c55ba01 stat: fix markdown formatting 2023-02-15 16:16:10 +01:00
Sylvestre Ledru
76034a8fe2
Merge pull request #4367 from cakebaker/replace_get_long_usage_fn_with_const
Replace get_long_usage fns with const
2023-02-15 08:18:36 +01:00
Terts Diepraam
df7fe29095
Merge pull request #4339 from howjmay/tr-newline
tr: Remove the extra newline in stderr
2023-02-14 22:58:40 +01:00
Guilherme A. de Souza
04b6d806a2
nproc: replace num_cpus crate with thread::available_parallelism (#4352)
* nproc: replace num_cpus crate with std:🧵:available_parallelism

* nproc: unwrap Result for Windows

* nproc: if thread::available_parallelism results in err return 1

* nproc: wrap the call to available_parallelism into a function

* nproc: remove comment in the wrong place

* nproc: fix style violation

* nproc: fix comment, refers to the new function
2023-02-14 22:43:09 +01:00
Yang Hau
ec81a23afc tr: Remove the extra newline in stderr
closes #4301
2023-02-15 02:04:43 +08:00
Daniel Hofstetter
99f3fc8356 Replace get_long_usage fns with const 2023-02-14 09:51:28 +01:00
Bart Massey
abc5cfb950 coreutils: fixed panic when multi-call binary has empty or non-UTF-8 name
The multi-call `coreutils` binary starts by trying to
convert its invocation path into a UTF-8 string, panicking
if this doesn't work.

This patch makes `coreutils` exit gracefully in this case.
2023-02-14 00:24:22 -08:00
Jeffrey Finkelstein
c6d9d7f11c Clippy fixes 2023-02-13 21:33:42 -05:00
Daniel Hofstetter
c433f8b475 uniq: remove suppression of use_self lint 2023-02-13 08:53:26 +01:00
Joining7943
0ed6a9f882 tail: Fix parsing of sleep interval. Use duration parser from fundu crate.
Activate tests for parsing sleep interval
2023-02-12 20:23:55 +01:00
Thayne McCombs
5b190dbf76 Stop saying --sparse is not implemented for cp
It is implemented, so update the --help text to reflect that
2023-02-12 01:41:36 -07:00
Terts Diepraam
bf8e9333f6 tee: use retain_mut from std instead of the deprecated retain_mut crate 2023-02-11 18:54:55 +01:00
Terts Diepraam
ae27c82020 Use workspace inheritance for dependencies 2023-02-11 18:54:46 +01:00
Terts Diepraam
d60fc40f2f Clippy fixes for MSRV 1.64 2023-02-11 13:59:50 +01:00
Yang Hau
0b1edd33fc rm: Remove remove_dir_all dependency
Closes #4335
2023-02-11 01:04:30 +08:00
Terts Diepraam
152be8527d update blake2_simd to 1.0.1
This fixes the duplicate constant-time-eq dependency.
2023-02-10 09:56:24 +01:00
Terts Diepraam
357001dabc fix double dependency of memoffset by upgrading nix, libc and ctrlc 2023-02-09 14:02:40 +01:00
Yang Hau
6299b418f5 typo 2023-02-09 00:33:54 +08:00
Daniel Hofstetter
d4cd4d310f ln: fix format of help text 2023-02-08 15:00:35 +01:00
Daniel Hofstetter
ba7a222a55 Start about texts with uppercase char 2023-02-07 14:54:25 +01:00
Daniel Hofstetter
a2796d4585 env: start about text with uppercase char 2023-02-07 10:20:04 +01:00
Daniel Hofstetter
ccf999473c comm: use delimiter on "total" line 2023-02-07 09:22:55 +01:00
Sylvestre Ledru
486defe893
Merge pull request #4313 from cakebaker/ptx_remove_unnecessary_join
ptx: fix warning from unnecessary_join lint
2023-02-05 21:23:36 +01:00
Daniel Hofstetter
ee261359bd ptx: fix warning from unnecessary_join lint 2023-01-30 10:11:40 +01:00
Sylvestre Ledru
00717a6440
Merge pull request #4308 from ctsk/chore/clippy-warnings
clippy: fix unnecessary return warnings
2023-01-30 09:25:20 +01:00
dependabot[bot]
204d96b7df
build(deps): bump regex from 1.7.0 to 1.7.1
Bumps [regex](https://github.com/rust-lang/regex) from 1.7.0 to 1.7.1.
- [Release notes](https://github.com/rust-lang/regex/releases)
- [Changelog](https://github.com/rust-lang/regex/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rust-lang/regex/compare/1.7.0...1.7.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-01-30 06:13:54 +00:00
ctsk
ef32061f82 clippy: fix unnecessary return warnings 2023-01-29 22:09:11 +01:00
Sylvestre Ledru
efc70ade68
Merge pull request #4260 from sbentmar/expand-fix-perl-failures
expand: improve plus specifier handling
2023-01-28 18:15:08 +01:00
Sylvestre Ledru
d8c3205d4c
Merge pull request #4300 from cakebaker/comm_total
comm: implement --total
2023-01-28 18:14:17 +01:00
Sylvestre Ledru
a75cfd9655
Merge pull request #4171 from uutils/dependabot/cargo/blake3-1.3.2
build(deps): bump blake3 from 1.3.1 to 1.3.2
2023-01-28 01:16:04 +01:00
dependabot[bot]
423ff9fe8b build(deps): bump gcd from 2.1.0 to 2.2.0
Bumps [gcd](https://github.com/frewsxcv/rust-gcd) from 2.1.0 to 2.2.0.
- [Release notes](https://github.com/frewsxcv/rust-gcd/releases)
- [Commits](https://github.com/frewsxcv/rust-gcd/compare/2.1.0...2.2.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-01-27 21:10:27 +01:00
Sylvestre Ledru
13fac01d31
Merge branch 'main' into dependabot/cargo/blake3-1.3.2 2023-01-27 21:10:06 +01:00
Sebastian Bentmar Holgersson
999957791a expand: minor simplification of mode logic 2023-01-27 21:08:16 +01:00
Sebastian Bentmar Holgersson
1bf723fe40 expand: fix formatting issues and cleanup 2023-01-27 21:08:16 +01:00
Sebastian Bentmar Holgersson
69d8729598 expand: replace while loop with constant time algorithm 2023-01-27 21:08:16 +01:00
Sebastian Bentmar Holgersson
ddc6fabca0 expand: all perl tests passing 2023-01-27 21:08:16 +01:00
Sebastian Bentmar Holgersson
cbab8677e6 expand: improve handing of + 2023-01-27 21:08:16 +01:00
TechHara
3ad36a49cb
cut: refactor (#4255)
refactors `cut field` logic to reduce code duplication by factoring out the common `Searcer`, which is _templatized_ on a specific `Matcher` -- `ExactMatcher` for an explicit delimiter and `WhitespaceMatcher` for white-space delimiter.

before
- code duplication in `Searcher` and `WhitespaceSearcher`
- code duplication in `cut_fields` and `cut_fields_whitespace`

after
- two versions of `Matcher`s
- one `Searcher`
- simplify `cut_fields` by delegating actual work to specific functions
2023-01-27 21:07:36 +01:00
Daniel Hofstetter
f6b646e4e5 clippy: fix warnings introduced with Rust 1.67.0 2023-01-27 17:37:56 +01:00
Daniel Hofstetter
b06485990d comm: implement --total 2023-01-24 16:49:43 +01:00
Sylvestre Ledru
dce8a021da
Merge pull request #4299 from Joining7943/fix-4298-build-fails-on-s390x-and-risc64
`uucore`: Fix #4298: Fails to build on s390x (and riscv64)
2023-01-24 11:47:20 +01:00
Joining7943
9796e70a28 uucore: Fix #4298: Build on s390x and riscv64 architectures fails 2023-01-23 21:13:59 +01:00
Sylvestre Ledru
2df4aaccd9
Merge pull request #4263 from cakebaker/od_cleanup_format_strings
od: remove "width = width" from format strings
2023-01-22 21:32:59 +01:00
Sylvestre Ledru
6f95f0953b
Merge pull request #4271 from eds-collabora/eds/nice
Support legacy argument syntax for nice
2023-01-22 20:57:08 +01:00
Sylvestre Ledru
f30124e497 uname: use the same version of platform-info as arch 2023-01-21 23:24:53 +01:00
Terts Diepraam
4d3dc78686 Version 0.0.17 2023-01-21 10:38:18 +01:00
Emil Suleymanov
50c1833c11
cp: require preserve only certain attributes (#4099)
* cp: require preserve only certain attributes

# Conflicts:
#	src/uu/cp/src/copydir.rs
#	src/uu/cp/src/cp.rs

* tests/cp: preserve all and preserve xattr tests with todos

* tests/cp: rename preserve tests

* tests/cp: add android fail test for preserve=xattr

On Android, this cp with explicit preserve of xattr must fail, because of the limitations of the filesystem setup used on Android.

* cp: verify some metadata in cp preserve tests

# Conflicts:
#	tests/by-util/test_cp.rs

* cp: run test_cp_preserve_all in all OS's but only check metadata on linux

* test/cp: don't expect the mode to change in explicit cp preserve

* cp: attributes struct instead of enum for unified required tracking

* cp: refactor preserver and handle_preserve

# Conflicts:
#	src/uu/cp/src/cp.rs

* cp: update preserve attr to max

* test/cp: fix the preserve xattr test

Access timestamps appear to be modified only in this test. Running the command directly does not alter the access timestamp.

* cp/test: preserve all and context case

* cp: fix preserve args value source

* test/cp: don't check mtime on freebsd

* test/cp: don't check mtime on macos

* test/cp: fix freebsd deps

* test/cp: support freebsd tests

* cp: simplify try_set_from_string

* cp: parse context attr in preserve in any case to show warning later

* cp: print warnings for attribute errors if not required

* cp: show SELinux warning only once

* cp: show SELinux warning without error

* Revert "cp: show SELinux warning without error"

This reverts commit d130cf0d8c8e28ac2c903413992613241decf879.

* cp: add documentation for preserve components

* cp: simplify try_set_from_string

* cp: EN_US "behavior" spelling for cspell
2023-01-19 13:02:06 +01:00
Ed Smith
34e10f9aa8 nice: Remove use of show_warning
This is required to pass the GNU nice test suite. Failure to produce
the advisory message when unable to change the process priority must
be fatal, and without this commit our version of nice will exit, but
before the commit the exit code will be 101 (due to eprintln!
panicking), and it must be 125 to pass the test suite.

Signed-off-by: Ed Smith <ed.smith@collabora.com>
2023-01-18 11:44:41 +01:00
Ed Smith
07e7372311 nice: Permit --adjustment to be specified multiple times
This is tested by the GNU coreutils test suite, and the
correct behaviour is the last specification wins.

Signed-off-by: Ed Smith <ed.smith@collabora.com>
2023-01-18 11:44:41 +01:00
Ed Smith
8aa9f346ef Support legacy argument syntax for nice
This introduces an argument preprocessing step for the nice tool in
order to support the legacy nice adjustment syntax (`nice -1 foo`,
`nice --1 foo`, `nice -+1 foo` and so forth).

This is a preprocessing step because the interaction between these
arguments and the existing `nice -n -1` syntax becomes context
dependent, in a way that is currently difficult to capture through
clap.

Signed-off-by: Ed Smith <ed.smith@collabora.com>
2023-01-18 11:44:41 +01:00
Sylvestre Ledru
8c137f5d7c
Merge pull request #4278 from cakebaker/sum
sum: fix output when using BSD sum algo (-r)
2023-01-18 11:33:41 +01:00
Sylvestre Ledru
afbe850115
Merge pull request #4279 from rivy/up.uname
change/uname ~ update and revise
2023-01-18 11:33:29 +01:00
Sylvestre Ledru
f12202e39c
Merge pull request #4281 from cakebaker/default_trait_access
clippy: use type name instead of Default::default
2023-01-18 11:33:09 +01:00
Daniel Hofstetter
3489647407 cp: remove empty line from version output 2023-01-18 10:20:17 +01:00
Daniel Hofstetter
e09d718ca7 join: remove NAME constant 2023-01-17 16:10:32 +01:00
Daniel Hofstetter
f50c352adc clippy: use type name instead of Default::default 2023-01-16 10:52:28 +01:00
Roy Ivy III
03e55d2ecb docs ~ update spell-checker exceptions 2023-01-14 22:53:26 -06:00
Roy Ivy III
ead457171b refactor/uname ~ rename vars to standards 2023-01-14 22:53:26 -06:00
Roy Ivy III
759f32fe4f fix/uname ~ correct --all help description 2023-01-14 22:53:25 -06:00
Roy Ivy III
b5eaa8822f fix/uname ~ strip any trailing NUL(s) from nodename() (from bug in platform-info) 2023-01-14 22:53:25 -06:00
Roy Ivy III
27d20129fe fix/dd ~ correct usage error display text 2023-01-13 22:14:48 -06:00
Roy Ivy III
3d93e25160 fix/touch ~ correct usage error display text 2023-01-13 22:14:48 -06:00
Roy Ivy III
10f35fc282 refactor/uname ~ use platform_info-v1.0.2 2023-01-13 22:13:26 -06:00
Daniel Hofstetter
747bc2513e sum: fix output when using BSD sum algo (-r) 2023-01-13 10:05:09 +01:00
Sylvestre Ledru
6a9660f9f6
Merge pull request #4268 from rivy/fix.sleep
Fix `sleep` argument parsing and errors
2023-01-12 18:41:04 +01:00
Sylvestre Ledru
22821c8ac6
Merge pull request #4272 from cakebaker/mv_remove_unnecessary_not
mv: remove unnecessary "!"
2023-01-12 18:32:31 +01:00
Daniel Hofstetter
74ed737460 remove NAME constants 2023-01-12 15:21:11 +01:00
Sylvestre Ledru
74c9abb359
Merge pull request #4274 from cakebaker/sum_fix_output_of_about_string
sum, unexpand: fix output of about string
2023-01-11 16:33:39 +01:00
Daniel Hofstetter
5ad3cbe965 unexpand: fix output of about string 2023-01-11 15:55:37 +01:00
Daniel Hofstetter
0f79b3cf2d sum: fix output of about string 2023-01-11 14:44:59 +01:00
Sylvestre Ledru
46cac1145b
Merge pull request #4273 from cakebaker/pr_help_output
pr: add missing '\' before line breaks
2023-01-11 14:16:05 +01:00
Terts Diepraam
9ccfb025cf
Merge pull request #4264 from cakebaker/pr_seq_simplify_format_strings
pr,seq: simplify format strings
2023-01-11 13:17:13 +01:00
Daniel Hofstetter
073e6c8f62 pr: add missing '\' before line breaks 2023-01-10 10:55:36 +01:00
Daniel Hofstetter
aff18258e9 mv: remove unnecessary "!" 2023-01-09 09:38:37 +01:00
Roy Ivy III
5abeb012e8 fix/sleep: improve match of error output to GNU practices 2023-01-08 12:10:32 -06:00
Daniel Hofstetter
fe9779261f csplit: rename var to simplify format strings 2023-01-07 15:05:34 +01:00
Daniel Hofstetter
cc1f109906 pr,seq: simplify format strings 2023-01-06 10:39:43 +01:00
Daniel Hofstetter
83f76c514a od: remove "width = width" from format strings 2023-01-06 09:32:23 +01:00
Daniel Hofstetter
212ad777fc pr: remove commented out code line 2023-01-04 15:20:45 +01:00
Terts Diepraam
36f3507bed
Merge pull request #4232 from TechHara/whitespace
cut: add whitespace option for separating fields
2023-01-01 12:58:28 +01:00
Roy Ivy III
8753fb95c3 fix/expr: EXIT_CODE=1 for any return output parsable to 0 (or empty) 2022-12-29 22:49:02 -06:00
Roy Ivy III
fe954e5825 fix/expr: repair off-by-1 index operator error 2022-12-29 22:49:02 -06:00
dependabot[bot]
278e21b81b build(deps): bump blake3 from 1.3.1 to 1.3.2
Bumps [blake3](https://github.com/BLAKE3-team/BLAKE3) from 1.3.1 to 1.3.2.
- [Release notes](https://github.com/BLAKE3-team/BLAKE3/releases)
- [Commits](https://github.com/BLAKE3-team/BLAKE3/compare/1.3.1...1.3.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-12-26 10:25:33 +01:00
trasua
ef8f92f720 uucore: add options to parse_size::Parser to support parse_byte_count() in sort.rs 2022-12-26 10:23:20 +01:00
jaggededgedjustice
b8a755a396
date: Catch panic from invalid format string (#4240)
* Catch panic from invalid date string
2022-12-25 21:11:34 +01:00
TechHara
276b115c02 remove clippy allow; fmt 2022-12-23 09:56:21 -05:00
TechHara
20761fe422 simplify 2022-12-23 02:18:16 -05:00
TechHara
a53dcba6d3 mark fixme item -- use char for delimiter 2022-12-22 21:38:47 -05:00
TechHara
a549589682 fix clippy warnings 2022-12-21 08:01:31 -05:00
TechHara
f2a7175144 enum Delimiter; misc changes 2022-12-20 20:37:31 -05:00
Daniel Hofstetter
a0522f5cbd clippy: fix some "unnested or-patterns" warnings 2022-12-20 16:07:37 +01:00
TechHara
c29839f4f9 Merge branch 'main' into whitespace 2022-12-18 09:07:03 -05:00
TechHara
df8ce0c999 ignore multispace cspell 2022-12-18 09:06:47 -05:00
Joining7943
ca0414d867 clippy: Allow some unnecessary casts 2022-12-16 18:37:50 +01:00
Joining7943
c94a039358 clippy and doc: Fix warnings, mostly needless conversions. Fix documentation warning. 2022-12-16 18:36:27 +01:00
TechHara
bae78e62e0
Merge branch 'main' into whitespace 2022-12-15 22:23:03 -05:00
Sylvestre Ledru
c5728a61b4
fix some clippy warnings (#4229)
* fix some clippy warnings

* Fix the last two
2022-12-14 15:42:07 +01:00
Terts Diepraam
e4bed1c087
Merge pull request #4135 from Joining7943/refactor-tail-check-warnings
`tail`: Refactor handling of warnings and early exits
2022-12-14 13:21:54 +01:00
TechHara
4e2cfdb8ce add more comments 2022-12-14 04:07:12 -05:00
TechHara
76f818da05 fix whitespace 2022-12-13 21:02:16 -05:00
TechHara
27dfe63f4c add comments on the function logic 2022-12-13 20:57:46 -05:00
TechHara
db829321fc remove clippy complex 2022-12-13 11:51:05 -05:00
TechHara
5867a47f21 fix clippy complaint 2022-12-13 11:49:26 -05:00
TechHara
17c48e13f4 specify that cut -w is freebsd extension 2022-12-13 11:30:58 -05:00
TechHara
866a6d25c8 fix clippy complaint 2022-12-13 11:20:34 -05:00
Joining7943
b339f6d80c tests/tail: Add all additional tests written during refactoring tail from tip of refactoring branch
Other changes summmary:
* Use module level imports instead of fully qualified imports where appropriate
* Fix intermittent failing test_positive_zero_bytes because of broken pipe
* Cleanup old disabled test for warning of following indefinitely
2022-12-13 16:16:14 +01:00
Joining7943
93654d4504 tail: Add documentation for Settings::check_warnings and Settings::verify 2022-12-13 16:16:14 +01:00
Joining7943
2dc8a1b55e tail: Add gnu's warning when following stdin is ineffective. If no pid support set to 0 in Observer. 2022-12-13 16:16:14 +01:00
Joining7943
d57545d09c tail: Refactor: Handle warnings and early exits in one place. Remove InputService ...
Other changes summary:
* Cleanup imports
* Remove stdin_is_pipe_of_fifo function
* Rename WatcherService to Observer
2022-12-13 16:16:08 +01:00
Terts Diepraam
69caa45b01
Merge pull request #4219 from cakebaker/match_wildcard_for_single_variant
chore: fix wildcards that match single variant
2022-12-13 11:57:52 +01:00
Christian
00bbe24639
mv: add progress bar (#4220)
* mv: add progress bar

Similarly to `cp`, adds `-g` and `--progress` flags to enable a progress
bar via indicatif.
2022-12-13 11:46:54 +01:00
TechHara
188d84b154 minimize unnecessary code change 2022-12-13 01:14:14 -05:00
TechHara
f334ae3149 use match guard to minimize 2022-12-13 01:10:48 -05:00
TechHara
50c8bd4c6b fix 2022-12-13 00:48:17 -05:00
TechHara
21cf0b41ab add clippy 2022-12-13 00:11:01 -05:00
TechHara
1cc3f331e7 format 2022-12-12 22:29:31 -05:00
TechHara
6516519af3 Merge branch 'main' into whitespace 2022-12-12 22:07:05 -05:00
Sylvestre Ledru
f9c0ca4383
Merge pull request #4184 from jfinkels/cp-verbose
cp: correct --verbose --parents output for both files and directories
2022-12-12 21:31:15 +01:00
Sylvestre Ledru
c78e077ff2
Merge pull request #4194 from jfinkels/dd-single-byte-written
dd: correct progress line if 1 byte written
2022-12-12 21:30:10 +01:00
TechHara
f6a0abaee3 add whitespace delimiter option 2022-12-12 12:00:57 -05:00
Daniel Hofstetter
81243db948 chore: fix wildcards that match single variant 2022-12-06 10:50:34 +01:00
ctsk
8a837dae21 Tick after creating progress bar to draw it 2022-12-06 10:36:52 +01:00
Kai M
42b9b7b62c
install: fix issue #3814 (#3950)
* install: fix installing one file when using -Dt options

* install: fix installing multiple files with -Dt

Code was missing the logic to create the target dir when multiple files
should be copied and target dir is given by -t option.
This simplifies the copy logic also when only one file should be copied
to the target dir.

* install: fix verbose output when using -D

Also adds a unit test to verify the same behaviour as the gnu tools.

* install: add more testcases for create leading dir

Tests various combinations of "-D" with and w/o "-t" when installing
either a single file or multiple files into a non existing directory.

  install -D file1 file2 (-t) not_existing_dir
  install -D file1 (-t) not_existing_dir/

Also fixes file formatting, spelling and adds some more test asserts.

* install: fix error for nonex. dir path ending on /

The install command failed with a different error message than the
original GNU install tool. Checking for a trailing slash fixes this.
Only works on unix though.

* install: add windows support when checking for '/'

* install.rs: fix spelling

* install.rs: add more tests regarding omitting dir

This increases the CI test coverage and also checks for more corner
cases to ensure uu_install is compliant with GNU's original.

    export C=coreutils/target/debug/

    rm -rf dir1 no-dir2 dir3 file
    mkdir -p dir1 dir3
    touch file

    ${C}install dir1/file1 dir1/.. no-dir2
    ${C}install dir1/file1 dir1/.. dir3
    ${C}install dir1/.. dir3

* install: improve test_install_missing_arguments

Also check that install returns the correct error messages, when only a
target directory is given via -t and that is is not created (-D option).

* install: rework the checks for missing file args

This ensures correct (GNU install like) behavior. Tests from the last
commit will pass now.
2022-12-06 09:11:23 +01:00
Sylvestre Ledru
24340665ee
Merge pull request #4216 from jfinkels/cp-preserve-hardlinks-readability
cp: improve readability of preserve_hardlinks()
2022-12-06 08:44:44 +01:00
Jeffrey Finkelstein
54a36df9ab dd: correct progress line if 1 byte written
Correct the progress report written by `dd` if exactly one byte is
written so that it says "1 byte" instead of "1 bytes".
2022-12-05 21:41:26 -05:00
Jeffrey Finkelstein
1a839fb2c4 cp: correct --verbose --parents output for dirs
This commit corrects the behavior of `cp -r --parents --verbose` when
the source path is a directory, so that it prints the copied ancestor
directories. For example,

    $ mkdir -p a/b/c d
    $ cp -r --verbose --parents a/b/c d
    a -> d/a
    a/b -> d/a/b
    'a/b/c' -> 'd/a/b/c'
2022-12-05 21:37:13 -05:00
Jeffrey Finkelstein
bd665ea44a cp: correct --verbose --parents output for files
This commit corrects the behavior of `cp --parents --verbose` when the
source path is a file so that it prints the copied ancestor
directories. For example,

    $ mkdir -p a/b d
    $ touch a/b/c
    $ cp --verbose --parents a/b/c d
    a -> d/a
    a/b -> d/a/b
    'a/b/c' -> 'd/a/b/c'

Fixes #3332.
2022-12-05 21:36:56 -05:00
Jeffrey Finkelstein
92e1bb98fe cp: improve readability of preserve_hardlinks()
Improve readability of the `preserve_hardlinks()` helper function by
reducing levels of nesting in the body of the function and making it
return a Boolean rather than mutating a Boolean argument.
2022-12-05 21:28:22 -05:00
Sylvestre Ledru
b7925465a8 factor: trim the input to fix some busybox results 2022-12-05 22:49:48 +01:00
Jeffrey Finkelstein
682667fd1d cp: force link between two files that exist
Allow `cp` to link files that exist. For example,

    $ touch src dest
    $ cp -f --link src dest

Before this commit, an error was raised.
2022-12-04 19:36:05 -05:00
Jeffrey Finkelstein
6167de903e cp: restrict permissions when copying FIFO
When copying the contents of a named pipe (also known as a FIFO) via

    cp --preserve=ownership --copy-contents fifo fifo-copy

limit the permissions of the destination file while the contents are
being copied, and then restore the permissions to match those of the
source FIFO when all contents have been copied successfully.
2022-12-03 18:30:47 -05:00
Jeffrey Finkelstein
3a5b31a30f dd: correct rendering of SI and IEC byte counts
Adjust the rendering of the concise byte counts in both SI and IEC
units to better match the behavior of GNU dd.

Before this commit,

    $ 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

After this commit,

    $ head -c 1024 /dev/zero | dd > /dev/null
    2+0 records in
    2+0 records out
    1024 bytes (1.0 kB, 1.0 KiB) copied, 0.0 s, 1.0 MB/s

For comparison, GNU dd produces the following:

    $ head -c 1024 /dev/zero | dd > /dev/null
    2+0 records in
    2+0 records out
    1024 bytes (1.0 kB, 1.0 KiB) copied, 0.000332864 s, 3.1 MB/s
2022-12-03 10:14:00 -05:00
Sylvestre Ledru
3880b463fe
Merge pull request #4185 from jfinkels/uucore-sprintf-2
uucore: add sprintf() function
2022-12-03 10:21:09 +01:00
Sylvestre Ledru
818012e30b
Merge pull request #4193 from jfinkels/touch-relative-time
touch: add support for some relative times
2022-12-03 10:16:21 +01:00
Sylvestre Ledru
8e5d374ec2
Merge pull request #4197 from tertsdiepraam/cleanup-uucore-process
`uucore/process`: remove custom `ExitStatus`
2022-12-03 10:15:48 +01:00
Jeffrey Finkelstein
66ee373373 cp: preserve hard links when target already exists
Prevent a panic in `cp -a` when the target of a hard link already
exists in the target directory structure.

For example,

    $ mkdir -p src dest/src
    $ touch src/f dest/src/f
    $ ln src/f src/link
    $ cp -a src dest

The `cp` command now succeeds without error.
2022-12-02 23:50:18 -05:00
Terts Diepraam
dc828fed2d uucore/process: remove custom ExitStatus 2022-12-02 12:25:14 +01:00
Sylvestre Ledru
3ca6139e0f
Merge pull request #4158 from tertsdiepraam/markdown-in-docs-v1
Markdown in docs v1
2022-12-02 09:39:33 +01:00
Jeffrey Finkelstein
d083fa19c2 uucore: add sprintf() function
Add an `sprintf()` function (and `printf()` function) to
`uucore::memo`.  The `sprintf()` function behaves roughly like the
standard Rust `format!()`, but follows our implementation of the GNU
`printf` formatting logic instead.
2022-12-02 07:48:36 +01:00
Sylvestre Ledru
403780a613
Merge pull request #4196 from cakebaker/cut_remove_unnecessary_return_type
cut: remove unnecessary return type
2022-12-02 07:47:49 +01:00
Daniel Hofstetter
6cc470920f numfmt: derive default impl for FormatOptions 2022-12-01 13:49:23 +01:00
Daniel Hofstetter
9a2174ba02 chore: standardize creation of empty strings 2022-12-01 13:49:23 +01:00
Terts Diepraam
efa0fd498b
Merge pull request #4179 from djedi23/verbose_and_progress
Suspend the progress bar before printing the copied files.
2022-11-30 13:19:58 +01:00
Sylvestre Ledru
033969cf8f
Merge pull request #4181 from cakebaker/split_backticks_are_unbalanced
split: fix "backticks are unbalanced" warnings
2022-11-30 08:38:30 +01:00
Terts Diepraam
b632ba8ff6 numfmt: update help to markdown syntax 2022-11-29 22:54:41 +01:00
Terts Diepraam
bcf3b852c6 expr: update help to markdown syntax 2022-11-29 22:54:41 +01:00
Terts Diepraam
e155a5ea6d uudoc: support after_help and read directly from markdown file 2022-11-29 22:54:41 +01:00
Moïse Valvassori
8b30ead588 add comment to the pregress bar suspension. 2022-11-29 22:54:07 +01:00
Moïse Valvassori
1b004053ac Suspend the progress bar before printing the copied files. 2022-11-29 22:54:07 +01:00
Daniel Hofstetter
ac1790c69e split: fix "backticks are unbalanced" warnings 2022-11-29 22:53:56 +01:00
Jeffrey Finkelstein
9632db4f86 dd: correctly set file size when conv=sparse
Before this commit, if `sparsefile` were a regular file of non-zero
size whose contents are all null bytes, then

    dd if=sparsefile of=outfile conv=notrunc

would have resulted in `outfile` having zero size as reported by
`stat`. After this commit, `outfile` will have the same size as
`sparsefile` (even if the contents are represented sparsely by the
filesystem).
2022-11-29 22:53:18 +01:00
Jeffrey Finkelstein
a396ebd883 touch: add support for some relative times
For example,

    $ touch -d +1 days

Fixes #3964.
2022-11-29 22:53:13 +01:00
Daniel Hofstetter
be7717b2d0 cut: remove unnecessary return type 2022-11-29 22:52:58 +01:00
Sylvestre Ledru
af804df9a2
Merge pull request #4166 from miles170/issue-4080-cp-fails-on-mac
cp: fix `cp --force --backup f f` fails on macOS
2022-11-21 21:13:35 +01:00
Sylvestre Ledru
edc08f59fb update lscolors to switch to nu_ansi_term 2022-11-20 13:46:02 +01:00
Miles Liu
3896aa31be
cp: fix cp --force --backup f f fails on macOS 2022-11-20 18:14:42 +08:00
Jeffrey Finkelstein
903ad1656d dd: move tests of slow reader to test_dd.rs
Move some tests that simulate a slow reader from `dd.rs` to
`tests/by-util/test_dd.rs`, and employ a FIFO and `sleep()` to
simulate the slow reader instead of a custom struct that implements
`Read`. This change restricts the type of `Input`s the
`Output::dd_out()` function can accept, facilitating a future change
to make `Input` an enum.
2022-11-19 09:27:23 -05:00
Terts Diepraam
5acb0227aa
Merge pull request #4134 from jfinkels/dd-output-enums
dd: create Dest enum and simpler Output struct
2022-11-19 14:52:46 +01:00
Terts Diepraam
1b35e467ac
Merge pull request #4137 from jfinkels/dd-bytes-suffix
dd: allow B as a suffix for count, seek, and skip
2022-11-19 12:23:43 +01:00
Miles Liu
b2b3512749
stat: remove unused import 2022-11-19 17:37:59 +08:00
Sylvestre Ledru
6d7850549b
Merge pull request #4150 from tertsdiepraam/stat-refactor
`stat` refactor
2022-11-19 09:57:23 +01:00
Jeffrey Finkelstein
701550d76b dd: allow B as a suffix for count, seek, and skip
Allow uppercase "B" on its own as a unit specifier for the `count`,
`seek`, and `skip` arguments to `dd`.

For example,

    $ printf "abcdef" | dd count=3B status=none
    abc
2022-11-18 20:27:42 -05:00
Jeffrey Finkelstein
847378f8d2 uucore: create parse_size::Parser struct
Add a `uucore::parse_size::Parser` struct which will allow future
commits to add fields that change the behavior of `parse_size()`.
2022-11-18 20:27:34 -05:00
Sylvestre Ledru
435ef5da8b
Merge pull request #4132 from tertsdiepraam/sort-accept-sort-mode-multiple-times
`sort`: allow a sort mode to appear multiple times
2022-11-17 21:43:28 +01:00
Terts Diepraam
33cbc94f25 rm: use uucore::prompt_yes over custom prompt function 2022-11-17 15:12:18 +01:00
Terts Diepraam
91df2b1709 mv: use uucore::prompt_yes over custom function 2022-11-17 15:11:19 +01:00
Terts Diepraam
7bb0e8f849 ln: use uucore::prompt_yes over custom function 2022-11-17 15:10:26 +01:00
Terts Diepraam
ed34264b95 cp: use uucore prompt_yes instead of custom 2022-11-17 15:09:34 +01:00
Terts Diepraam
6cdcfca573 uucore: add prompt_yes!() and read_yes()
These functions are based on existing functions and macros
in utils `cp`, `ln`, `mv ` and `rm`. This unifies the separate
implementations.
2022-11-17 15:06:49 +01:00
Sylvestre Ledru
14f22a26b8
Merge pull request #4152 from uutils/dependabot/cargo/digest-0.10.6
build(deps): bump digest from 0.10.5 to 0.10.6
2022-11-17 10:29:07 +01:00
dependabot[bot]
59c9063248
build(deps): bump digest from 0.10.5 to 0.10.6
Bumps [digest](https://github.com/RustCrypto/traits) from 0.10.5 to 0.10.6.
- [Release notes](https://github.com/RustCrypto/traits/releases)
- [Commits](https://github.com/RustCrypto/traits/compare/digest-v0.10.5...digest-v0.10.6)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-17 06:13:25 +00:00
Miles Liu
d505df5369
uu: use normal use declarations to import macros 2022-11-17 11:49:23 +08:00
Terts Diepraam
82464b703a stat: remove extend_digits and print_adjusted in favor of format! 2022-11-17 01:25:10 +01:00
Terts Diepraam
3499bdaeac stat: change precision from i32 to Option<usize> 2022-11-17 00:13:20 +01:00
Terts Diepraam
cdb777a243 stat: remove pub after moving tests 2022-11-16 23:47:45 +01:00
Terts Diepraam
b0894f86ed stat: minor cleanup 2022-11-16 23:45:35 +01:00
Terts Diepraam
406df12b18 stat: make OutputType carry data, instead of turning everthing immediately into a string 2022-11-16 22:23:03 +01:00
Terts Diepraam
b0224e8145 stat: move unit tests to stat.rs instead of test_stat.rs 2022-11-16 21:17:39 +01:00
Terts Diepraam
7e5b6400e3 stat: use Flags struct instead of u8 bit manipulation 2022-11-16 21:12:40 +01:00
Terts Diepraam
ad713fd1d9 stat: clean up some comments 2022-11-16 20:48:21 +01:00
Emil Suleymanov
8591d99c1b cp: make --preserve use the defaults when empty 2022-11-16 01:24:26 +01:00
Niyaz Nigmatullin
012bb7e3d8 deps: fix clippy warning for chrono usage 2022-11-15 17:52:20 +02:00
Terts Diepraam
03c40b2db2 sort: allow a sort mode to appear multiple times
A test case for this is `sort -k 2n,2n` which should be accepted, because `n` is
compatible with itself.

Resolves issue #4129.
2022-11-15 14:22:01 +01:00
Jeffrey Finkelstein
4621557ce7 dd: create Dest enum and simpler Output struct 2022-11-15 14:21:54 +01:00
dependabot[bot]
af2833761c build(deps): bump chrono from 0.4.22 to 0.4.23
Bumps [chrono](https://github.com/chronotope/chrono) from 0.4.22 to 0.4.23.
- [Release notes](https://github.com/chronotope/chrono/releases)
- [Changelog](https://github.com/chronotope/chrono/blob/main/CHANGELOG.md)
- [Commits](https://github.com/chronotope/chrono/compare/v0.4.22...v0.4.23)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-15 14:21:20 +01:00
Jeffrey Finkelstein
5ee5681343 dd: don't allocate buffer if count=0
As an optimization, prevent `dd` from allocating buffers for use in
its main loop when `count=0`.
2022-11-12 18:18:16 -05:00
Sylvestre Ledru
81a2abc094
Merge pull request #3903 from tertsdiepraam/cp-progress
`cp`: add progress bar
2022-11-11 09:25:37 +01:00
Sylvestre Ledru
abfccb351f
Fix a clippy warning 2022-11-11 08:20:24 +01:00
Jeffrey Finkelstein
416a742e31 cp: use sparse copy on --sparse=always
Correct the behavior of `cp --reflink=never --sparse=always` so that
it performs a sparse copy. Before this commit, it was incorrectly
performing a dense copy.
2022-11-10 21:43:19 -05:00
Terts Diepraam
42377626f6 docs: document extensions over GNU
docs: fix typos in extensions page
2022-11-11 00:44:44 +01:00
Terts Diepraam
21e691c3b9 cp: add progress bar
Adds the `-g` and `--progress` flags to enable a progress bar via
indicatif.
2022-11-11 00:44:42 +01:00
Emil Suleymanov
1172a7e781
cp: remove interactive mode message on 'no' (#4069) 2022-11-10 12:45:18 +01:00
Sylvestre Ledru
22bbdad46f
Merge pull request #4119 from sylvestre/platform
update to platform-info 1.0.1
2022-11-09 11:24:39 +01:00
Steve Lau
7f7bac29b7 ls: use libc::{major, minor} to calculate device number 2022-11-09 17:13:34 +08:00
Steve Lau
2bb75a92b5 ls: use libc::{major, minor} to calculate device number 2022-11-09 17:09:54 +08:00
Sylvestre Ledru
b0b059e34a update to platform-info 1.0.1 2022-11-08 21:50:14 +01:00
Sylvestre Ledru
b90c2a3083
Merge pull request #4112 from uutils/dependabot/cargo/regex-1.7.0
build(deps): bump regex from 1.6.0 to 1.7.0
2022-11-08 08:54:12 +01:00
Terts Diepraam
526cbae9ce
Merge pull request #4113 from sylvestre/var-env
Weird env variable names should trigger an error.
2022-11-06 21:29:31 +01:00
Sylvestre Ledru
9a5d18b8f6 Weird env variable names should trigger an error.
For example `env a=b=c printenv a=b` should fail

Tested by tests/misc/printenv.sh
2022-11-06 17:35:00 +01:00
dependabot[bot]
26489d47a9
build(deps): bump regex from 1.6.0 to 1.7.0
Bumps [regex](https://github.com/rust-lang/regex) from 1.6.0 to 1.7.0.
- [Release notes](https://github.com/rust-lang/regex/releases)
- [Changelog](https://github.com/rust-lang/regex/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rust-lang/regex/compare/1.6.0...1.7.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-06 13:55:24 +00:00
dependabot[bot]
43c830e609
build(deps): bump terminal_size from 0.2.1 to 0.2.2
Bumps [terminal_size](https://github.com/eminence/terminal-size) from 0.2.1 to 0.2.2.
- [Release notes](https://github.com/eminence/terminal-size/releases)
- [Commits](https://github.com/eminence/terminal-size/compare/v0.2.1...v0.2.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-06 13:55:09 +00:00
Sylvestre Ledru
446df9da5a
Merge branch 'main' into cp-backup-force 2022-11-06 07:24:48 +01:00
Sylvestre Ledru
47e3149e85
Merge pull request #3978 from jfinkels/cp-copy-contents-fifo
cp: implement --copy-contents option for fifos
2022-11-06 07:23:25 +01:00
Jeffrey Finkelstein
5b100fef62 cp: implement --copy-contents option for fifos
Implement the `--copy-contents` option when the source is a FIFO, so
that the contents of the FIFO are copied (when the bytes become
available for reading) instead of the FIFO object itself. For example,

    $ mkfifo fifo
    $ cp --copy-contents fifo outfile &
    [1] 1614080
    $ echo foo > fifo
    $ cat outfile
    foo
    [1]+  Done                    cp --copy-contents fifo outfile
2022-11-05 19:25:37 -04:00
Jeffrey Finkelstein
fbed01dd54 cp: force copying file to itself with --backup
Fix the behavior of `cp` when both `--backup` and `--force` are
specified and the source and destination are the same file.  Before
this commit, `cp` terminated without copying and without making a
backup. After this commit, the copy is made and the backup file is
made. For example,

    $ touch f
    $ cp --force --backup f f

results in a backup file `f~` being created.
2022-11-05 19:23:50 -04:00
Sylvestre Ledru
6bc68cdcdf
Merge branch 'main' into refactor/add_nix_error_auto_conversion 2022-11-04 12:54:35 +01:00
Orhun Parmaksız
be49eb68f3
fix: address test failures 2022-11-04 13:35:54 +03:00
Daniel Hofstetter
7df36bb153 mv: fix "needless borrow" clippy warnings 2022-11-04 10:07:21 +01:00
Daniel Hofstetter
96ef306cb3 Fix "unwrap or else default" clippy warning 2022-11-04 10:07:21 +01:00
Daniel Hofstetter
59f37d88d0 rm: fix "needless borrow" clippy warnings 2022-11-04 10:07:21 +01:00
Sylvestre Ledru
d76da1dc95
Merge pull request #4106 from bnjbvr/remove-unused-dependencies2
Remove unused dependencies
2022-11-04 09:24:06 +01:00
dependabot[bot]
c44c7ac7b2
build(deps): bump num_cpus from 1.13.1 to 1.14.0
Bumps [num_cpus](https://github.com/seanmonstar/num_cpus) from 1.13.1 to 1.14.0.
- [Release notes](https://github.com/seanmonstar/num_cpus/releases)
- [Changelog](https://github.com/seanmonstar/num_cpus/blob/master/CHANGELOG.md)
- [Commits](https://github.com/seanmonstar/num_cpus/compare/v1.13.1...v1.14.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-04 06:07:50 +00:00
Benjamin Bouvier
c2a6f6c77b Remove unused dependencies 2022-11-03 21:14:38 +01:00
Sylvestre Ledru
2d79c4f693
Merge pull request #4091 from dmatos2012/allow-default-value-mktemp
mktemp: allow default missing value
2022-11-03 20:46:11 +01:00
Sylvestre Ledru
f60e861232
Merge pull request #4074 from jfinkels/cp-force-dangling-symlink
cp: restrict copy through dangling symlink with -f
2022-11-03 08:27:41 +01:00
David Matos
53c4b0b81e mktemp: allow default missing value 2022-11-03 08:27:08 +01:00
Sylvestre Ledru
9293cbb05b
Merge pull request #4040 from uutils/dependabot/cargo/binary-heap-plus-0.5.0
build(deps): bump binary-heap-plus from 0.4.1 to 0.5.0
2022-11-03 08:25:30 +01:00
Daniel Hofstetter
2d4810b91b numfmt: allow ' ' as field separator 2022-11-01 10:04:46 +01:00
Daniel Hofstetter
27c233f294 numfmt: allow "-" in field list 2022-10-31 14:53:41 +01:00
Terts Diepraam
ba3bb56041
Merge pull request #4013 from palaster/rm-correct-prompts
rm: rm3 now passes
2022-10-31 10:17:27 +01:00
Sylvestre Ledru
f2f2f7033e
Merge branch 'main' into refactor/add_nix_error_auto_conversion 2022-10-30 15:54:13 +01:00
Sylvestre Ledru
bc126085c4
Merge branch 'main' into cp-force-dangling-symlink 2022-10-29 20:01:07 +02:00
Pat Laster
7049c64790
Merge branch 'main' into rm-correct-prompts 2022-10-29 11:10:20 -05:00
Pat Laster
4b4222ffe3
Bump libc version from "0.2.136" to "0.2.137" 2022-10-29 11:09:52 -05:00
Daniel Hofstetter
3a8feedf2d numfmt: allow hyphen values for --field option 2022-10-29 16:50:41 +02:00
Sylvestre Ledru
b3af47a390
Merge branch 'main' into cp-force-dangling-symlink 2022-10-28 21:24:42 +02:00
Sylvestre Ledru
4b2138e61e
Merge pull request #4087 from uutils/dependabot/cargo/libc-0.2.137
build(deps): bump libc from 0.2.136 to 0.2.137
2022-10-28 21:23:42 +02:00
Pat Laster
c7af9a6a80
Bump libc version from "0.2.135" to "0.2.136" 2022-10-27 13:41:55 -05:00
Pat Laster
c4417bf9b2
Merge branch 'main' into rm-correct-prompts 2022-10-27 13:38:41 -05:00
Sylvestre Ledru
00d93ff451
Merge pull request #4088 from tertsdiepraam/hashsum-test-no-names
hashsum: enable testing --no-names
2022-10-27 19:55:45 +02:00
Daniel Hofstetter
2eb0b6dfe0 numfmt: round values if precision is 0 2022-10-27 15:33:20 +02:00
Sylvestre Ledru
34eabca299 pwd: support the env variable 'POSIXLY_CORRECT'
Should fix tests/misc/pwd-option.sh
2022-10-26 11:40:46 +02:00
Terts Diepraam
96b6252910
Merge pull request #4081 from sylvestre/chown-sep
chown: fails when XXXX. or XXXX: is provided (when XXXX is numeric value)
2022-10-26 11:24:35 +02:00
Terts Diepraam
bbc3495896 hashsum: enable testing --no-names
Co-authored-by: Huijeong Kim <herehuijeong@gmail.com>
2022-10-26 11:10:26 +02:00
dependabot[bot]
69c1f28c66
build(deps): bump libc from 0.2.136 to 0.2.137
Bumps [libc](https://github.com/rust-lang/libc) from 0.2.136 to 0.2.137.
- [Release notes](https://github.com/rust-lang/libc/releases)
- [Commits](https://github.com/rust-lang/libc/compare/0.2.136...0.2.137)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-26 06:42:06 +00:00
Sylvestre Ledru
67a36cf55d
Merge pull request #4082 from uutils/dependabot/cargo/libc-0.2.136
build(deps): bump libc from 0.2.135 to 0.2.136
2022-10-26 08:40:14 +02:00
Pat Laster
0079f73568
Merge branch 'main' into rm-correct-prompts 2022-10-25 20:58:01 -05:00
Sylvestre Ledru
52d82d54a3 Revert "hashsum: test b3sum::test_nonames for real (#4027)"
This reverts commit 02f6fa7b24.
2022-10-25 23:44:05 +02:00
dependabot[bot]
2213ad5d1c build(deps): bump libc from 0.2.135 to 0.2.136
Bumps [libc](https://github.com/rust-lang/libc) from 0.2.135 to 0.2.136.
- [Release notes](https://github.com/rust-lang/libc/releases)
- [Commits](https://github.com/rust-lang/libc/compare/0.2.135...0.2.136)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-25 23:28:47 +02:00
Sylvestre Ledru
76a0794823
Merge pull request #4072 from jfinkels/clippy-fixes
clippy fixes
2022-10-25 23:28:20 +02:00
Sylvestre Ledru
42fad7c4e5
Merge pull request #4078 from sylvestre/update-i
{cp, mv} -i --update source existing should not do anything and exit 0
2022-10-25 08:31:39 +02:00
Sylvestre Ledru
9f1ac221cd chown: fails when XXXX. or XXXX: is provided (when XXXX is numeric values)
If the arg starts with an id numeric value, the group isn't set but the separator is provided,
we should fail with an error

Should fix tests/chown/separator.sh
2022-10-25 08:25:05 +02:00
Pat Laster
9069d4832a
Merge branch 'main' into rm-correct-prompts 2022-10-24 18:36:52 -05:00
Sylvestre Ledru
6e8f8034ba {cp, mv} -i --update source existing should not do anything and exit 0
Should fix tests/mv/update.sh
2022-10-24 21:03:30 +02:00
Daniel Hofstetter
dedb6289dd numfmt: handle negative zero values 2022-10-24 15:13:02 +02:00
Jeffrey Finkelstein
d48a650966 cp: restrict copy through dangling symlink with -f
Change `cp` to terminate with an error when attempting to copy through
a dangling symbolic link with the `--force` option. Before this
commit,

    touch src
    ln -s no-such-file dest
    cp -f src dest

would incorrectly replace `dest` with the contents of `src`. After
this commit, it correctly fails with the error message

    cp: not writing through dangling symlink 'dest'
2022-10-23 20:17:20 -04:00
Jeffrey Finkelstein
55b3766c10 clippy fixes 2022-10-23 13:56:20 -04:00
Sylvestre Ledru
c766726e8b
Merge pull request #3281 from jfinkels/split-round-robin
split: implement round-robin arg to --number
2022-10-23 09:57:01 +02:00
Jeffrey Finkelstein
ac3fcca6c0 cp: correctly copy ancestor dirs in --parents mode
Fix a bug where `cp` failed to copy ancestor directories when using
the `--parents` option. For example, before this commit:

    $ mkdir -p a/b/c d
    $ cp --parents a/b/c d
    $ find d
    d
    d/c

After this commit

    $ mkdir -p a/b/c d
    $ cp --parents a/b/c d
    $ find d
    d
    d/a
    d/a/b
    d/a/b/c

This commit also adds the correct messages for `--verbose` mode:

    $ cp -r --parents --verbose a/b/c d
    a -> d/a
    a/b -> d/a/b
    'a/b/c' -> 'd/a/b/c'

Fixes #3332.
2022-10-23 00:06:56 -04:00
Jeffrey Finkelstein
cd3f7b89a7 cp: make cp -a not fail on Windows
Before this commit, `cp -a` would terminate with a non-zero status
code on Windows because there are no extended attributes (xattr) to
copy. However, the GNU documentation for cp states

> Try to preserve SELinux security context and extended attributes
> (xattr), but ignore any failure to do that and print no
> corresponding diagnostic.

so it seems reasonable to do nothing instead of exiting with an error
in this case.
2022-10-23 00:03:26 -04:00
Jeffrey Finkelstein
7dc96697c9 split: implement round-robin arg to --number
Implement distributing lines of a file in a round-robin manner to a
specified number of chunks. For example,

    $ (seq 1 10 | split -n r/3) && head -v xa[abc]
    ==> xaa <==
    1
    4
    7
    10

    ==> xab <==
    2
    5
    8

    ==> xac <==
    3
    6
    9
2022-10-22 23:15:55 -04:00
Pat Laster
744481c800
Updated handle_writable_directory comment 2022-10-22 18:00:17 -05:00
Pat Laster
99942b4234
Merge branch 'main' into rm-correct-prompts 2022-10-22 14:12:55 -05:00
Orhun Parmaksız
f117f36313
Merge branch 'main' into refactor/add_nix_error_auto_conversion 2022-10-22 20:35:43 +02:00
Orhun Parmaksız
81ea9521ce
fix: conditionally enable nix error conversions 2022-10-22 21:34:45 +03:00
Orhun Parmaksız
c19c19e4db
docs: add usage example for nix::Errno conversion 2022-10-22 21:26:33 +03:00
Sylvestre Ledru
bb27734f6a
Merge pull request #4067 from uutils/dependabot/cargo/filetime-0.2.18
build(deps): bump filetime from 0.2.17 to 0.2.18
2022-10-22 19:55:44 +02:00
Orhun Parmaksız
990bb4224d
test: add test for nix::Error conversions 2022-10-22 17:45:40 +03:00
Orhun Parmaksız
df8ba87516
feat: add more implementations for converting nix::Error 2022-10-22 17:20:57 +03:00
Huijeong Kim
02f6fa7b24
hashsum: test b3sum::test_nonames for real (#4027)
* hashsum: test b3sum::test_nonames for real

Signed-off-by: Huijeong Kim <herehuijeong@gmail.com>

* apply cargo format

Signed-off-by: Huijeong Kim <herehuijeong@gmail.com>
2022-10-22 11:23:39 +02:00
Sylvestre Ledru
fd13ceddcb
Merge branch 'main' into rm-correct-prompts 2022-10-22 10:22:29 +02:00
dependabot[bot]
5696059d51
build(deps): bump filetime from 0.2.17 to 0.2.18
Bumps [filetime](https://github.com/alexcrichton/filetime) from 0.2.17 to 0.2.18.
- [Release notes](https://github.com/alexcrichton/filetime/releases)
- [Commits](https://github.com/alexcrichton/filetime/compare/0.2.17...0.2.18)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-22 08:21:48 +00:00
Sylvestre Ledru
e4fe2b10fa
Merge pull request #4014 from tertsdiepraam/ls-windows-permissions
`ls`, `stat`: Show more info in long format on Windows
2022-10-22 10:21:43 +02:00
dependabot[bot]
c6a88c8374
build(deps): bump binary-heap-plus from 0.4.1 to 0.5.0
Bumps [binary-heap-plus](https://github.com/sekineh/binary-heap-plus-rs) from 0.4.1 to 0.5.0.
- [Release notes](https://github.com/sekineh/binary-heap-plus-rs/releases)
- [Changelog](https://github.com/sekineh/binary-heap-plus-rs/blob/master/CHANGELOG.md)
- [Commits](https://github.com/sekineh/binary-heap-plus-rs/commits)

---
updated-dependencies:
- dependency-name: binary-heap-plus
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-22 08:19:47 +00:00
Sylvestre Ledru
74624b27f1
Merge branch 'main' into refactor/add_nix_error_auto_conversion 2022-10-22 10:19:09 +02:00
Sylvestre Ledru
5f9e66a2fb
Merge pull request #4064 from dmatos2012/hashsum-process-files-before-exit
hashsum: warn on file not found rather than fail
2022-10-22 10:18:05 +02:00
Pat Laster
5968f53ef4 Fixed merge conflict 2022-10-20 15:42:55 -05:00
Pat Laster
00af775cd9
Merge branch 'main' into rm-correct-prompts 2022-10-20 15:03:37 -05:00
Niyaz Nigmatullin
0eae0fdb74 whoami: migrate winapi to windows-sys crate 2022-10-20 12:16:22 +03:00
Niyaz Nigmatullin
f95a14537b touch: migrate winapi to windows-sys crate 2022-10-20 12:16:22 +03:00
Niyaz Nigmatullin
580bff02f8 sync: migrate winapi to windows-sys crate 2022-10-20 12:16:22 +03:00
Niyaz Nigmatullin
5ef1745960 tail: migrate winapi to windows-sys crate 2022-10-20 12:16:22 +03:00
Niyaz Nigmatullin
ff30cacbe1 date: migrate winapi to windows-sys crate 2022-10-20 12:16:22 +03:00
Niyaz Nigmatullin
b0b7565ba9 hostname: migrate winapi to windows-sys crate 2022-10-20 12:16:22 +03:00
Niyaz Nigmatullin
05a224d40e rm: migrate winapi to windows-sys crate 2022-10-20 12:16:22 +03:00
Niyaz Nigmatullin
c26bf02a04 du: migrate winapi to windows-sys crate 2022-10-20 12:16:22 +03:00
Niyaz Nigmatullin
45dea119fa cp: remove unused winapi dependency 2022-10-20 12:16:22 +03:00
Niyaz Nigmatullin
76ee0db26c uucore: migrate from winapi to windows-sys crate 2022-10-20 12:16:22 +03:00
Jeffrey Finkelstein
aeba601335 cp: break up copy_directory() into helper funcs
Add some additional structs and helper functions to make the code in
`copydir.rs` easier to read and maintain. This commit changes only the
organization of the code, not its function.
2022-10-19 22:39:34 -04:00
Jeffrey Finkelstein
d8146d1b5c cp: move copy_directory to new module copydir.rs
Move the `copy_directory()` helper function to a new module
`copydir.rs`. This commit only changes the organization of the code,
not its behavior.
2022-10-19 22:39:12 -04:00
Jeffrey Finkelstein
11d3e0f743 cp: refactor Options::preserve_hard_links()
Refactor common code into a helper method
`Options::preserve_hard_links()`. This also eliminates the need for
mutability in a local variable in two places.
2022-10-19 22:35:10 -04:00
David Matos
d46e5df3d3 hashsum: warn on file not found rather than fail 2022-10-19 22:46:47 +02:00
dependabot[bot]
e2c368cee0
build(deps): bump sha3 from 0.10.5 to 0.10.6
Bumps [sha3](https://github.com/RustCrypto/hashes) from 0.10.5 to 0.10.6.
- [Release notes](https://github.com/RustCrypto/hashes/releases)
- [Commits](https://github.com/RustCrypto/hashes/compare/sha3-v0.10.5...sha3-v0.10.6)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-19 06:27:28 +00:00
Orhun Parmaksız
50be73d99f
refactor: add automatic conversion for nix::Errno 2022-10-19 00:13:59 +03:00
Pat Laster
79895a73e6
Merge branch 'main' into rm-correct-prompts 2022-10-18 10:48:26 -05:00
Pat Laster
87df47dee3
Merge branch 'main' into rm-correct-prompts 2022-10-17 17:41:44 -05:00
Pat Laster
2e61580b99 Cleaner force_prompt_never 2022-10-17 17:40:33 -05:00
Niyaz Nigmatullin
505865cce8 split: fix ---io for clap 4 2022-10-18 00:21:27 +03:00
Sylvestre Ledru
969f821830
Merge pull request #4009 from andrewbaptist/fix_eof_linebytes
Match GNU semantics for missing EOF
2022-10-17 16:23:20 +02:00
Niyaz Nigmatullin
3e907e0c06 Fix usage of for_byte_record_with_terminator from bstr 2022-10-17 11:00:23 +03:00
dependabot[bot]
e48125fc9c build(deps): bump bstr from 0.2.17 to 1.0.1
Bumps [bstr](https://github.com/BurntSushi/bstr) from 0.2.17 to 1.0.1.
- [Release notes](https://github.com/BurntSushi/bstr/releases)
- [Commits](https://github.com/BurntSushi/bstr/compare/0.2.17...1.0.1)

---
updated-dependencies:
- dependency-name: bstr
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-17 10:58:56 +03:00
Pat Laster
03578a7aca Fixed invert issue 2022-10-16 13:14:17 -05:00
Pat Laster
b612ce5cd7 Cleaner force_prompt_never 2022-10-16 10:57:12 -05:00
Pat Laster
b3b90e453c Forgot fmt again 2022-10-15 17:41:11 -05:00
Pat Laster
1c507c6739 Updated to clap4 2022-10-15 17:39:10 -05:00
Terts Diepraam
ed6b4c8635 docs: fix usage string since clap 4 2022-10-15 22:30:52 +02:00
Pat Laster
430652193b Fixed merge conflicts 2022-10-15 15:08:28 -05:00
Pat Laster
7e62945fd3
Merge branch 'main' into rm-correct-prompts 2022-10-15 14:58:13 -05:00
Sylvestre Ledru
23b0bb3da4
Merge pull request #3991 from tertsdiepraam/clap-4
Clap 4
2022-10-14 21:49:05 +02:00
Sylvestre Ledru
6fd64c83fa
Merge pull request #4048 from tertsdiepraam/package-install-docs
docs: add installation page with package managers
2022-10-14 21:15:54 +02:00
Terts Diepraam
5c676ac268 docs: add installation page with package managers 2022-10-14 17:11:27 +02:00
Terts Diepraam
cbc8427419 uudoc: update to clap 4 2022-10-14 16:47:39 +02:00
dependabot[bot]
4480d6d714
build(deps): bump smallvec from 1.9.0 to 1.10.0
Bumps [smallvec](https://github.com/servo/rust-smallvec) from 1.9.0 to 1.10.0.
- [Release notes](https://github.com/servo/rust-smallvec/releases)
- [Commits](https://github.com/servo/rust-smallvec/compare/v1.9.0...v1.10.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-14 06:43:33 +00:00
Pat Laster
21b066a58e Why is S_IWUSR showing up as a u16 on macos 2022-10-13 20:03:35 -05:00
Pat Laster
fddc8c9d9d More readable unix write permissions for directory using libc 2022-10-13 20:03:35 -05:00
Pat Laster
a3f35a726c Add override for prompting 2022-10-13 20:03:35 -05:00
Pat Laster
e11dd50eb4 Added comments 2022-10-13 20:03:35 -05:00
Pat Laster
355136936f Fixed force rm 2022-10-13 20:03:35 -05:00
Pat Laster
3a1098489e Small fix 2022-10-13 20:03:35 -05:00
Pat Laster
3c39a57da0 Check force position in rm 2022-10-13 20:03:35 -05:00
Pat Laster
50d2948aa1 Fixed rm --force argument not forcing prompt to not show up 2022-10-13 20:03:35 -05:00
Pat Laster
6856ce0bf4 Fixed handle_writable_directory on windows 2022-10-13 20:03:35 -05:00
Pat Laster
1f50df2af6 Fixed spelling error 2022-10-13 20:03:35 -05:00
Pat Laster
30adc8e037 Added windows version of handle_writable_directory 2022-10-13 20:03:35 -05:00
Pat Laster
6245029445 rm: rm3 now passes 2022-10-13 20:03:35 -05:00
Terts Diepraam
23fc898f79 chcon: fix update to clap 4 2022-10-13 23:05:02 +02:00
Terts Diepraam
14e3c5176c realpath: require arguments again 2022-10-13 20:06:27 +02:00
Terts Diepraam
b0c200e831 env: handle - correctly again 2022-10-13 20:06:02 +02:00
Terts Diepraam
d6753d8914 uucore: remove string leak in format_usage 2022-10-13 17:55:02 +02:00
Terts Diepraam
d7b08a01b1 yes: update to clap 4 2022-10-13 17:50:43 +02:00
Terts Diepraam
bfd310553d whoami: update to clap 4 2022-10-13 17:50:43 +02:00
Terts Diepraam
53567deb0f who: update to clap 4 2022-10-13 17:50:43 +02:00
Terts Diepraam
92c4b32eeb wc: update to clap 4 2022-10-13 17:50:43 +02:00
Terts Diepraam
60d51910e6 users: update to clap 4 2022-10-13 17:50:43 +02:00
Terts Diepraam
e99969b678 uptime: update to clap 4 2022-10-13 17:50:43 +02:00
Terts Diepraam
12048cda68 unlink: update to clap 4 2022-10-13 17:50:43 +02:00
Terts Diepraam
23c8d8b0ea uniq: update to clap 4 2022-10-13 17:50:43 +02:00
Terts Diepraam
3a234b3b09 unexpand: update to clap 4 2022-10-13 17:50:43 +02:00
Terts Diepraam
db464bbeb5 uname: update to clap 4 2022-10-13 17:50:43 +02:00
Terts Diepraam
e94ef2f8b5 tty: update to clap 4 2022-10-13 17:50:43 +02:00
Terts Diepraam
1d147c03f6 tsort: update to clap 4 2022-10-13 17:50:43 +02:00
Terts Diepraam
9cce0bed7f truncate: update to clap 4 2022-10-13 17:50:43 +02:00
Terts Diepraam
ea8015589b true: update to clap 4 2022-10-13 17:50:43 +02:00
Terts Diepraam
acf4ba75fe tr: update to clap 4 2022-10-13 17:50:43 +02:00
Terts Diepraam
e54e2e0252 touch: update to clap 4 2022-10-13 17:50:43 +02:00
Terts Diepraam
86cbdbb19e timeout: update to clap 4 2022-10-13 17:50:43 +02:00
Terts Diepraam
72d7287b11 test: update to clap 4 2022-10-13 17:50:43 +02:00
Terts Diepraam
b15c6eb293 tee: update to clap 4 2022-10-13 17:50:43 +02:00
Terts Diepraam
c8536c0985 tail: update to clap 4 2022-10-13 17:50:43 +02:00
Terts Diepraam
0611bd6fda tac: update to clap 4 2022-10-13 17:50:43 +02:00
Terts Diepraam
c7a7c4f2f2 sync: update to clap 4 2022-10-13 17:50:40 +02:00
Terts Diepraam
02f6d4d5c8 sum: update to clap 4 2022-10-13 17:50:40 +02:00
Terts Diepraam
5722e47474 stty: update to clap 4 2022-10-13 17:50:40 +02:00
Terts Diepraam
b6a4f32889 stdbuf: update to clap 4 2022-10-13 17:50:40 +02:00
Terts Diepraam
1f67351efa stat: update to clap 4 2022-10-13 17:50:40 +02:00
Terts Diepraam
261b18d6f3 split: update to clap 4 2022-10-13 17:50:40 +02:00
Terts Diepraam
c11d6b45cc sort: update to clap 4 2022-10-13 17:50:40 +02:00
Terts Diepraam
6a98c4c7d0 sleep: update to clap 4 2022-10-13 17:50:40 +02:00
Terts Diepraam
4d52449667 shuf: update to clap 4 2022-10-13 17:50:40 +02:00
Terts Diepraam
dfdd55b428 shred: update to clap 4 2022-10-13 17:50:40 +02:00
Terts Diepraam
4cfc90c077 seq: update to clap 4 2022-10-13 17:50:40 +02:00
Terts Diepraam
d92f2f6195 runcon: update to clap 4 2022-10-13 17:50:40 +02:00
Terts Diepraam
634a4aab8e rmdir: update to clap 4 2022-10-13 17:50:40 +02:00
Terts Diepraam
c228556791 rm: update to clap 4 2022-10-13 17:50:40 +02:00
Terts Diepraam
63147b9c83 relpath: update to clap 4 2022-10-13 17:50:40 +02:00
Terts Diepraam
2faf0b62df realpath: update to clap 4 2022-10-13 17:50:40 +02:00
Terts Diepraam
b2cf7be43f readlink: update to clap 4 2022-10-13 17:50:40 +02:00
Terts Diepraam
9dc9e44cd5 pwd: update to clap 4 2022-10-13 17:50:40 +02:00
Terts Diepraam
62b963a353 ptx: update to clap 4 2022-10-13 17:50:40 +02:00
Terts Diepraam
aad802616b printf: update to clap 4 2022-10-13 17:50:40 +02:00
Terts Diepraam
63b751f351 printenv: update to clap 4 2022-10-13 17:50:40 +02:00
Terts Diepraam
8ac1eaf2d6 pr: update to clap 4 2022-10-13 17:50:40 +02:00
Terts Diepraam
b5ab886f4d pinky: update to clap 4 2022-10-13 17:50:40 +02:00
Terts Diepraam
a2023c8d15 pahtchk: update to clap 4 2022-10-13 17:50:40 +02:00
Terts Diepraam
e346253a30 paste: update to clap 4 2022-10-13 17:50:40 +02:00
Terts Diepraam
cdde016501 od: update to clap 4 2022-10-13 17:50:40 +02:00
Terts Diepraam
c99d89152a numfmt: update to clap 4 2022-10-13 17:50:40 +02:00
Terts Diepraam
d17c99a3cf nproc: update to clap 4 2022-10-13 17:50:40 +02:00
Terts Diepraam
405e5fba67 nohup: update to clap 4 2022-10-13 17:50:40 +02:00
Terts Diepraam
4b574d6228 nl: update to clap 4 2022-10-13 17:50:40 +02:00
Terts Diepraam
8b9971c54e nice: update to clap 4 2022-10-13 17:50:40 +02:00
Terts Diepraam
5faae817ba mv: update to clap 4 2022-10-13 17:50:36 +02:00
Terts Diepraam
ca135d3ef3 more: update to clap 4 2022-10-13 17:50:36 +02:00
Terts Diepraam
1e9e790b7c mktemp: update to clap 4 2022-10-13 17:50:36 +02:00
Terts Diepraam
1d6c5d14b2 mknod: update to clap 4 2022-10-13 17:50:36 +02:00
Terts Diepraam
d509c16a22 mkfifo: update to clap 4 2022-10-13 17:50:36 +02:00
Terts Diepraam
67ba0c8195 dir, vdir: update to clap 4 2022-10-13 17:50:36 +02:00
Terts Diepraam
f432e5809c mkdir: update to clap 4 2022-10-13 17:50:36 +02:00
Terts Diepraam
c6cff20f18 ls: update to clap 4 2022-10-13 17:50:36 +02:00
Terts Diepraam
eadbea74d6 logname: update to clap 4 2022-10-13 17:50:36 +02:00
Terts Diepraam
56ea8bb4ac ln: update to clap 4 2022-10-13 17:50:33 +02:00
Terts Diepraam
838479f86a link: update to clap 4 2022-10-13 17:50:33 +02:00
Terts Diepraam
6eb7c64f7a kill: update to clap 4 2022-10-13 17:50:29 +02:00
Terts Diepraam
879a9bec29 join: update to clap 4 2022-10-13 17:50:29 +02:00
Terts Diepraam
a529a27a23 install: update to clap 4 2022-10-13 17:50:29 +02:00
Terts Diepraam
a3a50eb4ef id: update to clap 4 2022-10-13 17:50:29 +02:00
Terts Diepraam
0f642451e1 hostname:" update to clap 4 2022-10-13 17:50:29 +02:00
Terts Diepraam
0253a0bcfa hostid: update to clap 4 2022-10-13 17:50:29 +02:00
Terts Diepraam
4f3c94968e head: update to clap 4 2022-10-13 17:50:29 +02:00
Terts Diepraam
b95c5ce279 hashsum: update to clap 4 2022-10-13 17:50:29 +02:00
Terts Diepraam
6df2187397 groups: update to clap 4 2022-10-13 17:50:29 +02:00
Terts Diepraam
6ee19a42a4 fold: update to clap 4 2022-10-13 17:50:29 +02:00
Terts Diepraam
c485c47503 fmt: update to cla p 4 2022-10-13 17:50:29 +02:00
Terts Diepraam
8260090ea1 false: update to clap 4 2022-10-13 17:50:29 +02:00
Terts Diepraam
458c2c8b85 factor: update to clap 4 2022-10-13 17:50:29 +02:00
Terts Diepraam
86d24176e4 expr: update to clap 4 and remove custom argument parsing 2022-10-13 17:50:29 +02:00
Terts Diepraam
6cc6f35155 expand: update to clap 4 2022-10-13 17:50:29 +02:00
Terts Diepraam
b7c1216a1a env: update to clap 4 2022-10-13 17:50:29 +02:00
Terts Diepraam
b007318b51 echo: update to clap 4 2022-10-13 17:50:29 +02:00
Terts Diepraam
8f3c43b238 du: update to clap 4 2022-10-13 17:50:29 +02:00
Terts Diepraam
98673ad76f dirname: update to clap 4 2022-10-13 17:50:29 +02:00
Terts Diepraam
aaf1e362bf dircolors: update to clap 4 2022-10-13 17:50:29 +02:00
Terts Diepraam
811a06fd66 df: update to clap 4 2022-10-13 17:50:29 +02:00
Terts Diepraam
2420830e9d dd: update to clap 4 2022-10-13 17:50:29 +02:00
Terts Diepraam
8183f4cf06 date: update to clap 4 2022-10-13 17:50:29 +02:00
Terts Diepraam
5556d23e21 cut: update to clap 4 2022-10-13 17:50:29 +02:00
Terts Diepraam
e8d24f97ae csplit: update to clap 4 2022-10-13 17:50:29 +02:00
Terts Diepraam
042bb3c4e3 cp: update to clap 4 2022-10-13 17:50:26 +02:00
Terts Diepraam
34ad013155 comm: update to clap 4 2022-10-13 17:50:26 +02:00
Terts Diepraam
73a7b7f982 cksum: update to clap 4 2022-10-13 17:50:26 +02:00
Terts Diepraam
a6816c1613 chroot: update to clap 4 2022-10-13 17:50:23 +02:00
Terts Diepraam
c6aabd9023 chmod: update to clap 4 2022-10-13 17:50:23 +02:00
Terts Diepraam
624700f835 chown: update to clap 4 2022-10-13 17:50:23 +02:00
Terts Diepraam
075245235e chgrp: update to clap 4 2022-10-13 17:50:23 +02:00
Terts Diepraam
9605c7f135 uucore: update to clap 4 2022-10-13 17:50:17 +02:00
Terts Diepraam
7a3cb35352 chcon: update to clap 4 2022-10-13 16:22:47 +02:00
Terts Diepraam
717402b46a cat: update to clap 4 2022-10-13 16:22:47 +02:00
Terts Diepraam
649dab36f1 basename: update to clap 4 2022-10-13 16:22:45 +02:00
Terts Diepraam
26309dc9d7 base{32, 64, enc}: update to clap 4 2022-10-13 16:22:24 +02:00
Terts Diepraam
cb8831af71 arch: update to clap 4 2022-10-13 16:20:46 +02:00
Terts Diepraam
28127a433e
Merge pull request #4043 from sylvestre/clippy
Fix some clippy warnings
2022-10-13 14:03:57 +02:00
Sylvestre Ledru
6e14dea73b Fix some clippy warnings
Fixed with `cargo clippy --features unix  --fix`
and manually
2022-10-13 09:07:22 +02:00
Sylvestre Ledru
26cc5b9c20
Merge pull request #4011 from tertsdiepraam/env-signal-handling
`env`: reraise signal from child process
2022-10-13 09:02:21 +02:00
Sylvestre Ledru
32b1fc6420
Merge pull request #4039 from uutils/dependabot/cargo/dunce-1.0.3
build(deps): bump dunce from 1.0.2 to 1.0.3
2022-10-12 21:56:56 +02:00
dependabot[bot]
68f2b44c88
build(deps): bump dunce from 1.0.2 to 1.0.3
Bumps [dunce](https://gitlab.com/kornelski/dunce) from 1.0.2 to 1.0.3.
- [Release notes](https://gitlab.com/kornelski/dunce/tags)
- [Commits](https://gitlab.com/kornelski/dunce/commits/v1.0.3)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-12 16:54:02 +00:00
dependabot[bot]
5261a307f7
build(deps): bump libc from 0.2.132 to 0.2.135
Bumps [libc](https://github.com/rust-lang/libc) from 0.2.132 to 0.2.135.
- [Release notes](https://github.com/rust-lang/libc/releases)
- [Commits](https://github.com/rust-lang/libc/compare/0.2.132...0.2.135)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-12 12:55:41 +00:00
Terts Diepraam
d9f36eed6e chroot: declare fs feature of uucore in Cargo.toml 2022-10-12 10:55:42 +02:00
Sylvestre Ledru
b7c298afee
Merge pull request #4020 from ackerleytng/main
dircolors: align TERM matching behavior with that of GNU dircolors
2022-10-12 09:27:34 +02:00
Terts Diepraam
f15c4f2d3e Version 0.0.16 2022-10-11 23:03:39 +02:00
Sylvestre Ledru
d768b19f2b chroot: improve support of --skip-chdir
Should unbreak tests/misc/chroot-fail.sh
2022-10-10 14:07:45 +02:00
Sylvestre Ledru
ad0ca2f042
Merge pull request #3973 from jfinkels/cp-directory-preserve-permissions
cp: preserve permissions when copying directory and don't terminate early on inaccessible file
2022-10-10 08:16:27 +02:00
Ackerley Tng
1239fc477b dircolors: align TERM matching behavior with that of GNU dircolors 2022-10-09 18:47:20 -07:00
Jeffrey Finkelstein
b89e8e54c4 cp: continue directory walk if file inaccessible
Stop `cp` from terminating prematurely if a file in a directory is
inaccesible due to insufficient permissions.
2022-10-09 17:31:41 -04:00
Jeffrey Finkelstein
2450493302 cp: preserve permissions when copying directory
Make cp preserve the permissions of a directory when copying
it. Before this commit,

    cp -pR src/ dest/

failed to copy the permissions of `src/` to `dest/`. After this
commit, the permissions are correctly copied.
2022-10-09 17:29:29 -04:00
Jeffrey Finkelstein
c370b678b1 cp: refactor copy_attributes() function
Create a `copy_attributes()` function to contain the loop that copies
each of a specified set of attributes in turn.
2022-10-09 17:28:43 -04:00
jfinkels
349320ae61
Merge branch 'main' into cp-symbolic-link-loop 2022-10-09 17:28:30 -04:00
Terts Diepraam
7d8917bb35
Merge pull request #4003 from sylvestre/sync2
sync: various compatibility improvement
2022-10-09 11:07:44 +02:00
Ackerley Tng
d84803b72f ls: align --ignore behavior with that of GNU ls 2022-10-08 16:54:07 -07:00
Terts Diepraam
86738ce6cf ls,stat: Show more info in long format 2022-10-09 00:27:32 +02:00
Terts Diepraam
ca820bf674 env: reraise signal from child process 2022-10-08 19:38:00 +02:00
Andrew Baptist
4922d34177 Match GNU semantics for missing EOF
While the rust coreutils semantics were arguably more correct,
they were different than the gnu split semantics when handling a
file without a trailing EOF. This patch addresses that difference
and allows passing one more GNU test suite.
2022-10-07 17:50:26 -04:00
Sylvestre Ledru
97dd4824e5
Merge pull request #3976 from andrewbaptist/implement_suffix_start
Add support for starting suffix numbers
2022-10-07 21:07:07 +02:00
Sylvestre Ledru
f255dcbf6d
Merge pull request #3979 from jfinkels/cp-cow-module
cp: move copy_on_write funcs to platform module
2022-10-07 14:58:45 +02:00
Sylvestre Ledru
88fb43c8e4
Merge branch 'main' into cp-symbolic-link-loop 2022-10-06 09:53:02 +02:00
Sylvestre Ledru
32112d627a
Add fiemap to the spelling 2022-10-06 09:34:48 +02:00
Jeffrey Finkelstein
8bfd96fb59 cp: correct error message on copying dir to itself
Correct the error message produced when attempting to copy a directory
into itself with `cp`. Before this commit, the error message was

    $ cp -R d d
    cp: cannot copy a directory, 'd', into itself, 'd'

After this commit, the error message is

    $ cp -R d d
    cp: cannot copy a directory, 'd', into itself, 'd/d'
2022-10-05 21:37:30 -04:00
Jeffrey Finkelstein
2d0f59c51d cp: move copy_on_write funcs to platform module
Move the copy-on-write functions for `cp` to their own module. This
provides a layer of indirection so that the `cp.rs` module need only
use `platform::copy_on_write()`, and the `platform` module is
responsible for providing the appropriate implementation for the
current platform. This commit does not change the behavior of the
code, just its organization.
2022-10-05 21:35:55 -04:00
Sylvestre Ledru
ae7c45d27a
Merge pull request #3988 from dmatos2012/add-date-format-ls
ls: add support for +FORMAT in timestyle
2022-10-05 18:41:15 +02:00
Andrew Baptist
49e1cc6c71 Add support for starting suffix numbers
This commit now allows split to pass split/numeric.sh
2022-10-05 09:52:20 -04:00
Pat Laster
493a2628d2
rm: Added descend messages for interactive mode Fixes #3817 (#3931)
Co-authored-by: Terts Diepraam <terts.diepraam@gmail.com>
2022-10-05 13:35:31 +02:00
Jeffrey Finkelstein
24630db45e cp: allow removing symbolic link loop destination
Allow `cp --remove-destination` to remove a symbolic link loop (or a
symbolic link that initiates a chain of too many symbolic
links). Before this commit, if `loop` were a symbolic link to itself,
then

    cp --remove-destination file loop

would fail with an error message. After this commit, it succeeds. This
matches the behaviotr of GNU cp.
2022-10-05 13:32:21 +02:00
Sylvestre Ledru
6edf8ebf41 sync: Verify that the files can be opened 2022-10-05 13:30:19 +02:00
Sylvestre Ledru
fc1c7755b9 sync: make fail like GNU - tests/misc/sync.sh 2022-10-05 13:30:19 +02:00
David Matos
b8a5588b81 ls: add support for +FORMAT in timestyle 2022-10-05 13:29:19 +02:00
Terts Diepraam
25db814671
Merge pull request #4002 from sylvestre/cmd-test
test: add a bunch of operations
2022-10-04 12:00:00 +02:00
Sylvestre Ledru
45a7e52ed9
Merge pull request #3982 from jfinkels/cp-sparse-copy
cp: make copy_on_write_linux() func more readable
2022-10-03 23:19:01 -10:00
Sylvestre Ledru
436b7006f2
Merge pull request #3998 from sylvestre/wc-doc
wc: document the long match
2022-10-03 20:37:21 -10:00
Sylvestre Ledru
33de6c89db test: allow parsing of bigger numbers
Fixes: tests/misc/test.pl
2022-10-03 20:25:45 +02:00
Sylvestre Ledru
f0b8b33dc1 test: add support for -ef, -nt & -ot 2022-10-03 20:25:42 +02:00
Emil Suleymanov
a7b637b1eb
cp: assume --reflink=always on no value (#3992)
* Set reflink to auto by default
2022-10-03 20:20:55 +02:00
Sylvestre Ledru
63203a0a68 test: add -N FILE exists and has been modified since it was last read
Upstream: tests/misc/test-N.sh
2022-10-03 00:59:39 -10:00
Sylvestre Ledru
7257adb53b wc: document the long match 2022-10-03 00:57:48 -10:00
Daniel Hofstetter
8cae763321 du,stty: replace deprecated is_present() 2022-09-29 15:20:10 +02:00
Daniel Hofstetter
af51493368 df: replace deprecated values_of_lossy() 2022-09-29 09:37:13 +02:00
Terts Diepraam
4b517a361d
Merge pull request #3959 from Joining7943/tail-reactivate-presume-input-pipe
tail: Reactivate ---presume-input-pipe option
2022-09-28 00:09:18 +02:00
Jeffrey Finkelstein
1f907bfd4b fixup! cp: make copy_on_write_linux() func more readable 2022-09-26 23:59:41 -04:00
Daniel Hofstetter
9e8daf92dd Replace deprecated value_of() with get_one() 2022-09-26 16:42:42 +02:00
Jeffrey Finkelstein
e0dcc43076 cp: make copy_on_write_linux() func more readable
Improve readability of the `copy_on_write_linux()` helper function by
employing new helper functions `clone()` and `sparse_copy()`.
2022-09-25 23:14:37 -04:00
Terts Diepraam
a3ba02a791
Merge pull request #3971 from niyaznigmatullin/cp_H_option
cp: add `-H` option
2022-09-25 15:16:37 +02:00
Terts Diepraam
9ce600ffa8
Merge pull request #3904 from cakebaker/pr_use_clap_for_help_and_version
pr: use clap to handle help & version
2022-09-25 14:10:00 +02:00
Niyaz Nigmatullin
9166269aec cp: fix help for -H 2022-09-23 20:35:14 +03:00
Niyaz Nigmatullin
90babe2775 uucore: remove is_symlink function
Since Rust 1.58 there is `is_symlink` method for `Path`
2022-09-23 20:32:09 +03:00
Niyaz Nigmatullin
84a741fe91 cp: add -H option, add tests, fix test 2022-09-23 20:31:24 +03:00
Niyaz Nigmatullin
5640d56584 Fix clippy warning 2022-09-23 20:27:43 +03:00
Sylvestre Ledru
fce36c80f1
Merge pull request #3967 from uutils/dependabot/cargo/md-5-0.10.5
build(deps): bump md-5 from 0.10.4 to 0.10.5
2022-09-22 17:42:17 +02:00
jfinkels
dd0daa5e06
df: remove trailing spaces in rightmost column (#3882)
Co-authored-by: Daniel Hofstetter <daniel.hofstetter@42dh.com>
2022-09-22 08:37:20 +02:00
dependabot[bot]
52b977de79
build(deps): bump md-5 from 0.10.4 to 0.10.5
Bumps [md-5](https://github.com/RustCrypto/hashes) from 0.10.4 to 0.10.5.
- [Release notes](https://github.com/RustCrypto/hashes/releases)
- [Commits](https://github.com/RustCrypto/hashes/compare/md-5-v0.10.4...md-5-v0.10.5)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-09-22 06:37:09 +00:00
Jeffrey Finkelstein
60ca9a03bb mktemp: add message for directory not found
Add special handling in `mktemp` for when the directory that will
contain the temporary file is not found. This situation now produces
the message

    mktemp: failed to create file via template 'XXX': No such file or directory

to match the behavior of GNU mktemp.
2022-09-21 21:26:39 -04:00
Jeffrey Finkelstein
f2e4225bc6 mktemp: refactor make_temp_dir(), make_temp_file()
Factor code out of `exec()` into two helper functions,
`make_temp_dir()` and `make_temp_file()`.
2022-09-21 21:26:39 -04:00
Sylvestre Ledru
68ad9e4301
Merge pull request #3951 from jfinkels/mktemp-too-many-templates
mktemp: match GNU error message on too many args
2022-09-21 22:39:55 +02:00
Sylvestre Ledru
5a746a778f
Merge pull request #3938 from tertsdiepraam/dd-positional-args
`dd`: parse operands manually via positional args
2022-09-21 22:39:13 +02:00
Sylvestre Ledru
2e26e1d2bd chroot: implement --skip-chdir 2022-09-21 19:46:58 +02:00
Terts Diepraam
e377e4f046 dd: custom positional argument parsing 2022-09-21 18:41:12 +02:00
Joining7943
c32d61dcfb tests/tail: Add system tests for ---presume-input-pipe 2022-09-21 16:39:52 +02:00
Joining7943
fa8eaf3080 tail: Reactivate --presume-input-pipe option 2022-09-21 16:39:52 +02:00
Sylvestre Ledru
adc4ecd856
Merge pull request #3907 from tertsdiepraam/chroot-allow-hyphen-values
`chroot`: set trailing var arg
2022-09-21 14:09:50 +02:00
Sylvestre Ledru
7b4dcc3748
Merge pull request #3928 from niyaznigmatullin/factor_enable_union_feature_for_smallvec
factor: enable `union` feature for `smallvec`
2022-09-21 11:39:42 +02:00
Jeffrey Finkelstein
7b35749ea6 mktemp: match GNU error message on too many args
Update the usage message when too many template arguments are given on
the command line to match that of GNU mktemp:

    mktemp: too many templates
    Try 'mktemp --help' for more information.

This fixes the test case `too-many` in the GNU test suite file
`tests/misc/mktemp.pl`.
2022-09-21 10:02:56 +02:00
Joining7943
96321f958c tail: Fix random errors mainly on macos for piped input. Treat resolved paths to /dev/fd/0 as pipe.
Closes #3953
2022-09-20 01:20:49 +02:00
Sylvestre Ledru
6051c4693f
Merge pull request #3956 from uutils/dependabot/cargo/ouroboros-0.15.5
build(deps): bump ouroboros from 0.15.4 to 0.15.5
2022-09-19 18:15:43 +02:00
dependabot[bot]
efcd1a072d
build(deps): bump ouroboros from 0.15.4 to 0.15.5
Bumps [ouroboros](https://github.com/joshua-maros/ouroboros) from 0.15.4 to 0.15.5.
- [Release notes](https://github.com/joshua-maros/ouroboros/releases)
- [Commits](https://github.com/joshua-maros/ouroboros/commits)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-09-19 06:46:19 +00:00
dependabot[bot]
39d9fa31f6
build(deps): bump selinux from 0.2.7 to 0.3.0
Bumps [selinux](https://github.com/koutheir/selinux) from 0.2.7 to 0.3.0.
- [Release notes](https://github.com/koutheir/selinux/releases)
- [Changelog](https://github.com/koutheir/selinux/blob/master/CHANGELOG.md)
- [Commits](https://github.com/koutheir/selinux/commits)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-09-19 06:46:06 +00:00
Sylvestre Ledru
a857002def
Merge pull request #3949 from niyaznigmatullin/cp-i_gnu_test
cp: fix `cp-i` GNU test
2022-09-18 22:06:12 +02:00
jfinkels
86b012d3be
dd: handle stdout redirected to seekable file (#3880)
* dd: move argument parsing outside of Input, Output

Move the argument parsing code out of the `Input::new()` and
`Output::new()` functions and into the calling code. This allows the
calling code to make decisions about how to instantiate the `Input`
and `Output` objects if necessary.

* dd: handle stdout redirected to seekable file

Fix a bug in `dd` where null bytes would be unintentionally written if
stdout were redirected to a seekable file. For example, before this
commit, if `dd` were invoked from the command-line as

    dd if=infile bs=1 count=10 seek=5 > /dev/sda1

then five zeros would be written to `/dev/sda1` before copying ten
bytes of `infile` to `/dev/sda1`. After this commit, `dd` will
correctly seek five bytes forward in `/dev/sda1` before copying the
ten bytes of `infile`.

Fixes #3542.
2022-09-18 21:53:01 +02:00
Terts Diepraam
8c839888e1
Merge pull request #3905 from Joining7943/refactor-tail
Refactor tail
2022-09-17 20:39:53 +02:00
Terts Diepraam
513e61f434
Merge pull request #3923 from snapdgn/main
refactor:  `stat` declarative macros to functions
2022-09-17 20:36:47 +02:00
Niyaz Nigmatullin
2ce999c959 cp: fix cp-i GNU test
`cp` in interactive mode used to write to stdout asking for
overwrite. GNU version writes to stderr.

Changed: write to stderr to make compatible with GNU.
2022-09-17 19:15:52 +03:00
Niyaz Nigmatullin
edca926406 factor: enable union feature for smallvec 2022-09-17 13:20:50 +02:00
Niyaz Nigmatullin
774f498aa8 chore(deps): Bump terminal_size + cargo update 2022-09-17 01:08:41 +03:00
dependabot[bot]
05b7183112
build(deps): bump digest from 0.10.3 to 0.10.5
Bumps [digest](https://github.com/RustCrypto/traits) from 0.10.3 to 0.10.5.
- [Release notes](https://github.com/RustCrypto/traits/releases)
- [Commits](https://github.com/RustCrypto/traits/compare/digest-v0.10.3...digest-v0.10.5)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-09-16 06:34:05 +00:00
snapdgn
f7601c022e updated documentation 2022-09-14 10:51:03 +05:30
Jeffrey Finkelstein
61345cbdc9 mktemp: respect TMPDIR environment variable
Change `mktemp` so that it respects the value of the `TMPDIR`
environment variable if no directory is otherwise specified in its
arguments. For example, before this commit

    $ TMPDIR=. mktemp
    /tmp/tmp.WDJ66MaS1T

After this commit,

    $ TMPDIR=. mktemp
    ./tmp.h96VZBhv8P

This matches the behavior of GNU `mktemp`.
2022-09-13 19:38:25 -04:00
Joining7943
951c51e740 tail: large refactoring and cleanup of the tail code base. See also #3905 for details 2022-09-13 22:54:36 +02:00
Sylvestre Ledru
78a9f6edf8
Merge pull request #3908 from tertsdiepraam/chroot-err-codes
`chroot`: set exit codes to 125, 126 or 127 for errors from chroot itself
2022-09-12 22:43:12 +02:00
Sylvestre Ledru
1ed281fce9
Merge pull request #3921 from niyaznigmatullin/ls_exit_code_2_some_cases
ls: exit code 2 when `IOError` happened for argument
2022-09-12 22:20:08 +02:00
Niyaz Nigmatullin
4e0b238748 ls: add command_line bool to error for exit code 2 2022-09-12 19:47:16 +03:00
snapdgn
b723be4fe2 reposition functions 2022-09-12 19:56:02 +05:30
Daniel Hofstetter
ebbf8ade1e pr: use clap to handle help & version 2022-09-12 15:28:08 +02:00
snapdgn
d8226bf658 add: documentation to refactored macros->functions 2022-09-12 18:35:30 +05:30
snapdgn
243546ce96 fix: style/spelling 2022-09-12 12:19:56 +05:30
snapdgn
39e352e2af fix: failing test cases & some refactoring 2022-09-12 12:04:43 +05:30
dependabot[bot]
bf7e5a6ec0 build(deps): bump onig from 6.3.2 to 6.4.0
Bumps [onig](https://github.com/iwillspeak/rust-onig) from 6.3.2 to 6.4.0.
- [Release notes](https://github.com/iwillspeak/rust-onig/releases)
- [Changelog](https://github.com/rust-onig/rust-onig/blob/main/CHANGELOG.md)
- [Commits](https://github.com/iwillspeak/rust-onig/compare/v6.3.2...v6.4.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-09-11 20:08:28 +02:00
Sylvestre Ledru
4280c2a8a1
Merge pull request #3913 from uutils/dependabot/cargo/notify-5.0.0
build(deps): bump notify from 5.0.0-pre.16 to 5.0.0
2022-09-11 20:06:19 +02:00
snapdgn
26301d05f6 refactor: declarative macros to rust 2022-09-11 15:36:18 +05:30
Terts Diepraam
51bd8a2ba8 chroot: set exit codes to 125, 126 or 127 for errors from chroot itself 2022-09-11 12:02:54 +02:00
Terts Diepraam
975a1d170d change remaining usage codes of 2 to 1 for GNU compat 2022-09-10 20:24:24 +02:00
dependabot[bot]
d02ee4b1eb
build(deps): bump notify from 5.0.0-pre.16 to 5.0.0
Bumps [notify](https://github.com/notify-rs/notify) from 5.0.0-pre.16 to 5.0.0.
- [Release notes](https://github.com/notify-rs/notify/releases)
- [Changelog](https://github.com/notify-rs/notify/blob/main/CHANGELOG.md)
- [Commits](https://github.com/notify-rs/notify/compare/notify-5.0.0-pre.16...notify-5.0.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-09-10 07:56:32 +00:00
Niyaz Nigmatullin
999db68042 pr: migrate from chrono crate to time
It seems that `chrono` is the reason of deadlock or UB in android
CI. Also `chrono` had some security issues and wasn't maintained for
two years until March 2022, so other unstabilities can happen. Plus
`chrono` uses old `time` dependency.
2022-09-09 21:59:08 +03:00
Joining7943
2658f8ae5b tail: improve performance of piped stdin
Rewrite handling of stdin when it is piped and read input in chunks.

Fixes https://github.com/uutils/coreutils/issues/3842
2022-09-09 13:51:37 +02:00
Terts Diepraam
1abfc4b15f chroot: set trailing var arg
Without trailing var arg set in clap, flags in the command argument are
incorrectly parsed by clap.
2022-09-09 11:42:33 +02:00
dependabot[bot]
2d59ec3453
build(deps): bump half from 1.8.2 to 2.1.0
Bumps [half](https://github.com/starkat99/half-rs) from 1.8.2 to 2.1.0.
- [Release notes](https://github.com/starkat99/half-rs/releases)
- [Changelog](https://github.com/starkat99/half-rs/blob/main/CHANGELOG.md)
- [Commits](https://github.com/starkat99/half-rs/compare/v1.8.2...v2.1.0)

---
updated-dependencies:
- dependency-name: half
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-09-08 20:21:18 +00:00
Jan Scheer
88d3aee71c tail: fix offset for stdin redirect if multiple input files 2022-09-05 10:09:04 +02:00
Jan Scheer
74f359bd76 tail: use same-file crate to get a handle of stdin redirected file 2022-09-05 10:09:04 +02:00
Jan Scheer
942928b0ea tail: fix stdin redirect when file is not at its beginning
Previously, if stdin redirect pointed to a regular file,
tailing started at the beginning of the file. However,
tailing needs to start at the current position because this
is expected by tests/tail-2/start-middle.sh.

This fixes the issue by taking the current offset into account
while going backwards through the stdin redirected file.
2022-09-05 10:09:04 +02:00
Jan Scheer
92c3f60440 tail: fix stdin redirect (#3842)
This fixes a bug where calling `tail - < file.txt` would result
in invoking `unbounded_tail()`.
However, it is a stdin redirect to a seekable regular file and
therefore `bounded_tail` should be invoked as if `tail file.txt` had
been called.
2022-09-05 10:09:04 +02:00
Daniel Hofstetter
4fcedb4cdc rm: fix indentation within uu_app() 2022-09-04 14:42:23 +02:00
Daniel Hofstetter
8344855183 expand: fix line that's too long 2022-09-03 14:48:58 +02:00
Sylvestre Ledru
f21fda46b4
Merge pull request #3887 from cakebaker/cp_fix_indentation
cp: fix indentation within uu_app()
2022-09-02 10:21:07 +02:00
Daniel Hofstetter
da0f1a98b5 ls: fix indentation within uu_app() 2022-09-01 13:38:46 +02:00
Daniel Hofstetter
e5e6a48200 cp: fix indentation within uu_app() 2022-08-30 13:59:28 +02:00
Sylvestre Ledru
282774a3ef
Merge pull request #3853 from stefins/rm-write-protected
rm: added write-protected check for files
2022-08-29 17:03:24 +02:00
Stefin
a33bc185a5 rm: added check for write protected regular empty file
Signed-off-by: Stefin <stefin@pm.me>
2022-08-29 18:09:02 +05:30
Daniel Hofstetter
a9b5d9dccf Replace forbid_empty_values() with value_parser() 2022-08-29 10:44:52 +02:00
Owen Anderson
08d3da8f6c
Fix a TODO by making conv_block_unblock_helper consume the input. (#3787)
* Fix a TODO by making `conv_block_unblock_helper` consume the input.
2022-08-28 10:07:04 +02:00
Stefin
4c1c9ebf89 rm: change InteractiveMode::Default to InteractiveMode::PromptProtected
Signed-off-by: Stefin <stefin@pm.me>
2022-08-27 19:38:10 +05:30
Sylvestre Ledru
0dbcdde64e
Merge pull request #3873 from kilpkonn/tail_seek_outside_bounds
Fix tail panicing when seeking backwards
2022-08-26 22:35:50 +02:00
Daniel Hofstetter
2d42434911 link: move use statement after copyright 2022-08-25 16:39:34 +02:00
Daniel Hofstetter
747ed592d9 Replace allow_invalid_utf8() with value_parser() 2022-08-25 15:21:50 +02:00
Sylvestre Ledru
9afb2e7038
Merge pull request #3871 from cakebaker/clap_replace_deprecated_occurrences_of
Replace deprecated occurrences_of()
2022-08-25 08:53:42 +02:00
Tavo Annus
09cfa44560 Fix tail panicing when seeking backwards
Previously `tail -c n file.txt` caused panic if n > sizeof file.txt.
Now it prints out whole file similarly to GNU tail.
2022-08-24 21:02:47 +03:00
Jeffrey Finkelstein
8458bf1387 Clippy fixes in multiple crates 2022-08-23 18:30:43 -04:00
Daniel Hofstetter
c6e313372e Replace deprecated occurrences_of() 2022-08-23 16:31:32 +02:00
Stefin
a8326d7f3f rm: added new InteractiveMode InteractiveMode::Never
Signed-off-by: Stefin <stefin@pm.me>
2022-08-23 19:33:34 +05:30
Sylvestre Ledru
5a726e1ab3
Merge pull request #3864 from niyaznigmatullin/migrate_termsize_to_terminal_size
deps: change `termsize` dependency to `terminal_size`
2022-08-23 11:53:24 +02:00
dependabot[bot]
ed83439a20
build(deps): bump ouroboros from 0.15.2 to 0.15.3
Bumps [ouroboros](https://github.com/joshua-maros/ouroboros) from 0.15.2 to 0.15.3.
- [Release notes](https://github.com/joshua-maros/ouroboros/releases)
- [Commits](https://github.com/joshua-maros/ouroboros/commits/0.15.3)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-08-23 06:26:24 +00:00
Niyaz Nigmatullin
c9a81f5a17 deps: use terminal_size instead of termsize 2022-08-22 18:53:20 +03:00
Daniel Hofstetter
6f07a3418d mv: fix indentation within uu_app() 2022-08-22 12:50:08 +02:00
Niyaz Nigmatullin
b6629ce10e bump cpp_build version 2022-08-20 21:08:43 +02:00
Sylvestre Ledru
928fe73b65
Merge pull request #3854 from niyaznigmatullin/remove_unix_socket_dependency
Remove deprecated `unix_socket` dependency
2022-08-20 21:06:57 +02:00
Niyaz Nigmatullin
503e71bb51 gnu-tests/chcon_fail: fix test 2022-08-20 19:06:19 +03:00
Niyaz Nigmatullin
306272bf60 unix_sockets is deprecated, use std::os::unix::net instead 2022-08-20 17:02:29 +03:00
Terts Diepraam
5b6cd6146b
Merge pull request #3851 from tertsdiepraam/version-0.0.15
Version 0.0.15
2022-08-20 15:17:11 +02:00
Terts Diepraam
105b0db251 rmdir, split: add fs feature to uucore dep 2022-08-20 15:13:18 +02:00
Stefin
9ffb00cd51 rm: added write-protected check for files
Signed-off-by: Stefin <stefin@pm.me>
2022-08-20 18:38:10 +05:30
Terts Diepraam
15180249fc Version 0.0.15 2022-08-20 13:13:22 +02:00
Sylvestre Ledru
2130b3ef69
Fix bad merge 2022-08-20 12:37:52 +02:00
Sylvestre Ledru
71e51d120a
Merge branch 'main' into long_help_file 2022-08-20 11:58:37 +02:00
Daniel Hofstetter
3c6400317a Replace deprecated value_of_os() with get_one() 2022-08-20 10:29:41 +02:00
Sylvestre Ledru
8786bb6541
Merge pull request #3672 from tertsdiepraam/stty
Initial implementation of `stty`
2022-08-20 09:34:08 +02:00
Daniel Hofstetter
62b1b7cfb2 Replace deprecated values_of_os() with get_many() 2022-08-20 08:19:11 +02:00
Sylvestre Ledru
aef96083d7
Merge pull request #3833 from uutils/dependabot/cargo/libc-0.2.132
build(deps): bump libc from 0.2.131 to 0.2.132
2022-08-19 19:09:26 +02:00
Sylvestre Ledru
5d148bbb9f
Merge pull request #3843 from uutils/dependabot/cargo/lscolors-0.12.0
build(deps): bump lscolors from 0.11.1 to 0.12.0
2022-08-19 19:09:03 +02:00
dependabot[bot]
6193cdbba8
build(deps): bump libc from 0.2.131 to 0.2.132
Bumps [libc](https://github.com/rust-lang/libc) from 0.2.131 to 0.2.132.
- [Release notes](https://github.com/rust-lang/libc/releases)
- [Commits](https://github.com/rust-lang/libc/compare/0.2.131...0.2.132)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-08-19 12:22:35 +00:00
Sylvestre Ledru
2d6c87c1ee
Merge pull request #3846 from niyaznigmatullin/exclude_winapi_dependency_on_non-windows
dependencies: make `winapi` dependency only for Windows
2022-08-19 14:19:58 +02:00
Terts Diepraam
c269a386eb stty: cargo fmt 2022-08-19 13:12:43 +02:00
Terts Diepraam
a1250ec462 stty: fix nix version 2022-08-19 12:37:56 +02:00
Terts Diepraam
0e14e1ded0 stty: add cfg guards for flags that don't exist on BSD
fix another flag
2022-08-19 12:37:52 +02:00
Sylvestre Ledru
563de8bab3
Merge pull request #3830 from niyaznigmatullin/fix_descriptor_vs_rename
tail: reuse opened file --follow=descriptor and renamed
2022-08-19 12:14:55 +02:00
Niyaz Nigmatullin
67ae68a6cf dependecies: make winapi dependency only for windows, bump platform-info
crate version dependency
2022-08-19 12:28:13 +03:00
Sylvestre Ledru
b7ea400861
Merge pull request #3837 from tertsdiepraam/remove-more-error-macros
`uucore` & `cp`: remove `show_error_custom_description` macros `show_usage_error`
2022-08-19 10:01:49 +02:00
Sylvestre Ledru
a3e3542602
Merge pull request #3838 from tertsdiepraam/tty-nix
`tty`: move from `libc` to `nix`
2022-08-19 10:01:27 +02:00
Sylvestre Ledru
fb4ddd5310
Merge pull request #3844 from tertsdiepraam/ranges-refactor
`uucore::ranges`: Refactor, document and test
2022-08-19 09:02:35 +02:00
Terts Diepraam
003b483705 uucore/ranges: refactor and test complement 2022-08-18 21:27:32 +02:00
Terts Diepraam
7890228f82 uucore/ranges: document and test merge operation 2022-08-18 19:45:56 +02:00
Terts Diepraam
e9e9a8166f uucore/ranges: refactor FromStr impl 2022-08-18 19:45:18 +02:00
dependabot[bot]
20809db439
build(deps): bump lscolors from 0.11.1 to 0.12.0
Bumps [lscolors](https://github.com/sharkdp/lscolors) from 0.11.1 to 0.12.0.
- [Release notes](https://github.com/sharkdp/lscolors/releases)
- [Commits](https://github.com/sharkdp/lscolors/compare/v0.11.1...v0.12.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-08-18 11:38:09 +00:00
Sylvestre Ledru
88261f36dd
Merge pull request #3834 from uutils/dependabot/cargo/once_cell-1.13.1
build(deps): bump once_cell from 1.13.0 to 1.13.1
2022-08-18 13:35:59 +02:00
Sylvestre Ledru
6f6784f113 Adjust the code after https://github.com/uutils/coreutils/pull/3832 2022-08-18 11:33:04 +02:00
Terts Diepraam
85e6f8659f stty: fix bsd/mac builds 2022-08-18 11:33:04 +02:00
Terts Diepraam
420c69aa98 stty: make compatible with Rust pre 1.61 2022-08-18 11:33:04 +02:00
Terts Diepraam
f861fc0854 stty: print special terminal information 2022-08-18 11:33:04 +02:00
Terts Diepraam
cc147a7c8d stty: expand --help information 2022-08-18 11:33:04 +02:00
Terts Diepraam
679fd2371e stty: disallow combining settings with --all and --save 2022-08-18 11:33:04 +02:00
Terts Diepraam
eac88022b2 stty: fix setting grouped flags 2022-08-18 11:33:04 +02:00
Terts Diepraam
96ea772016 stty: fix clippy warnings 2022-08-18 11:33:04 +02:00
Terts Diepraam
0c44fc07d2 stty: fix ixany and iutf8 not sane 2022-08-18 11:33:04 +02:00
Terts Diepraam
4cda8f33e7 stty: add grouped flags 2022-08-18 11:33:04 +02:00
Terts Diepraam
600cab0bd8 starting work on stty 2022-08-18 11:33:04 +02:00
Terts Diepraam
b983355bc4 uucore & cp: remove show_error_custom_description macros show_usage_error 2022-08-18 10:44:59 +02:00
Terts Diepraam
791fb98dcc tty: move from libc to nix
This moves the unsafe from our responsibility to nix and makes
the code a bit cleaner.
2022-08-18 00:59:27 +02:00
Terts Diepraam
f255c0cae8 dir & vdir: fix docs not showing up on the website
uudoc was getting a dummy clap app to generate documentation from. Now the app from ls is returned instead, so that it actually shows something.
2022-08-17 22:33:32 +02:00
Sylvestre Ledru
87e3899477
Merge pull request #3832 from tertsdiepraam/simplify-encoding-handling
Simplify invalid encoding handling
2022-08-17 18:59:59 +02:00
dependabot[bot]
e465d0520f
build(deps): bump once_cell from 1.13.0 to 1.13.1
Bumps [once_cell](https://github.com/matklad/once_cell) from 1.13.0 to 1.13.1.
- [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.13.0...v1.13.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-08-17 16:20:25 +00:00
Terts Diepraam
ba713b6365 Simplify invalid encoding handling into two small methods of Args
The previous encoding handling was unnecessarily complex. This commit removes the enum that specifies the handling and instead has two separate methods to collect the strings either with lossy conversion or by ignoring invalidly encoded strings.
2022-08-17 15:20:20 +02:00
Terts Diepraam
5621502a95 all: remove accept_{any, complete, lossy} and ConversionResult
Outside of tests, only `accept_any` was used, meaning that this unnecessarily complicated the code. The behaviour of `accept_any` is now the default (and only) option.
2022-08-17 14:57:28 +02:00
Terts Diepraam
0ed8b97a3f uucore: remove panic encoding handling
We never want utilities to panic on invalid input and it is not currently in use, so it can be removed safely.
2022-08-17 14:29:53 +02:00
Niyaz Nigmatullin
cdc664305e tail: reuse opened file with the same descriptor when
--follow=descriptor and renamed
2022-08-17 13:14:32 +03:00
Niyaz Nigmatullin
dc12639995 Fix completion with a clap update 2022-08-17 13:13:27 +03:00
Niyaz Nigmatullin
9cd898b885 remove nix 0.24.2 dependency 2022-08-17 13:13:27 +03:00
Niyaz Nigmatullin
f4df7ea4a0 cargo +1.56.1 update 2022-08-17 13:13:27 +03:00
Przemysław Fuchs
3acbd1c048
dd: Error message of invalid args is matched with GNU (#3831) 2022-08-17 11:40:42 +02:00
Terts Diepraam
a3a69cf919 uucore: add filename as argument in help_usage and help_section
uucore: make help_section and help_usage take an argument to select a file
2022-08-16 19:22:41 +02:00
Terts Diepraam
c8e88e1898 add help_usage macro 2022-08-16 19:22:40 +02:00
Terts Diepraam
dedb969d75 add help file for base64 2022-08-16 19:20:37 +02:00
Terts Diepraam
2df00344f7 add help file for base32 2022-08-16 19:19:49 +02:00
Terts Diepraam
5a9380616b Use a markdown file named after the utils for help_section 2022-08-16 19:18:38 +02:00
Terts Diepraam
c4ba21f720 move numfmt help to a separate file 2022-08-16 19:18:36 +02:00
Owen Anderson
9fad6fde35
Fix a bug in split where chunking would be skipped when the chunk size (#3800)
* Fix a bug in split where chunking would be skipped when the chunk size
happened to be an exact divisor of the buffer size used to read the
input stream.

The issue here was that file was being split byte-wise in chunks of 1G.
The input stream was being read in chunks of 8KB, which evenly divides
the chunk size. Because the check to allocate the next output chunk was
done at the bottom of the loop previously, it would never occur because
the current input chunk was fully consumed at that point. By moving the
check to the top of the loop (but still late enough that we know we have
bytes to write) we resolve this issue.

This scenario is unfortunately hard to write a test for, since we don't
explicitly control the input chunk size.

Fixes https://github.com/uutils/coreutils/issues/3790
2022-08-16 11:02:52 +02:00
Terts Diepraam
5ecabb8467
Merge pull request #3784 from jarkonik/main
Use `clap::ArgAction` in `true` and `false`
2022-08-16 10:50:32 +02:00
Niyaz Nigmatullin
0db17196ca readlink: follow clippy advice, add semicolon 2022-08-16 08:30:47 +03:00
Niyaz Nigmatullin
9c97b700ec readlink: reformat using rustfmt 2022-08-16 08:25:02 +03:00
Niyaz Nigmatullin
391143fe5b readlink: fix -n and -z no delimiter at the end 2022-08-16 08:21:12 +03:00
Niyaz Nigmatullin
5af152be2c uucore/fs: add Not a directory cases handling, e.g. for trailing slashes 2022-08-15 22:47:03 +03:00
Jaroslaw Konik
710e2af5fd Check argc instead of settings exclusive flag 2022-08-15 19:50:30 +02:00
Jaroslaw Konik
025a0dfa9e Use clap::ArgAction in true and false 2022-08-15 19:48:02 +02:00
Niyaz Nigmatullin
0e96cfa14b tail: fix notify usage for new version 2022-08-15 18:11:46 +03:00
dependabot[bot]
ade3b7540c
build(deps): bump notify from 5.0.0-pre.15 to 5.0.0-pre.16
Bumps [notify](https://github.com/notify-rs/notify) from 5.0.0-pre.15 to 5.0.0-pre.16.
- [Release notes](https://github.com/notify-rs/notify/releases)
- [Changelog](https://github.com/notify-rs/notify/blob/main/CHANGELOG.md)
- [Commits](https://github.com/notify-rs/notify/compare/5.0.0-pre.15...notify-5.0.0-pre.16)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-08-15 11:42:17 +00:00
5225225
c7b988c825
uutils: Remove use of mem::uninitialized (#3808) 2022-08-15 10:10:50 +02:00
Przemysław Fuchs
e2bab1d515
mv: fix error when moving directory to itself (#3809) 2022-08-15 10:10:04 +02:00
Sylvestre Ledru
00f5d91886 sha1sum: fix the -c usage (Closes: #3815) 2022-08-14 23:32:46 +02:00
anastygnome
1596f802f5 Rework tail plateform module in light of #2873
Optimize tail plateform module using the libc::stdin fd constant.

Commenting out `is_bad_symlink` as #2873 will not be fixed for the time being.
2022-08-14 13:30:57 +02:00
Jan Scheer
5258dec9a8
tail: fix race condition (#3798)
* tail: fix race condition (fix #3765)

There exists a race condition (RC) that can occur if changes to a path
happen after the initial print loop in `uu_tail()`, but before the
path is added to the notify-Watcher thread in `follow()`.

To minimize the window where the RC can occur, this moves starting the
Watcher thread and adding paths to it from `follow()` to the initial
print loop in `uu_tail()`.

Additionally, to make sure the RC cannot happen in
"gnu/tests/tail-2/F-headers.sh", the error message that is used as a trigger
in this test, is delayed until the path is added to the Watcher thread.

* build-gnu: remove workarounds for tail

Remove workarounds for "tests/tail-2/F-headers.sh" which are
(presumably) no longer needed because of the race condition fix.

* build-gnu: remove workarounds for tail

Remove workarounds for "tests/tail-2/F-headers.sh" which are
(presumably) no longer needed because of the race condition fix.

* tail: refactor to minimize chances of RC

Move "adding paths to Watcher thread" to its own loop and run this loop
before the initial tail-print-loop in order to minimize the window for
race conditions.
2022-08-14 01:01:15 +02:00
David Carlier
b5bb070777 while at it, let's do OpenBSD. 2022-08-13 10:21:30 +01:00
David Carlier
36561c9526 uucore fix NetBSD build. 2022-08-13 08:24:45 +01:00
Daniel Hofstetter
fcb7185279 Disable "broken intra doc links" lint 2022-08-12 14:48:59 +02:00
Daniel Hofstetter
689000576b du: remove useless transmute to fix clippy warning 2022-08-12 10:56:13 +02:00
Daniel Hofstetter
898914b6fb touch: remove transmute to fix clippy warning 2022-08-12 10:54:59 +02:00
Daniel Hofstetter
bfa6e23166 numfmt: implement Eq to fix clippy warning 2022-08-12 07:49:05 +02:00
Daniel Hofstetter
c0c26c4c58 Replace deprecated values_of() with get_many() 2022-08-11 13:49:09 +02:00
Sylvestre Ledru
a2e0296ef2 remove some unnecessary parentheses 2022-08-10 22:58:27 +02:00
Sylvestre Ledru
9f1219005d fix the significant_drop_in_scrutinee clippy warning 2022-08-10 21:37:48 +02:00
Sylvestre Ledru
8692301ec7
Merge pull request #3754 from ackerleytng/main
Add `parse_glob` module and update `du` to use `parse_glob`
2022-08-10 19:28:40 +02:00
Sylvestre Ledru
e304758f61
Merge pull request #3801 from niyaznigmatullin/sort_wait_for_signal_handling
sort: wait when SIGINT was raised for the program to finish properly
2022-08-10 19:26:50 +02:00
Niyaz Nigmatullin
898be12a33 sort: add comments to wait_if_signal function and its usage 2022-08-10 15:31:03 +03:00
Niyaz Nigmatullin
e43872d4c7 sort: rename lock binding variable 2022-08-10 12:20:25 +03:00
Niyaz Nigmatullin
50f1e9a5fa sort: fix test_tmp_files_deleted_on_sigint, wait for signal handling at
the end of the program
2022-08-10 12:15:27 +03:00
Niyaz Nigmatullin
13e912bcbd touch: fix error handling 2022-08-10 11:07:22 +03:00
Ackerley Tng
c2bb9596d9 du: update du to use parse_glob::from_str 2022-08-09 10:36:23 +02:00
Ackerley Tng
898689d924 du: refactor pattern building in du 2022-08-09 10:36:23 +02:00
Ackerley Tng
defde8c91e uucore: add parse_glob module 2022-08-09 10:36:23 +02:00
dependabot[bot]
54840b5fe1
build(deps): bump ouroboros from 0.15.0 to 0.15.2
Bumps [ouroboros](https://github.com/joshua-maros/ouroboros) from 0.15.0 to 0.15.2.
- [Release notes](https://github.com/joshua-maros/ouroboros/releases)
- [Commits](https://github.com/joshua-maros/ouroboros/commits)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-08-08 06:30:58 +00:00
Koutheir Attouchi
81a762ced6 Use u64 instead of ino_t/dev_t types 2022-08-06 02:50:19 -04:00
Terts Diepraam
fa47af73d0
Merge pull request #3774 from sylvestre/consistency
Add more consistency in the --help output and declarations
2022-08-04 23:53:51 +02:00
Sylvestre Ledru
d957a11f34 Add more consistency in the --help output and declarations 2022-08-04 21:53:27 +02:00
Daniel Hofstetter
07b218e55a Replace possible_values() with value_parser() 2022-08-04 14:38:10 +02:00
Pierre Marsais
e1991525af
cp: Implement --sparse flag (#3766)
* cp: Refactor `reflink`/`sparse` handling to enable `--sparse` flag

`--sparse` and `--reflink` options have a lot of similarities:
 - They have similar options (`always`, `never`, `auto`)
 - Both need OS specific handling
 - They can be mutually exclusive

Prior to this change, `sparse` was defined as `CopyMode`, but `reflink`
wasn't. Given the similarities, it makes sense to handle them similarly.

The idea behind this change is to move all OS specific file copy
handling in the `copy_on_write_*` functions. Those function then
dispatch to the correct logic depending on the arguments (at the moment,
the tuple `(reflink, sparse)`).

Also, move the handling of `--reflink=never` from `copy_file` to the
`copy_on_write_*` functions, at the cost of a bit of code duplication,
to allow `copy_on_write_*` to handle all cases (and later handle
`--reflink=never` with `--sparse`).

* cp: Implement `--sparse` flag

This begins to address #3362

At the moment, only the `--sparse=always` logic matches the requirement
form GNU cp info page, i.e. always make holes in destination when
possible.

Sparse copy is done by copying the source to the destination block by
block (blocks being of the destination's fs block size). If the block
only holds NUL bytes, we don't write to the destination.

About `--sparse=auto`: according to GNU cp info page, the destination
file will be made sparse if the source file is sparse as well. The next
step are likely to use `lseek` with `SEEK_HOLE` detect if the source
file has holes. Currently, this has the same behaviour as
`--sparse=never`. This `SEEK_HOLE` logic can also be applied to
`--sparse=always` to improve performance when copying sparse files.

About `--sparse=never`: from my understanding, it is not guaranteed that
Rust's `fs::copy` will always produce a file with no holes, as
["platform-specific behavior may change in the
future"](https://doc.rust-lang.org/std/fs/fn.copy.html#platform-specific-behavior)

About other platforms:
 - `macos`: The solution may be to use `fcntl` command `F_PUNCHHOLE`.
 - `windows`: I only see `FSCTL_SET_SPARSE`.

This should pass the following GNU tests:
 - `tests/cp/sparse.sh`
 - `tests/cp/sparse-2.sh`
 - `tests/cp/sparse-extents.sh`
 - `tests/cp/sparse-extents-2.sh`

`sparse-perf.sh` needs `--sparse=auto`, and in particular a way to skip
holes in the source file.

Co-authored-by: Sylvestre Ledru <sylvestre@debian.org>
2022-08-04 13:22:59 +02:00
Pierre Marsais
90a9829287
cp: truncate destination when --reflink is set (#3759)
* cp: truncate destination when `--reflink` is set

This is needed in order to allow overriding an existing file.

```
$ truncate -s 512M /tmp/disk.img
$ mkfs.btrfs /tmp/disk.img
[...]
$ mkdir /tmp/disk
$ sudo mount /tmp/disk.img /tmp/disk
$ sudo chown $(id -u):$(id -g) -R /tmp/disk
$ for i in $(seq 0 8192); do echo -ne 'a' >>/tmp/disk/src1; done
$ echo "success" >/tmp/disk/src2
$
$ # GNU ls supports overriding files created with `--reflink`
$ cp --reflink=always /tmp/disk/src1 /tmp/disk/dst1
$ cp --reflink=always /tmp/disk/src2 /tmp/disk/dst1
$ cat /tmp/disk/dst1
success
$
$ # Now testing with uutils
$ cargo run cp --reflink=always /tmp/disk/src1 /tmp/disk/dst2
    Finished dev [unoptimized + debuginfo] target(s) in 0.25s
     Running `target/debug/coreutils cp --reflink=always /tmp/disk/src1 /tmp/disk/dst2`
$ cargo run cp --reflink=always /tmp/disk/src2 /tmp/disk/dst2
    Finished dev [unoptimized + debuginfo] target(s) in 0.26s
     Running `target/debug/coreutils cp --reflink=always /tmp/disk/src2 /tmp/disk/dst2`
cp: failed to clone "/tmp/disk/src2" from "/tmp/disk/dst2": Invalid argument (os error 22)
$ cat /tmp/disk/dst2
[lots of 'a']
$
$ # With truncate(true)
$ cargo run cp --reflink=always /tmp/disk/src1 /tmp/disk/dst3
    Finished dev [unoptimized + debuginfo] target(s) in 7.98s
     Running `target/debug/coreutils cp --reflink=always /tmp/disk/src1 /tmp/disk/dst3`
$ cargo run cp --reflink=always /tmp/disk/src2 /tmp/disk/dst3
    Finished dev [unoptimized + debuginfo] target(s) in 0.27s
     Running `target/debug/coreutils cp --reflink=always /tmp/disk/src2 /tmp/disk/dst3`
$ cat /tmp/disk/dst3
success
```
2022-08-04 08:50:19 +02:00
Daniel Hofstetter
7c3116330e Replace deprecated is_present() with contains_id() 2022-08-02 15:21:39 +02:00
Sylvestre Ledru
c660fc700f
Merge pull request #3757 from cakebaker/clap_update
bump clap from 3.1.18 to 3.2.15
2022-08-02 09:56:01 +02:00
Sylvestre Ledru
dba21d5ee0
Merge pull request #3763 from uutils/dependabot/cargo/sha3-0.10.2
build(deps): bump sha3 from 0.10.1 to 0.10.2
2022-08-02 09:54:39 +02:00
Sylvestre Ledru
9b81e09f7a
Merge pull request #3764 from cakebaker/numfmt_preserve_trailing_zeros
numfmt: preserve trailing zeros
2022-08-01 13:32:55 +02:00
Daniel Hofstetter
e642ca90dd numfmt: preserve trailing zeros 2022-08-01 09:48:13 +02:00