2014-02-08 21:35:26 +00:00
|
|
|
uutils coreutils [![Build Status](https://travis-ci.org/uutils/coreutils.png?branch=master)](https://travis-ci.org/uutils/coreutils)
|
2013-08-02 17:24:20 +00:00
|
|
|
================
|
|
|
|
|
|
|
|
uutils is an attempt at writing universal (as in cross-platform) CLI
|
|
|
|
utils in [Rust](http://rust-lang.org). This repo is to aggregate the GNU
|
|
|
|
coreutils rewrites.
|
|
|
|
|
|
|
|
Why?
|
|
|
|
----
|
|
|
|
|
|
|
|
Many GNU, linux and other utils are pretty awesome, and obviously
|
|
|
|
[some](http://gnuwin32.sourceforge.net) [effort](http://unxutils.sourceforge.net)
|
|
|
|
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
|
|
|
|
|
|
|
Rust provides a good platform-agnostic way of writing systems utils that are easy
|
|
|
|
to compile anywhere, and this is as good a way as any to try and learn it.
|
|
|
|
|
2013-12-27 21:32:56 +00:00
|
|
|
Build Instructions
|
|
|
|
------------------
|
|
|
|
|
|
|
|
To simply build all available utilities:
|
|
|
|
```
|
|
|
|
make
|
|
|
|
```
|
|
|
|
|
|
|
|
To build all but a few of the available utilities:
|
|
|
|
```
|
|
|
|
make DONT_BUILD='UTILITY_1 UTILITY_2'
|
|
|
|
```
|
|
|
|
|
|
|
|
To build only a few of the available utilities:
|
|
|
|
```
|
|
|
|
make BUILD='UTILITY_1 UTILITY_2'
|
|
|
|
```
|
|
|
|
|
|
|
|
Test Instructions
|
|
|
|
-----------------
|
|
|
|
|
|
|
|
To simply test all available utilities:
|
|
|
|
```
|
|
|
|
make test
|
|
|
|
```
|
|
|
|
|
|
|
|
To test all but a few of the available utilities:
|
|
|
|
```
|
|
|
|
make DONT_TEST='UTILITY_1 UTILITY_2' test
|
|
|
|
```
|
|
|
|
|
|
|
|
To test only a few of the available utilities:
|
|
|
|
```
|
|
|
|
make TEST='UTILITY_1 UTILITY_2' test
|
|
|
|
```
|
|
|
|
|
2013-11-30 23:07:22 +00:00
|
|
|
Contribute
|
|
|
|
----------
|
|
|
|
|
2013-12-15 19:04:49 +00:00
|
|
|
Contributions are very welcome, and should target rust's master branch until
|
|
|
|
rust 1.0 is released. You may *claim* an item on the to-do list by following
|
|
|
|
these steps:
|
2013-11-30 23:07:22 +00:00
|
|
|
|
|
|
|
1. Open an issue named "Implement [the utility of your choice]", e.g. "Implement ls"
|
|
|
|
2. State that you are working on this utility.
|
|
|
|
3. Develop the utility.
|
|
|
|
4. Submit a pull request and close the issue. Your pull request should include deleting the utility from the to-do list on this README.
|
|
|
|
|
|
|
|
The steps above imply that, before starting to work on a utility, you should search the issues to make sure no one else is working on it.
|
|
|
|
|
2013-08-02 17:24:20 +00:00
|
|
|
To do
|
|
|
|
-----
|
|
|
|
|
|
|
|
- chcon
|
|
|
|
- chgrp
|
|
|
|
- chmod
|
|
|
|
- chown-core
|
|
|
|
- chown
|
|
|
|
- chroot
|
|
|
|
- cksum
|
|
|
|
- comm
|
|
|
|
- copy
|
|
|
|
- cp-hash
|
|
|
|
- cp
|
|
|
|
- csplit
|
|
|
|
- cut
|
|
|
|
- date
|
|
|
|
- dd
|
|
|
|
- df
|
|
|
|
- dircolors
|
|
|
|
- du
|
|
|
|
- expand
|
|
|
|
- expr
|
|
|
|
- extent-scan
|
|
|
|
- factor
|
|
|
|
- find-mount-point
|
|
|
|
- fmt
|
|
|
|
- fold
|
|
|
|
- getlimits
|
|
|
|
- group-list
|
|
|
|
- groups
|
2013-12-10 05:25:01 +00:00
|
|
|
- head ( in progress )
|
2013-08-02 17:24:20 +00:00
|
|
|
- hostid
|
2013-12-08 06:45:24 +00:00
|
|
|
- hostname (in progress)
|
2014-01-12 21:00:34 +00:00
|
|
|
- id (in progress)
|
2013-08-02 17:24:20 +00:00
|
|
|
- install
|
|
|
|
- join
|
|
|
|
- kill
|
|
|
|
- lbracket
|
|
|
|
- libstdbuf
|
|
|
|
- link
|
|
|
|
- ln
|
|
|
|
- logname
|
|
|
|
- ls-dir
|
|
|
|
- ls-ls
|
|
|
|
- ls-vdir
|
|
|
|
- ls
|
|
|
|
- make-prime-list
|
|
|
|
- md5sum
|
|
|
|
- mkfifo
|
|
|
|
- mknod
|
|
|
|
- mktemp
|
|
|
|
- mv
|
|
|
|
- nice
|
|
|
|
- nl
|
|
|
|
- nohup
|
|
|
|
- nproc
|
|
|
|
- numfmt
|
|
|
|
- od
|
|
|
|
- operand2sig
|
|
|
|
- paste
|
|
|
|
- pathchk
|
|
|
|
- pinky
|
|
|
|
- pr
|
|
|
|
- printf
|
|
|
|
- prog-fprintf
|
|
|
|
- ptx
|
|
|
|
- readlink
|
|
|
|
- realpath
|
|
|
|
- relpath
|
|
|
|
- remove
|
|
|
|
- runcon
|
|
|
|
- setuidgid
|
|
|
|
- shred
|
|
|
|
- shuf
|
|
|
|
- sort
|
|
|
|
- split
|
|
|
|
- stat
|
|
|
|
- stdbuf
|
|
|
|
- stty
|
|
|
|
- sum
|
|
|
|
- sync
|
|
|
|
- tac-pipe
|
|
|
|
- tac
|
|
|
|
- tail
|
|
|
|
- test
|
|
|
|
- timeout
|
|
|
|
- touch
|
|
|
|
- tr
|
2014-02-06 05:18:03 +00:00
|
|
|
- truncate
|
2013-08-02 17:24:20 +00:00
|
|
|
- tsort
|
|
|
|
- uname-arch
|
|
|
|
- uname-uname
|
|
|
|
- uname
|
|
|
|
- unexpand
|
2013-11-29 19:40:54 +00:00
|
|
|
- uniq (in progress)
|
2013-08-02 17:24:20 +00:00
|
|
|
- unlink
|
|
|
|
- uptime
|
|
|
|
- who
|
|
|
|
|
|
|
|
License
|
|
|
|
-------
|
|
|
|
|
|
|
|
uutils are licensed under the MIT License - see the `LICENSE` file for details
|