0.0.17
版本发布时间: 2023-01-21 19:41:45
uutils/coreutils最新发布版本:0.0.27(2024-06-24 01:12:21)
Highlights
- The minimum supported Rust version is now 1.60.
- Clap has been updated to version 4, bringing some changes in the formatting of help strings.
-
cp
has been gotten many small improvements that improve compatibility. -
dd
has been simplified and has better compatibility. -
env
now reraises signals from the child process. -
ls -l
now shows more information on Windows. -
uname
is now available for all supported platforms, instead of Unix-like platforms only. -
cp
andmv
can display a progress bar. This is an extension over GNU coreutils and inspired byadvcpmv
. - There have been refactors, fixes and performance improvements in many utils, see below for details.
GNU test suite compatibility
Many utils have gotten minor changes to improve GNU compatibility. Below is a summary of the progress. See https://github.com/uutils/coreutils-tracking/ for more details
result | 0.0.16 | 0.0.17 | change |
---|---|---|---|
pass | 322 | 338 | +16 |
skip | 49 | 48 | -1 |
fail | 217 | 204 | -13 |
error | 5 | 3 | -2 |
Changes
The PR's listed below are a selection of all the contributions in this release.
General
- Bump MSRV to 1.60 by @tertsdiepraam in https://github.com/uutils/coreutils/pull/3994
- Clap 4 by @tertsdiepraam in https://github.com/uutils/coreutils/pull/3991
- Migrate from
winapi
towindows-sys
by @niyaznigmatullin in https://github.com/uutils/coreutils/pull/4065 - Run the toybox testsuite by @sylvestre in https://github.com/uutils/coreutils/pull/4222
- Use normal use declarations to import macros by @miles170 in https://github.com/uutils/coreutils/pull/4151
- Add installation page to docs with package managers by @tertsdiepraam in https://github.com/uutils/coreutils/pull/4048
- Test utilities
- Add
UChild
, an abstraction forstd::process::Child
by @Joining7943 in https://github.com/uutils/coreutils/pull/4136 - Add possibility to set timeout for UCommand and UChild. Add
rstest
with timeout macro to dev dependencies by @Joining7943 in https://github.com/uutils/coreutils/pull/4231 - Put
#[track_caller]
on assertion functions in test utils by @tertsdiepraam in https://github.com/uutils/coreutils/pull/4252
- Add
-
uucore
- Add automatic conversion for
nix::Errno
by @orhun in https://github.com/uutils/coreutils/pull/4060 - Add
prompt_yes
macro by @tertsdiepraam in https://github.com/uutils/coreutils/pull/4148 - Add
sprintf()
function by @jfinkels in https://github.com/uutils/coreutils/pull/4185 - Add options to parse_size::Parser by @trasua in https://github.com/uutils/coreutils/pull/4224
- Add automatic conversion for
chown
- Fails when
XXXX.
orXXXX:
is provided (when XXXX is numeric value) by @sylvestre in https://github.com/uutils/coreutils/pull/4081
cp
- Move
copy_directory()
to its own module by @jfinkels in https://github.com/uutils/coreutils/pull/3901 - Correctly copy ancestor dirs in
--parents
mode by @jfinkels in https://github.com/uutils/coreutils/pull/4071 -
cp -i --update source existing
should not do anything and exit 0 by @sylvestre in https://github.com/uutils/coreutils/pull/4078 - Implement
--copy-contents
option for fifos by @jfinkels in https://github.com/uutils/coreutils/pull/3978 - Remove interactive mode message on 'no' by @sssemil in https://github.com/uutils/coreutils/pull/4069
- Use sparse copy on
--sparse=always
by @jfinkels in https://github.com/uutils/coreutils/pull/4030 - Add progress bar by @tertsdiepraam in https://github.com/uutils/coreutils/pull/3903 and improved by @djedi23 in https://github.com/uutils/coreutils/pull/4179 and @ctsk in https://github.com/uutils/coreutils/pull/4221
- Restrict copy through dangling symlink with
-f
by @jfinkels in https://github.com/uutils/coreutils/pull/4074 - Force copying file to itself with
--backup
by @jfinkels in https://github.com/uutils/coreutils/pull/3966 - Make
--preserve
use the defaults when empty by @sssemil in https://github.com/uutils/coreutils/pull/4123 - Fix
cp --force --backup f f
fails on macOS by @miles170 in https://github.com/uutils/coreutils/pull/4166 - Preserve hard links when target already exists by @jfinkels in https://github.com/uutils/coreutils/pull/4208
- Fix
--verbose --parents
output for both files and directories by @jfinkels in https://github.com/uutils/coreutils/pull/4184 - Force link between two files that exist by @jfinkels in https://github.com/uutils/coreutils/pull/4213
- Remove empty line from version output by @cakebaker in https://github.com/uutils/coreutils/pull/4283
- Require preserve only certain attributes by @sssemil in https://github.com/uutils/coreutils/pull/4099
- Restrict permissions when copying FIFO by @jfinkels in https://github.com/uutils/coreutils/pull/4211
csplit
- Rename var to simplify format strings by @cakebaker in https://github.com/uutils/coreutils/pull/4266
cut
- Add whitespace option for separating fields by @TechHara in https://github.com/uutils/coreutils/pull/4232
date
- Catch panic from invalid format string by @jaggededgedjustice in https://github.com/uutils/coreutils/pull/4240
dd
- Allow B as a suffix for count, seek, and skip by @jfinkels in https://github.com/uutils/coreutils/pull/4137
- Create Dest enum and simpler Output struct by @jfinkels in https://github.com/uutils/coreutils/pull/4134
- Don't allocate buffer if count=0 by @jfinkels in https://github.com/uutils/coreutils/pull/4130
- Correctly set file size when conv=sparse by @jfinkels in https://github.com/uutils/coreutils/pull/4191
- Fix rendering of SI and IEC byte counts by @jfinkels in https://github.com/uutils/coreutils/pull/3653
- Fix progress line if 1 byte written by @jfinkels in https://github.com/uutils/coreutils/pull/4194
env
- Reraise signal from child process by @tertsdiepraam in https://github.com/uutils/coreutils/pull/4011
expr
- Multiple fixes and tests added by @rivy in https://github.com/uutils/coreutils/pull/4248
factor
- Trim the input to fix some busybox results by @sylvestre in https://github.com/uutils/coreutils/pull/4215
hashsum
- Warn on file not found rather than fail by @dmatos2012 in https://github.com/uutils/coreutils/pull/4064
- Enable testing
--no-names
by @tertsdiepraam and @huijeong-kim in https://github.com/uutils/coreutils/pull/4088
install
- No longer fails when target directory does not exist by @bruecke in https://github.com/uutils/coreutils/pull/3950
ls
- Show more info in long format on Windows by @tertsdiepraam in https://github.com/uutils/coreutils/pull/4014
- Use
libc::{major, minor}
to calculate device number by @SteveLauC in https://github.com/uutils/coreutils/pull/4120
mktemp
- Allow default missing value by @dmatos2012 in https://github.com/uutils/coreutils/pull/4091
mv
-
mv -i --update source existing
should not do anything and exit 0 by @sylvestre in https://github.com/uutils/coreutils/pull/4078 - Add progress bar by @ctsk in https://github.com/uutils/coreutils/pull/4220
numfmt
- Handle negative zero values by @cakebaker in https://github.com/uutils/coreutils/pull/4076
- Allow hyphen values for
--field
option by @cakebaker in https://github.com/uutils/coreutils/pull/4090 - Round values if precision is 0 by @cakebaker in https://github.com/uutils/coreutils/pull/4089
- Allow
-
in field list by @cakebaker in https://github.com/uutils/coreutils/pull/4094 - Allow
- Add test for
--field -
(all fields) by @cakebaker in https://github.com/uutils/coreutils/pull/4093
pr
- Simplify format strings by @cakebaker in https://github.com/uutils/coreutils/pull/4264
- Add missing
\
before line breaks by @cakebaker in https://github.com/uutils/coreutils/pull/4273
printenv
- Weird env variable names should trigger an error. by @sylvestre in https://github.com/uutils/coreutils/pull/4113
pwd
- Support the env variable
POSIXLY_CORRECT
by @sylvestre in https://github.com/uutils/coreutils/pull/4085
rm
- GNU test
rm3
now passes by @palaster in https://github.com/uutils/coreutils/pull/4013
seq
- Simplify format strings by @cakebaker in https://github.com/uutils/coreutils/pull/4264
sleep
- Fix argument parsing and errors by @rivy in https://github.com/uutils/coreutils/pull/4268
sort
- Allow a sort mode to appear multiple times by @tertsdiepraam in https://github.com/uutils/coreutils/pull/4132
split
- Implement round-robin arg to
--number
by @jfinkels in https://github.com/uutils/coreutils/pull/3281 - Match GNU semantics for missing EOF by @andrewbaptist in https://github.com/uutils/coreutils/pull/4009
- Fix "backticks are unbalanced" warnings by @cakebaker in https://github.com/uutils/coreutils/pull/4181
stat
- Show more info in long format on Windows by @tertsdiepraam in https://github.com/uutils/coreutils/pull/4014
- Refactor by @tertsdiepraam in https://github.com/uutils/coreutils/pull/4150
sum
- Fix output of about string by @cakebaker in https://github.com/uutils/coreutils/pull/4274
- Fix output when using BSD sum algo (-r) by @cakebaker in https://github.com/uutils/coreutils/pull/4278
tail
- Refactor handling of warnings and early exits by @Joining7943 in https://github.com/uutils/coreutils/pull/4135
touch
- Add support for some relative times by @jfinkels in https://github.com/uutils/coreutils/pull/4193
uname
- build:
uname
is WinOS-compatible; move to 'Tier1' feature by @rivy in https://github.com/uutils/coreutils/pull/4245 - change/uname ~ update and revise by @rivy in https://github.com/uutils/coreutils/pull/4279
New Contributors
@huijeong-kim (https://github.com/uutils/coreutils/pull/4027), @orhun (https://github.com/uutils/coreutils/pull/4070), @SteveLauC (https://github.com/uutils/coreutils/pull/4120), @miles170 (https://github.com/uutils/coreutils/pull/4151), @djedi23 (https://github.com/uutils/coreutils/pull/4179), @bruecke (https://github.com/uutils/coreutils/pull/3950), @ctsk (https://github.com/uutils/coreutils/pull/4221), @trasua (https://github.com/uutils/coreutils/pull/4224), @TechHara (https://github.com/uutils/coreutils/pull/4232)
Full Changelog: https://github.com/uutils/coreutils/compare/0.0.16...0.0.17
1、 coreutils-0.0.17-aarch64-unknown-linux-gnu.tar.gz 3.34MB
2、 coreutils-0.0.17-arm-unknown-linux-gnueabihf.tar.gz 3.39MB
3、 coreutils-0.0.17-i686-pc-windows-msvc.zip 2.65MB
4、 coreutils-0.0.17-i686-unknown-linux-gnu.tar.gz 4.98MB
5、 coreutils-0.0.17-i686-unknown-linux-musl.tar.gz 3.79MB
6、 coreutils-0.0.17-x86_64-apple-darwin.tar.gz 3.56MB
7、 coreutils-0.0.17-x86_64-pc-windows-gnu.zip 3.95MB
8、 coreutils-0.0.17-x86_64-pc-windows-msvc.zip 2.85MB
9、 coreutils-0.0.17-x86_64-unknown-linux-gnu.tar.gz 4.68MB
10、 coreutils-0.0.17-x86_64-unknown-linux-musl.tar.gz 3.62MB
11、 coreutils-musl_0.0.17_amd64.deb 2.63MB
12、 coreutils-musl_0.0.17_i686.deb 2.82MB
13、 coreutils_0.0.17_amd64.deb 3.38MB
14、 coreutils_0.0.17_arm64.deb 2.44MB
15、 coreutils_0.0.17_armhf.deb 2.45MB
16、 coreutils_0.0.17_i686.deb 3.7MB