mirror of
https://github.com/RGBCube/uutils-coreutils
synced 2025-09-15 03:26:18 +00:00
docs/README ~ fix markdown lint complaints (blanks-around-fences)
This commit is contained in:
parent
26937b5d69
commit
a309c7cab0
1 changed files with 33 additions and 0 deletions
33
README.md
33
README.md
|
@ -48,6 +48,7 @@ while there may be two methods, both systems are required to build on Unix
|
||||||
(only Cargo is required on Windows).
|
(only Cargo is required on Windows).
|
||||||
|
|
||||||
First, for both methods, we need to fetch the repository:
|
First, for both methods, we need to fetch the repository:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
$ git clone https://github.com/uutils/coreutils
|
$ git clone https://github.com/uutils/coreutils
|
||||||
$ cd coreutils
|
$ cd coreutils
|
||||||
|
@ -57,6 +58,7 @@ $ cd coreutils
|
||||||
|
|
||||||
Building uutils using Cargo is easy because the process is the same as for
|
Building uutils using Cargo is easy because the process is the same as for
|
||||||
every other Rust program:
|
every other Rust program:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# to keep debug information, compile without --release
|
# to keep debug information, compile without --release
|
||||||
$ cargo build --release
|
$ cargo build --release
|
||||||
|
@ -65,6 +67,7 @@ $ cargo build --release
|
||||||
Because the above command attempts to build utilities that only work on
|
Because the above command attempts to build utilities that only work on
|
||||||
Unix-like platforms at the moment, to build on Windows, you must do the
|
Unix-like platforms at the moment, to build on Windows, you must do the
|
||||||
following:
|
following:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# to keep debug information, compile without --release
|
# to keep debug information, compile without --release
|
||||||
$ cargo build --release --no-default-features --features windows
|
$ cargo build --release --no-default-features --features windows
|
||||||
|
@ -73,12 +76,14 @@ $ cargo build --release --no-default-features --features windows
|
||||||
If you don't want to build every utility available on your platform into the
|
If you don't want to build every utility available on your platform into the
|
||||||
multicall binary (the Busybox-esque binary), you can also specify which ones
|
multicall binary (the Busybox-esque binary), you can also specify which ones
|
||||||
you want to build manually. For example:
|
you want to build manually. For example:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
$ cargo build --features "base32 cat echo rm" --no-default-features
|
$ cargo build --features "base32 cat echo rm" --no-default-features
|
||||||
```
|
```
|
||||||
|
|
||||||
If you don't even want to build the multicall binary and would prefer to just
|
If you don't even want to build the multicall binary and would prefer to just
|
||||||
build the utilities as individual binaries, that is possible too. For example:
|
build the utilities as individual binaries, that is possible too. For example:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
$ cargo build -p uu_base32 -p uu_cat -p uu_echo -p uu_rm
|
$ cargo build -p uu_base32 -p uu_cat -p uu_echo -p uu_rm
|
||||||
```
|
```
|
||||||
|
@ -88,16 +93,19 @@ $ cargo build -p uu_base32 -p uu_cat -p uu_echo -p uu_rm
|
||||||
Building using `make` is a simple process as well.
|
Building using `make` is a simple process as well.
|
||||||
|
|
||||||
To simply build all available utilities:
|
To simply build all available utilities:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
$ make
|
$ make
|
||||||
```
|
```
|
||||||
|
|
||||||
To build all but a few of the available utilities:
|
To build all but a few of the available utilities:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
$ make SKIP_UTILS='UTILITY_1 UTILITY_2'
|
$ make SKIP_UTILS='UTILITY_1 UTILITY_2'
|
||||||
```
|
```
|
||||||
|
|
||||||
To build only a few of the available utilities:
|
To build only a few of the available utilities:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
$ make UTILS='UTILITY_1 UTILITY_2'
|
$ make UTILS='UTILITY_1 UTILITY_2'
|
||||||
```
|
```
|
||||||
|
@ -107,6 +115,7 @@ $ make UTILS='UTILITY_1 UTILITY_2'
|
||||||
### Cargo
|
### Cargo
|
||||||
|
|
||||||
Likewise, installing can simply be done using:
|
Likewise, installing can simply be done using:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
$ cargo install --path .
|
$ cargo install --path .
|
||||||
```
|
```
|
||||||
|
@ -116,36 +125,43 @@ This command will install uutils into Cargo's *bin* folder (*e.g.* `$HOME/.cargo
|
||||||
### GNU Make
|
### GNU Make
|
||||||
|
|
||||||
To install all available utilities:
|
To install all available utilities:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
$ make install
|
$ make install
|
||||||
```
|
```
|
||||||
|
|
||||||
To install using `sudo` switch `-E` must be used:
|
To install using `sudo` switch `-E` must be used:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
$ sudo -E make install
|
$ sudo -E make install
|
||||||
```
|
```
|
||||||
|
|
||||||
To install all but a few of the available utilities:
|
To install all but a few of the available utilities:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
$ make SKIP_UTILS='UTILITY_1 UTILITY_2' install
|
$ make SKIP_UTILS='UTILITY_1 UTILITY_2' install
|
||||||
```
|
```
|
||||||
|
|
||||||
To install only a few of the available utilities:
|
To install only a few of the available utilities:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
$ make UTILS='UTILITY_1 UTILITY_2' install
|
$ make UTILS='UTILITY_1 UTILITY_2' install
|
||||||
```
|
```
|
||||||
|
|
||||||
To install every program with a prefix (e.g. uu-echo uu-cat):
|
To install every program with a prefix (e.g. uu-echo uu-cat):
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
$ make PROG_PREFIX=PREFIX_GOES_HERE install
|
$ make PROG_PREFIX=PREFIX_GOES_HERE install
|
||||||
```
|
```
|
||||||
|
|
||||||
To install the multicall binary:
|
To install the multicall binary:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
$ make MULTICALL=y install
|
$ make MULTICALL=y install
|
||||||
```
|
```
|
||||||
|
|
||||||
Set install parent directory (default value is /usr/local):
|
Set install parent directory (default value is /usr/local):
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# DESTDIR is also supported
|
# DESTDIR is also supported
|
||||||
$ make PREFIX=/my/path install
|
$ make PREFIX=/my/path install
|
||||||
|
@ -169,6 +185,7 @@ Make to uninstall.
|
||||||
### Cargo
|
### Cargo
|
||||||
|
|
||||||
To uninstall uutils:
|
To uninstall uutils:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
$ cargo uninstall uutils
|
$ cargo uninstall uutils
|
||||||
```
|
```
|
||||||
|
@ -176,21 +193,25 @@ $ cargo uninstall uutils
|
||||||
### GNU Make
|
### GNU Make
|
||||||
|
|
||||||
To uninstall all utilities:
|
To uninstall all utilities:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
$ make uninstall
|
$ make uninstall
|
||||||
```
|
```
|
||||||
|
|
||||||
To uninstall every program with a set prefix:
|
To uninstall every program with a set prefix:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
$ make PROG_PREFIX=PREFIX_GOES_HERE uninstall
|
$ make PROG_PREFIX=PREFIX_GOES_HERE uninstall
|
||||||
```
|
```
|
||||||
|
|
||||||
To uninstall the multicall binary:
|
To uninstall the multicall binary:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
$ make MULTICALL=y uninstall
|
$ make MULTICALL=y uninstall
|
||||||
```
|
```
|
||||||
|
|
||||||
To uninstall from a custom parent directory:
|
To uninstall from a custom parent directory:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# DESTDIR is also supported
|
# DESTDIR is also supported
|
||||||
$ make PREFIX=/my/path uninstall
|
$ make PREFIX=/my/path uninstall
|
||||||
|
@ -204,27 +225,32 @@ Testing can be done using either Cargo or `make`.
|
||||||
|
|
||||||
Just like with building, we follow the standard procedure for testing using
|
Just like with building, we follow the standard procedure for testing using
|
||||||
Cargo:
|
Cargo:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
$ cargo test
|
$ cargo test
|
||||||
```
|
```
|
||||||
|
|
||||||
By default, `cargo test` only runs the common programs. To run also platform
|
By default, `cargo test` only runs the common programs. To run also platform
|
||||||
specific tests, run:
|
specific tests, run:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
$ cargo test --features unix
|
$ cargo test --features unix
|
||||||
```
|
```
|
||||||
|
|
||||||
If you would prefer to test a select few utilities:
|
If you would prefer to test a select few utilities:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
$ cargo test --features "chmod mv tail" --no-default-features
|
$ cargo test --features "chmod mv tail" --no-default-features
|
||||||
```
|
```
|
||||||
|
|
||||||
If you also want to test the core utilities:
|
If you also want to test the core utilities:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
$ cargo test -p uucore -p coreutils
|
$ cargo test -p uucore -p coreutils
|
||||||
```
|
```
|
||||||
|
|
||||||
To debug:
|
To debug:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
$ gdb --args target/debug/coreutils ls
|
$ gdb --args target/debug/coreutils ls
|
||||||
(gdb) b ls.rs:79
|
(gdb) b ls.rs:79
|
||||||
|
@ -234,21 +260,25 @@ $ gdb --args target/debug/coreutils ls
|
||||||
### GNU Make
|
### GNU Make
|
||||||
|
|
||||||
To simply test all available utilities:
|
To simply test all available utilities:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
$ make test
|
$ make test
|
||||||
```
|
```
|
||||||
|
|
||||||
To test all but a few of the available utilities:
|
To test all but a few of the available utilities:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
$ make SKIP_UTILS='UTILITY_1 UTILITY_2' test
|
$ make SKIP_UTILS='UTILITY_1 UTILITY_2' test
|
||||||
```
|
```
|
||||||
|
|
||||||
To test only a few of the available utilities:
|
To test only a few of the available utilities:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
$ make UTILS='UTILITY_1 UTILITY_2' test
|
$ make UTILS='UTILITY_1 UTILITY_2' test
|
||||||
```
|
```
|
||||||
|
|
||||||
To include tests for unimplemented behavior:
|
To include tests for unimplemented behavior:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
$ make UTILS='UTILITY_1 UTILITY_2' SPEC=y test
|
$ make UTILS='UTILITY_1 UTILITY_2' SPEC=y test
|
||||||
```
|
```
|
||||||
|
@ -259,16 +289,19 @@ This testing functionality is only available on *nix operating systems and
|
||||||
requires `make`.
|
requires `make`.
|
||||||
|
|
||||||
To run busybox's tests for all utilities for which busybox has tests
|
To run busybox's tests for all utilities for which busybox has tests
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
$ make busytest
|
$ make busytest
|
||||||
```
|
```
|
||||||
|
|
||||||
To run busybox's tests for a few of the available utilities
|
To run busybox's tests for a few of the available utilities
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
$ make UTILS='UTILITY_1 UTILITY_2' busytest
|
$ make UTILS='UTILITY_1 UTILITY_2' busytest
|
||||||
```
|
```
|
||||||
|
|
||||||
To pass an argument like "-v" to the busybox test runtime
|
To pass an argument like "-v" to the busybox test runtime
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
$ make UTILS='UTILITY_1 UTILITY_2' RUNTEST_ARGS='-v' busytest
|
$ make UTILS='UTILITY_1 UTILITY_2' RUNTEST_ARGS='-v' busytest
|
||||||
```
|
```
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue