coreutils/README.md

188 lines
3.9 KiB
Markdown
Raw Normal View History

2015-07-23 00:46:58 +00:00
uutils coreutils
2013-08-02 17:24:20 +00:00
================
[![License](http://img.shields.io/badge/license-MIT-blue.svg)](https://github.com/uutils/coreutils/blob/master/LICENSE)
2015-07-23 00:46:58 +00:00
[![Build Status](https://api.travis-ci.org/uutils/coreutils.svg?branch=master)](https://travis-ci.org/uutils/coreutils)
[![Build status](https://ci.appveyor.com/api/projects/status/787ltcxgy86r20le?svg=true)](https://ci.appveyor.com/project/Arcterus/coreutils)
2015-07-23 00:46:58 +00:00
2013-08-02 17:24:20 +00:00
uutils is an attempt at writing universal (as in cross-platform) CLI
utils in [Rust](http://www.rust-lang.org). This repo is to aggregate the GNU
2013-08-02 17:24:20 +00:00
coreutils rewrites.
Why?
----
2014-02-19 01:52:47 +00:00
Many GNU, Linux and other utils are pretty awesome, and obviously
2013-08-02 17:24:20 +00:00
[some](http://gnuwin32.sourceforge.net) [effort](http://unxutils.sourceforge.net)
2014-02-19 01:52:47 +00:00
has been spent in the past to port them to Windows. However, those projects
2014-02-06 05:18:03 +00:00
are either old, abandoned, hosted on CVS, written in platform-specific C, etc.
2013-08-02 17:24:20 +00:00
2014-02-19 01:52:47 +00:00
Rust provides a good, platform-agnostic way of writing systems utils that are easy
2013-08-02 17:24:20 +00:00
to compile anywhere, and this is as good a way as any to try and learn it.
Build Instructions
------------------
To simply build all available utilities:
```
make
```
2014-10-26 04:54:37 +00:00
(on Windows use [MinGW/MSYS](http://www.mingw.org/wiki/MSYS) or `Cygwin` make and make sure you have `rustc` in `PATH`)
To build all but a few of the available utilities:
```
make SKIP_UTILS='UTILITY_1 UTILITY_2'
```
To build only a few of the available utilities:
```
make UTILS='UTILITY_1 UTILITY_2'
```
2014-06-13 02:14:56 +00:00
Installation Instructions
-------------------------
To install all available utilities:
```
make install
```
To install all but a few of the available utilities:
```
make SKIP_UTILS='UTILITY_1 UTILITY_2' install
2014-06-13 02:14:56 +00:00
```
To install only a few of the available utilities:
```
make UTILS='UTILITY_1 UTILITY_2' install
2014-06-13 02:14:56 +00:00
```
To install every program with a prefix (e.g. uu-echo uu-cat):
2014-06-13 02:14:56 +00:00
```
make PROG_PREFIX=PREFIX_GOES_HERE install
```
To install the multicall binary:
```
make MULTICALL=y install
```
Set install parent directory (default value is /usr/local):
```
2015-12-25 07:03:36 +00:00
make PREFIX=/my/path install
```
2014-06-13 02:14:56 +00:00
Uninstallation Instructions
---------------------------
2014-06-13 02:49:00 +00:00
To uninstall all utilities:
```
make uninstall
```
To uninstall every program with a set prefix:
2014-06-13 02:49:00 +00:00
```
make PROG_PREFIX=PREFIX_GOES_HERE uninstall
```
2014-06-13 02:14:56 +00:00
To uninstall the multicall binary:
```
make MULTICALL=y uninstall
```
To uninstall from a custom parent directory:
```
2015-12-25 07:03:36 +00:00
make PREFIX=/my/path uninstall
```
Test Instructions
-----------------
To simply test all available utilities:
```
make test
```
To test all but a few of the available utilities:
```
make SKIP_UTILS='UTILITY_1 UTILITY_2' test
```
To test only a few of the available utilities:
```
make UTILS='UTILITY_1 UTILITY_2' test
```
To include tests for unimplemented behavior:
```
make UTILS='UTILITY_1 UTILITY_2' SPEC=y test
```
Run busybox tests
-----------------
This testing functionality is only available on *nix operating systems
To run busybox's tests for all utilities for which busybox has tests
```
make busytest
```
To run busybox's tests for a few of the available utilities
```
make UTILS='UTILITY_1 UTILITY_2' busytest
```
To pass an argument like "-v" to the busybox test runtime
```
make UTILS='UTILITY_1 UTILITY_2' RUNTEST_ARGS='-v' busytest
```
2013-11-30 23:07:22 +00:00
Contribute
----------
To contribute to coreutils, please see [CONTRIBUTING](CONTRIBUTING.md).
2013-11-30 23:07:22 +00:00
2013-08-02 17:24:20 +00:00
To do
-----
- chcon
- chgrp
- chown
- copy
2014-06-13 02:14:56 +00:00
- cp (not much done)
2013-08-02 17:24:20 +00:00
- csplit
- date
- dd
- df
- expr (almost done, no regular expressions)
2013-08-02 17:24:20 +00:00
- getlimits
- install
- join
- ls
2016-01-03 10:10:47 +00:00
- mktemp (almost done, some options are not working)
2014-12-18 02:49:43 +00:00
- mv (almost done, one more option)
2013-08-02 17:24:20 +00:00
- numfmt
- od (in progress, needs lots of work)
2013-08-02 17:24:20 +00:00
- pathchk
- pinky
- pr
- printf
- remove
- runcon
- setuidgid
2014-12-18 02:49:43 +00:00
- sort (a couple of options implemented)
- split (a couple of missing options)
2013-08-02 17:24:20 +00:00
- stat
- stty
- tail (not all features implemented)
2014-07-12 01:12:29 +00:00
- test (not all features implemented)
2014-12-18 02:49:43 +00:00
- uniq (a couple of missing options)
2013-08-02 17:24:20 +00:00
- who
License
-------
uutils is licensed under the MIT License - see the `LICENSE` file for details