mirror of
https://github.com/RGBCube/uutils-coreutils
synced 2025-07-29 20:17:45 +00:00
Merge pull request #2942 from tertsdiepraam/readme-docs
README: reference the docs & rewrite why section
This commit is contained in:
commit
ef91e6abc3
1 changed files with 22 additions and 19 deletions
41
README.md
41
README.md
|
@ -15,27 +15,30 @@
|
||||||
<!-- spell-checker:ignore markdownlint ; (options) DESTDIR RUNTEST UTILNAME -->
|
<!-- spell-checker:ignore markdownlint ; (options) DESTDIR RUNTEST UTILNAME -->
|
||||||
|
|
||||||
uutils is an attempt at writing universal (as in cross-platform) CLI
|
uutils is an attempt at writing universal (as in cross-platform) CLI
|
||||||
utilities in [Rust](http://www.rust-lang.org). This repository is intended to
|
utilities in [Rust](http://www.rust-lang.org).
|
||||||
aggregate GNU coreutils rewrites.
|
|
||||||
|
|
||||||
## Why?
|
## Why?
|
||||||
|
|
||||||
Many GNU, Linux and other utilities are useful, and obviously
|
uutils aims to work on as many platforms as possible, to be able to use the
|
||||||
[some](http://gnuwin32.sourceforge.net) [effort](http://unxutils.sourceforge.net)
|
same utils on Linux, Mac, Windows and other platforms. This ensures, for
|
||||||
has been spent in the past to port them to Windows. However, those projects
|
example, that scripts can be easily transferred between platforms. Rust was
|
||||||
are written in platform-specific C, a language considered unsafe compared to Rust, and
|
chosen not only because it is fast and safe, but is also excellent for
|
||||||
have other issues.
|
writing cross-platform code.
|
||||||
|
|
||||||
Rust provides a good, platform-agnostic way of writing systems utilities that are easy
|
## Documentation
|
||||||
to compile anywhere, and this is as good a way as any to try and learn it.
|
uutils has both user and developer documentation available:
|
||||||
|
|
||||||
|
- [User Manual](https://uutils.github.io/coreutils-docs/user/)
|
||||||
|
- [Developer Documentation](https://uutils.github.io/coreutils-docs/dev/)
|
||||||
|
|
||||||
|
Both can also be generated locally, the instructions for that can be found in the
|
||||||
|
[coreutils docs](https://github.com/uutils/coreutils-docs) repository.
|
||||||
|
|
||||||
<!-- ANCHOR: installation (this mark is needed for mdbook) -->
|
<!-- ANCHOR: installation (this mark is needed for mdbook) -->
|
||||||
## Requirements
|
## Requirements
|
||||||
|
|
||||||
* Rust (`cargo`, `rustc`)
|
* Rust (`cargo`, `rustc`)
|
||||||
* GNU Make (required to build documentation)
|
* GNU Make (optional)
|
||||||
* [Sphinx](http://www.sphinx-doc.org/) (for documentation)
|
|
||||||
* gzip (for installing documentation)
|
|
||||||
|
|
||||||
### Rust Version
|
### Rust Version
|
||||||
|
|
||||||
|
@ -44,7 +47,7 @@ The current oldest supported version of the Rust compiler is `1.54`.
|
||||||
|
|
||||||
On both Windows and Redox, only the nightly version is tested currently.
|
On both Windows and Redox, only the nightly version is tested currently.
|
||||||
|
|
||||||
## Build Instructions
|
## Building
|
||||||
|
|
||||||
There are currently two methods to build the uutils binaries: either Cargo
|
There are currently two methods to build the uutils binaries: either Cargo
|
||||||
or GNU Make.
|
or GNU Make.
|
||||||
|
@ -123,7 +126,7 @@ To build only a few of the available utilities:
|
||||||
$ make UTILS='UTILITY_1 UTILITY_2'
|
$ make UTILS='UTILITY_1 UTILITY_2'
|
||||||
```
|
```
|
||||||
|
|
||||||
## Installation Instructions
|
## Installation
|
||||||
|
|
||||||
### Cargo
|
### Cargo
|
||||||
|
|
||||||
|
@ -213,7 +216,7 @@ run:
|
||||||
cargo run completion ls bash > /usr/local/share/bash-completion/completions/ls
|
cargo run completion ls bash > /usr/local/share/bash-completion/completions/ls
|
||||||
```
|
```
|
||||||
|
|
||||||
## Un-installation Instructions
|
## Un-installation
|
||||||
|
|
||||||
Un-installation differs depending on how you have installed uutils. If you used
|
Un-installation differs depending on how you have installed uutils. If you used
|
||||||
Cargo to install, use Cargo to uninstall. If you used GNU Make to install, use
|
Cargo to install, use Cargo to uninstall. If you used GNU Make to install, use
|
||||||
|
@ -255,7 +258,7 @@ $ make PREFIX=/my/path uninstall
|
||||||
```
|
```
|
||||||
<!-- ANCHOR_END: installation (this mark is needed for mdbook) -->
|
<!-- ANCHOR_END: installation (this mark is needed for mdbook) -->
|
||||||
|
|
||||||
## Test Instructions
|
## Testing
|
||||||
|
|
||||||
Testing can be done using either Cargo or `make`.
|
Testing can be done using either Cargo or `make`.
|
||||||
|
|
||||||
|
@ -321,7 +324,7 @@ To include tests for unimplemented behavior:
|
||||||
$ make UTILS='UTILITY_1 UTILITY_2' SPEC=y test
|
$ make UTILS='UTILITY_1 UTILITY_2' SPEC=y test
|
||||||
```
|
```
|
||||||
|
|
||||||
## Run Busybox Tests
|
### Run Busybox Tests
|
||||||
|
|
||||||
This testing functionality is only available on *nix operating systems and
|
This testing functionality is only available on *nix operating systems and
|
||||||
requires `make`.
|
requires `make`.
|
||||||
|
@ -344,7 +347,7 @@ To pass an argument like "-v" to the busybox test runtime
|
||||||
$ make UTILS='UTILITY_1 UTILITY_2' RUNTEST_ARGS='-v' busytest
|
$ make UTILS='UTILITY_1 UTILITY_2' RUNTEST_ARGS='-v' busytest
|
||||||
```
|
```
|
||||||
|
|
||||||
## Comparing with GNU
|
### Comparing with GNU
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
|
@ -359,7 +362,7 @@ $ bash util/run-gnu-test.sh tests/touch/not-owner.sh # for example
|
||||||
|
|
||||||
Note that it relies on individual utilities (not the multicall binary).
|
Note that it relies on individual utilities (not the multicall binary).
|
||||||
|
|
||||||
## Contribute
|
## Contributing
|
||||||
|
|
||||||
To contribute to uutils, please see [CONTRIBUTING](CONTRIBUTING.md).
|
To contribute to uutils, please see [CONTRIBUTING](CONTRIBUTING.md).
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue