Update of GNU Coreutils rewritten in Rust

The release of uutils coreutils 0.0.12 has been presented, which develops an analogue of the GNU Coreutils package, rewritten in Rust. The coreutils package includes over a hundred utilities, including sort, cat, chmod, chown, chroot, cp, date, dd, echo, hostname, id, ln, and ls. Simultaneously, the uutils findutils 0.3.0 package has been released, implementing utilities from the GNU Findutils set (find, locate, updatedb, and xargs) in Rust.

The project was created with the reason of using Rust to develop a cross-platform alternative implementation of Coreutils and Findutils, capable of running on platforms such as Windows, Redox, and Fuchsia. Another important difference of uutils is its distribution under the permissive MIT license, instead of the copyleft GPL license.

Currently, the implementation of 88 utilities has been fully brought to parity with GNU Coreutils. Some shortcomings are noted in 18 utilities, including cp, dd, date, df, install, ls, more, sort, split, tail, and test. Only the stty utility remains unimplemented. During the testing suite from the GNU Coreutils project, 214 tests pass successfully, but 313 tests of the Rust analogue do not yet pass. Meanwhile, the development intensity of the project has notably increased — 400-470 patches are added per month from 20-50 developers instead of 30-60 from 3-8 developers a year ago.

Update of GNU Coreutils rewritten in Rust

Recent achievements include performance optimization — many utilities, such as head and cut, significantly outperform their counterparts from GNU Coreutils in current conditions. The test coverage has expanded from 55% to 75% of the entire code (with a target goal of 80%). Code refactoring has been carried out to simplify maintenance; for example, error handling has been unified across different programs, and the code for handling permissions in chgrp and chown has been combined. Numerous changes have been added to improve compatibility with GNU Coreutils.

Future plans include the implementation of the stty utility, continued work on improving compatibility with GNU Coreutils, adding optimizations to reduce the size of executable files, as well as ongoing experiments to use uutils utilities instead of GNU Coreutils and GNU Findutils in Debian and Ubuntu (one of the main developers of uutils previously worked on the Debian GNU/Linux building project using the Clang compiler). Additionally, the preparation of the uutils-coreutils package for macOS is noted, along with experiments to replace GNU Coreutils with uutils coreutils in NixOS, the intention to use uutils coreutils by default in the Apertis distribution, and the adaptation of the uutils set for Redox OS.

Source: opennet.ru

Buy reliable website hosting with DDoS protection, VPS VDS servers 🔥 Buy reliable website hosting with DDoS protection, VPS VDS servers | ProHoster