Change the implementation of `rm -r` so that it is explicitly recursive
so that (1) there is one code path regardless of whether `--verbose` is
given and (2) it is easier to be compatible with GNU `rm`.
This change eliminates a dependency on the `walkdir` crate.
Fixes#7033, fixes#7305, fixes#7307.
Remove some replacements of uutils `touch` for GNU `touch` in the
`util/build-gnu.sh` script, since recent improvements to the
`parse_datetime` have made these replacements unnecessary.
Update the `util/build-gnu.sh` script to restore the use of uutils
programs that had been temporarily replaced with GNU programs in test
files where the program to replace was not a primary concern. For
example, before this commit we were forcing the use of GNU `stat`
instead of uutils `stat` in the test file
`tests/touch/60-seconds.sh`. After this commit, we use the uutils
`stat` since it is working well enough for this test case.
* stat: fix the quotes when dealing with %N
and other formats
should fix
tests/stat/stat-fmt.sh
* stats: use an enum instead of a string
* stats: split the functions into smaller functions
* stat: handle byte as a format for better display
* stat: handle error better. should make tests/stat/stat-printf.pl pass
* stat: Some escape sequences are non-standard
* Fix tests
* Take comments into account
* hashsum: make tag conflicts with --text and --check
* hashsum: change the case in one of the gnu test
* build-gnu.sh: use symlink instead of copy
Plus: it won't cp new md5
* hashsum: also escape/unescape files with checks
Should fix tests/cksum/md5sum-bsd.sh
* improve the variable name
Co-authored-by: Daniel Hofstetter <daniel.hofstetter@42dh.com>
* Improve test
Co-authored-by: Daniel Hofstetter <daniel.hofstetter@42dh.com>
* Improve test
Co-authored-by: Daniel Hofstetter <daniel.hofstetter@42dh.com>
---------
Co-authored-by: Daniel Hofstetter <daniel.hofstetter@42dh.com>
- Define variables for GNU version of make, nproc, readlink and sed and use them on BSD.
- In specific cases (option -z not available on BSD and with command /c), use GNU sed instead of
BSD sed.
- For xargs, --no-run-if-empty option is a GNU extension. Replace it by -r to be compatible with
FreeBSD and OpenBSD xargs command.
Signed-off-by: Laurent Cheylus <foxy@free.fr>
- For shell scripts using bash, use #!/usr/bin/env bash instead of #!/bin/bash.
On some OS, bash is not the default shell and is not installed as /bin/bash
Signed-off-by: Laurent Cheylus <foxy@free.fr>