uutils / coreutils Goto Github PK
View Code? Open in Web Editor NEWCross-platform Rust rewrite of the GNU coreutils
Home Page: https://uutils.github.io/
License: MIT License
Cross-platform Rust rewrite of the GNU coreutils
Home Page: https://uutils.github.io/
License: MIT License
I'll do this too, seeing as it's so closely related to rm.
The id
program has options that will do the same as groups
program.
Also, the id
program has a bunch of structs that could be reused not only by groups, but other programs.
Before proceeding with the groups
program, I want to ask for some help to decide what to do.
whoami
, id
and potentially groups
could those structs.id
program functions public so that groups can reuse them with no effort.Thanks.
May I take head ?
thanks.
Dev branch could be used as some centralized place for testing / reviewing pull requests.
For example my and this #77 pull request can be there together so we will see how will they work together.
What do you think?
Hi,
I would like to get my hand dirty on ls
stuff? but not sure if someone is working on it yet
I'm working on base64
I'll do this.
I already implemented a version for linux only. First I use strftime to format time but removed it because of simplicity and less dependencies.
It uses /proc/uptime for uptime, code from users for the number of users and getloadavg() for load average. Both /proc/uptime and getloadavg are unix only (linux only?) so in the meantime I added uptime to UNIX_PROGS.
Based roughly on the code from C coreutils.
I think this is an excellent project that many people can contribute to, since it can be developed in parallel by its nature.
To avoid the possibility of multiple people working on the same util, it'd be nice to have a way for people to "claim" an item.
I personally don't like it.
So in nutshell what about adding
notifications:
email: false
to .travis
I will be working on echo
. Just wanted to make sure no one else is working on it :)
Hey guys,
While I was trying to extract code from id.rs to use it in groups.rs I stumble upon a problem with the macros that we currently use. I've exposed this problem in the most recent meetup and also in the IRC, and the conclusion was basically the same.
The problem is the following.
groups.rs will include c_types.rs
c_types.rs will use crash! that is defined in util.rs which is being included by groups.rs
When I try to compile the program, I get this error:
sh -c 'rustc --opt-level=3 -o build/id id/id.rs'
common/util.rs:16:62: 16:66 error: unresolved name `NAME`. Did you mean `free`?
common/util.rs:16 safe_write!(&mut ::std::io::stderr(), "{}: error: ", NAME);
^~~~
note: in expansion of format_args!
<std macros>:4:9: 5:6 note: expansion site
<std macros>:1:1: 1:1 note: in expansion of write!
common/util.rs:32:15: 32:40 note: expansion site
common/util.rs:30:1: 37:2 note: in expansion of safe_write!
common/util.rs:16:9: 16:68 note: expansion site
common/util.rs:13:1: 19:2 note: in expansion of show_error!
common/util.rs:24:9: 24:44 note: expansion site
common/util.rs:22:1: 27:2 note: in expansion of crash!
common/c_types.rs:48:17: 48:59 note: expansion site
common/util.rs:16:62: 16:66 error: unresolved name `NAME`. Did you mean `free`?
common/util.rs:16 safe_write!(&mut ::std::io::stderr(), "{}: error: ", NAME);
^~~~
E.g. I think cat -n
is particularly slow because it is doing a syscall to read 2 bytes at a time, wrapping the file reader in a std::rt::io::buffered::BufferedReader
would likely fix this. (NB this is probably unnecessary overhead for cat
without an arguments.)
I'll do this.
note: build\whoami.o:fake:(.text+0x687): undefined reference to `geteuid'
build\whoami.o:fake:(.text+0x68f): undefined reference to `getpwuid'
After thinking about this, I'm pretty sure that rather than a dev
branch, we should have individual branches for big projects that are not yet "complete" (e.g. cp
). What does everyone else think?
Hi! I will take uniq
unless anyone objects.
I know its a rust issue, but looking at about 3MB for each binary, versus around 100KB for coreutils binaries on my system (ubuntu 14.04), I wonder if there is anything that can be done to cut it down.
What about an logo image?
What do you want to see as logo image?
What about the ring from Rust logo and some instruments in the middle?
Taking on du
!
Working on it...
I'd like to implement basename
.
I'd like to do this.
Some of utils are currently linux only. whoami
, hostname
... We should separate them from crossplatform list somehow.
And ideally make the make
to automatically detect to use both lists or crossplatform only
I'm using rust -v 0.9-pre (aa4455e...)
When I do make
on the main directory, cat fails with this.
sh -c 'rustc --opt-level=3 -o build/cat cat/cat.rs'
cat/cat.rs:185:32: 185:53 error: unresolved name `std::path::Path::init`.
cat/cat.rs:185 match result(|| File::open(&std::path::Path::init(path.as_slice()))) {
^~~~~~~~~~~~~~~~~~~~~
error: aborting due to previous error
task 'rustc' failed at 'explicit failure', /Users/alan/lang/rust/src/libsyntax/diagnostic.rs:102
task '<main>' failed at 'explicit failure', /Users/alan/lang/rust/src/librustc/lib.rs:390
make: *** [build/cat] Error 101
Is it me or the program ?
I'd like to work on this.
logname
is very similar to whoami
. Do i need to use a common folder, like stated in #103?
We should have the Makefile prevent certain programs from building on the various operating systems (most specifically Windows).
I'd like to work on this. (I already started in fact).
I saw there was already #34 but no answer since 3 months so I'd like to take the liberty to do it if there is no problem with that.
I'm working on tee
.
What about setting it as linux-only?
For example, some utilities display errors like utilname: error msg
, while others do it like error: error msg
, while yet more do error msg
.
IMHO, they should all be utilname: error: error msg
or something of the sort. That way, people will know which utility failed if multiple are executed in a shell script and for normal usage people will be able to tell that there was an error.
for example for crash!
: Heather@f6c4602
I'll do this as well.
Reviewing other pull requests to not implement the same is hard.
Faster reaction on them will help.
Suggestion: add answer to readme.
If target rust version is not current then create branch for current version.
I ask because for example there is no from_utf8_slice_opt
anymore
WIP.
I'll work on this.
Hey guys, I'd like to implement hostname. It that ok ?
thanks :)
What exactly are we aiming for in these implementations: are we aiming to replicate the quirks of the GNU implementations exactly? Or trying to be POSIXly correct? Or just doing our best for now and worrying about the details later?
My 2p: the GNU quirks aren't all good, e.g. GNU uniq -i
thinks 'Γ' and 'γ' are distinct.
After commit rust-lang/rust@e09a8e8, the link
attribute is obsolete. It's an easy fix, but the author
parameter is lost. I don't know if there's another attribute to use for that. In any case it doesn't seem significant.
I'm working on cp
.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.