mirror of
https://github.com/uutils/coreutils.git
synced 2026-06-10 15:48:22 -07:00
change ~ make all sub-crates independent
This commit is contained in:
+95
-94
@@ -218,100 +218,100 @@ lazy_static = { version="1.3" }
|
||||
textwrap = { version="=0.11.0", features=["term_size"] } # !maint: [2020-05-10; rivy] unstable crate using undocumented features; pinned currently, will review
|
||||
uucore = { version="0.0.2", package="uucore", git="https://github.com/uutils/uucore.git", branch="master" }
|
||||
# * uutils
|
||||
arch = { optional=true, path="src/uu/arch" }
|
||||
base32 = { optional=true, path="src/uu/base32" }
|
||||
base64 = { optional=true, path="src/uu/base64" }
|
||||
basename = { optional=true, path="src/uu/basename" }
|
||||
cat = { optional=true, path="src/uu/cat" }
|
||||
chgrp = { optional=true, path="src/uu/chgrp" }
|
||||
chmod = { optional=true, path="src/uu/chmod" }
|
||||
chown = { optional=true, path="src/uu/chown" }
|
||||
chroot = { optional=true, path="src/uu/chroot" }
|
||||
cksum = { optional=true, path="src/uu/cksum" }
|
||||
comm = { optional=true, path="src/uu/comm" }
|
||||
cp = { optional=true, path="src/uu/cp" }
|
||||
cut = { optional=true, path="src/uu/cut" }
|
||||
date = { optional=true, path="src/uu/date" }
|
||||
df = { optional=true, path="src/uu/df" }
|
||||
dircolors= { optional=true, path="src/uu/dircolors" }
|
||||
dirname = { optional=true, path="src/uu/dirname" }
|
||||
du = { optional=true, path="src/uu/du" }
|
||||
echo = { optional=true, path="src/uu/echo" }
|
||||
env = { optional=true, path="src/uu/env" }
|
||||
expand = { optional=true, path="src/uu/expand" }
|
||||
expr = { optional=true, path="src/uu/expr" }
|
||||
factor = { optional=true, path="src/uu/factor" }
|
||||
false = { optional=true, path="src/uu/false" }
|
||||
fmt = { optional=true, path="src/uu/fmt" }
|
||||
fold = { optional=true, path="src/uu/fold" }
|
||||
groups = { optional=true, path="src/uu/groups" }
|
||||
hashsum = { optional=true, path="src/uu/hashsum" }
|
||||
head = { optional=true, path="src/uu/head" }
|
||||
hostid = { optional=true, path="src/uu/hostid" }
|
||||
hostname = { optional=true, path="src/uu/hostname" }
|
||||
id = { optional=true, path="src/uu/id" }
|
||||
install = { optional=true, path="src/uu/install" }
|
||||
join = { optional=true, path="src/uu/join" }
|
||||
kill = { optional=true, path="src/uu/kill" }
|
||||
link = { optional=true, path="src/uu/link" }
|
||||
ln = { optional=true, path="src/uu/ln" }
|
||||
ls = { optional=true, path="src/uu/ls" }
|
||||
logname = { optional=true, path="src/uu/logname" }
|
||||
mkdir = { optional=true, path="src/uu/mkdir" }
|
||||
mkfifo = { optional=true, path="src/uu/mkfifo" }
|
||||
mknod = { optional=true, path="src/uu/mknod" }
|
||||
mktemp = { optional=true, path="src/uu/mktemp" }
|
||||
more = { optional=true, path="src/uu/more" }
|
||||
mv = { optional=true, path="src/uu/mv" }
|
||||
nice = { optional=true, path="src/uu/nice" }
|
||||
nl = { optional=true, path="src/uu/nl" }
|
||||
nohup = { optional=true, path="src/uu/nohup" }
|
||||
nproc = { optional=true, path="src/uu/nproc" }
|
||||
numfmt = { optional=true, path="src/uu/numfmt" }
|
||||
od = { optional=true, path="src/uu/od" }
|
||||
paste = { optional=true, path="src/uu/paste" }
|
||||
pathchk = { optional=true, path="src/uu/pathchk" }
|
||||
pinky = { optional=true, path="src/uu/pinky" }
|
||||
printenv = { optional=true, path="src/uu/printenv" }
|
||||
printf = { optional=true, path="src/uu/printf" }
|
||||
ptx = { optional=true, path="src/uu/ptx" }
|
||||
pwd = { optional=true, path="src/uu/pwd" }
|
||||
readlink = { optional=true, path="src/uu/readlink" }
|
||||
realpath = { optional=true, path="src/uu/realpath" }
|
||||
relpath = { optional=true, path="src/uu/relpath" }
|
||||
rm = { optional=true, path="src/uu/rm" }
|
||||
rmdir = { optional=true, path="src/uu/rmdir" }
|
||||
seq = { optional=true, path="src/uu/seq" }
|
||||
shred = { optional=true, path="src/uu/shred" }
|
||||
shuf = { optional=true, path="src/uu/shuf" }
|
||||
sleep = { optional=true, path="src/uu/sleep" }
|
||||
sort = { optional=true, path="src/uu/sort" }
|
||||
split = { optional=true, path="src/uu/split" }
|
||||
stat = { optional=true, path="src/uu/stat" }
|
||||
stdbuf = { optional=true, path="src/uu/stdbuf" }
|
||||
sum = { optional=true, path="src/uu/sum" }
|
||||
sync = { optional=true, path="src/uu/sync" }
|
||||
tac = { optional=true, path="src/uu/tac" }
|
||||
tail = { optional=true, path="src/uu/tail" }
|
||||
tee = { optional=true, path="src/uu/tee" }
|
||||
test = { optional=true, path="src/uu/test" }
|
||||
timeout = { optional=true, path="src/uu/timeout" }
|
||||
touch = { optional=true, path="src/uu/touch" }
|
||||
tr = { optional=true, path="src/uu/tr" }
|
||||
true = { optional=true, path="src/uu/true" }
|
||||
truncate = { optional=true, path="src/uu/truncate" }
|
||||
tsort = { optional=true, path="src/uu/tsort" }
|
||||
tty = { optional=true, path="src/uu/tty" }
|
||||
uname = { optional=true, path="src/uu/uname" }
|
||||
unexpand = { optional=true, path="src/uu/unexpand" }
|
||||
uniq = { optional=true, path="src/uu/uniq" }
|
||||
unlink = { optional=true, path="src/uu/unlink" }
|
||||
uptime = { optional=true, path="src/uu/uptime" }
|
||||
users = { optional=true, path="src/uu/users" }
|
||||
wc = { optional=true, path="src/uu/wc" }
|
||||
who = { optional=true, path="src/uu/who" }
|
||||
whoami = { optional=true, path="src/uu/whoami" }
|
||||
yes = { optional=true, path="src/uu/yes" }
|
||||
arch = { optional=true, version="0.0.1", package="uu_arch", path="src/uu/arch" }
|
||||
base32 = { optional=true, version="0.0.1", package="uu_base32", path="src/uu/base32" }
|
||||
base64 = { optional=true, version="0.0.1", package="uu_base64", path="src/uu/base64" }
|
||||
basename = { optional=true, version="0.0.1", package="uu_basename", path="src/uu/basename" }
|
||||
cat = { optional=true, version="0.0.1", package="uu_cat", path="src/uu/cat" }
|
||||
chgrp = { optional=true, version="0.0.1", package="uu_chgrp", path="src/uu/chgrp" }
|
||||
chmod = { optional=true, version="0.0.1", package="uu_chmod", path="src/uu/chmod" }
|
||||
chown = { optional=true, version="0.0.1", package="uu_chown", path="src/uu/chown" }
|
||||
chroot = { optional=true, version="0.0.1", package="uu_chroot", path="src/uu/chroot" }
|
||||
cksum = { optional=true, version="0.0.1", package="uu_cksum", path="src/uu/cksum" }
|
||||
comm = { optional=true, version="0.0.1", package="uu_comm", path="src/uu/comm" }
|
||||
cp = { optional=true, version="0.0.1", package="uu_cp", path="src/uu/cp" }
|
||||
cut = { optional=true, version="0.0.1", package="uu_cut", path="src/uu/cut" }
|
||||
date = { optional=true, version="0.0.1", package="uu_date", path="src/uu/date" }
|
||||
df = { optional=true, version="0.0.1", package="uu_df", path="src/uu/df" }
|
||||
dircolors= { optional=true, version="0.0.1", package="uu_dircolors", path="src/uu/dircolors" }
|
||||
dirname = { optional=true, version="0.0.1", package="uu_dirname", path="src/uu/dirname" }
|
||||
du = { optional=true, version="0.0.1", package="uu_du", path="src/uu/du" }
|
||||
echo = { optional=true, version="0.0.1", package="uu_echo", path="src/uu/echo" }
|
||||
env = { optional=true, version="0.0.1", package="uu_env", path="src/uu/env" }
|
||||
expand = { optional=true, version="0.0.1", package="uu_expand", path="src/uu/expand" }
|
||||
expr = { optional=true, version="0.0.1", package="uu_expr", path="src/uu/expr" }
|
||||
factor = { optional=true, version="0.0.1", package="uu_factor", path="src/uu/factor" }
|
||||
false = { optional=true, version="0.0.1", package="uu_false", path="src/uu/false" }
|
||||
fmt = { optional=true, version="0.0.1", package="uu_fmt", path="src/uu/fmt" }
|
||||
fold = { optional=true, version="0.0.1", package="uu_fold", path="src/uu/fold" }
|
||||
groups = { optional=true, version="0.0.1", package="uu_groups", path="src/uu/groups" }
|
||||
hashsum = { optional=true, version="0.0.1", package="uu_hashsum", path="src/uu/hashsum" }
|
||||
head = { optional=true, version="0.0.1", package="uu_head", path="src/uu/head" }
|
||||
hostid = { optional=true, version="0.0.1", package="uu_hostid", path="src/uu/hostid" }
|
||||
hostname = { optional=true, version="0.0.1", package="uu_hostname", path="src/uu/hostname" }
|
||||
id = { optional=true, version="0.0.1", package="uu_id", path="src/uu/id" }
|
||||
install = { optional=true, version="0.0.1", package="uu_install", path="src/uu/install" }
|
||||
join = { optional=true, version="0.0.1", package="uu_join", path="src/uu/join" }
|
||||
kill = { optional=true, version="0.0.1", package="uu_kill", path="src/uu/kill" }
|
||||
link = { optional=true, version="0.0.1", package="uu_link", path="src/uu/link" }
|
||||
ln = { optional=true, version="0.0.1", package="uu_ln", path="src/uu/ln" }
|
||||
ls = { optional=true, version="0.0.1", package="uu_ls", path="src/uu/ls" }
|
||||
logname = { optional=true, version="0.0.1", package="uu_logname", path="src/uu/logname" }
|
||||
mkdir = { optional=true, version="0.0.1", package="uu_mkdir", path="src/uu/mkdir" }
|
||||
mkfifo = { optional=true, version="0.0.1", package="uu_mkfifo", path="src/uu/mkfifo" }
|
||||
mknod = { optional=true, version="0.0.1", package="uu_mknod", path="src/uu/mknod" }
|
||||
mktemp = { optional=true, version="0.0.1", package="uu_mktemp", path="src/uu/mktemp" }
|
||||
more = { optional=true, version="0.0.1", package="uu_more", path="src/uu/more" }
|
||||
mv = { optional=true, version="0.0.1", package="uu_mv", path="src/uu/mv" }
|
||||
nice = { optional=true, version="0.0.1", package="uu_nice", path="src/uu/nice" }
|
||||
nl = { optional=true, version="0.0.1", package="uu_nl", path="src/uu/nl" }
|
||||
nohup = { optional=true, version="0.0.1", package="uu_nohup", path="src/uu/nohup" }
|
||||
nproc = { optional=true, version="0.0.1", package="uu_nproc", path="src/uu/nproc" }
|
||||
numfmt = { optional=true, version="0.0.1", package="uu_numfmt", path="src/uu/numfmt" }
|
||||
od = { optional=true, version="0.0.1", package="uu_od", path="src/uu/od" }
|
||||
paste = { optional=true, version="0.0.1", package="uu_paste", path="src/uu/paste" }
|
||||
pathchk = { optional=true, version="0.0.1", package="uu_pathchk", path="src/uu/pathchk" }
|
||||
pinky = { optional=true, version="0.0.1", package="uu_pinky", path="src/uu/pinky" }
|
||||
printenv = { optional=true, version="0.0.1", package="uu_printenv", path="src/uu/printenv" }
|
||||
printf = { optional=true, version="0.0.1", package="uu_printf", path="src/uu/printf" }
|
||||
ptx = { optional=true, version="0.0.1", package="uu_ptx", path="src/uu/ptx" }
|
||||
pwd = { optional=true, version="0.0.1", package="uu_pwd", path="src/uu/pwd" }
|
||||
readlink = { optional=true, version="0.0.1", package="uu_readlink", path="src/uu/readlink" }
|
||||
realpath = { optional=true, version="0.0.1", package="uu_realpath", path="src/uu/realpath" }
|
||||
relpath = { optional=true, version="0.0.1", package="uu_relpath", path="src/uu/relpath" }
|
||||
rm = { optional=true, version="0.0.1", package="uu_rm", path="src/uu/rm" }
|
||||
rmdir = { optional=true, version="0.0.1", package="uu_rmdir", path="src/uu/rmdir" }
|
||||
seq = { optional=true, version="0.0.1", package="uu_seq", path="src/uu/seq" }
|
||||
shred = { optional=true, version="0.0.1", package="uu_shred", path="src/uu/shred" }
|
||||
shuf = { optional=true, version="0.0.1", package="uu_shuf", path="src/uu/shuf" }
|
||||
sleep = { optional=true, version="0.0.1", package="uu_sleep", path="src/uu/sleep" }
|
||||
sort = { optional=true, version="0.0.1", package="uu_sort", path="src/uu/sort" }
|
||||
split = { optional=true, version="0.0.1", package="uu_split", path="src/uu/split" }
|
||||
stat = { optional=true, version="0.0.1", package="uu_stat", path="src/uu/stat" }
|
||||
stdbuf = { optional=true, version="0.0.1", package="uu_stdbuf", path="src/uu/stdbuf" }
|
||||
sum = { optional=true, version="0.0.1", package="uu_sum", path="src/uu/sum" }
|
||||
sync = { optional=true, version="0.0.1", package="uu_sync", path="src/uu/sync" }
|
||||
tac = { optional=true, version="0.0.1", package="uu_tac", path="src/uu/tac" }
|
||||
tail = { optional=true, version="0.0.1", package="uu_tail", path="src/uu/tail" }
|
||||
tee = { optional=true, version="0.0.1", package="uu_tee", path="src/uu/tee" }
|
||||
test = { optional=true, version="0.0.1", package="uu_test", path="src/uu/test" }
|
||||
timeout = { optional=true, version="0.0.1", package="uu_timeout", path="src/uu/timeout" }
|
||||
touch = { optional=true, version="0.0.1", package="uu_touch", path="src/uu/touch" }
|
||||
tr = { optional=true, version="0.0.1", package="uu_tr", path="src/uu/tr" }
|
||||
true = { optional=true, version="0.0.1", package="uu_true", path="src/uu/true" }
|
||||
truncate = { optional=true, version="0.0.1", package="uu_truncate", path="src/uu/truncate" }
|
||||
tsort = { optional=true, version="0.0.1", package="uu_tsort", path="src/uu/tsort" }
|
||||
tty = { optional=true, version="0.0.1", package="uu_tty", path="src/uu/tty" }
|
||||
uname = { optional=true, version="0.0.1", package="uu_uname", path="src/uu/uname" }
|
||||
unexpand = { optional=true, version="0.0.1", package="uu_unexpand", path="src/uu/unexpand" }
|
||||
uniq = { optional=true, version="0.0.1", package="uu_uniq", path="src/uu/uniq" }
|
||||
unlink = { optional=true, version="0.0.1", package="uu_unlink", path="src/uu/unlink" }
|
||||
uptime = { optional=true, version="0.0.1", package="uu_uptime", path="src/uu/uptime" }
|
||||
users = { optional=true, version="0.0.1", package="uu_users", path="src/uu/users" }
|
||||
wc = { optional=true, version="0.0.1", package="uu_wc", path="src/uu/wc" }
|
||||
who = { optional=true, version="0.0.1", package="uu_who", path="src/uu/who" }
|
||||
whoami = { optional=true, version="0.0.1", package="uu_whoami", path="src/uu/whoami" }
|
||||
yes = { optional=true, version="0.0.1", package="uu_yes", path="src/uu/yes" }
|
||||
#
|
||||
# * transitive dependency via 'failure'; pin to <= v0.3.30 to avoid increasing MinSRV to v1.33.0
|
||||
_backtrace = { version=">= 0.3.3, <= 0.3.30", package="backtrace" }
|
||||
@@ -324,6 +324,7 @@ regex = "1.0"
|
||||
tempdir = "0.3"
|
||||
time = "0.1"
|
||||
unindent = "0.1"
|
||||
uucore = { version="0.0.2", package="uucore", git="https://github.com/uutils/uucore.git", branch="master", features=["entries"] }
|
||||
|
||||
[target.'cfg(unix)'.dev-dependencies]
|
||||
rust-users = { version="0.10", package="users" }
|
||||
|
||||
@@ -1,3 +1,6 @@
|
||||
// spell-checker:ignore (utils) chgrp chmod chown chroot cksum dircolors hashsum hostid logname mkdir mkfifo mknod mktemp nohup nproc numfmt pathchk printenv printf readlink realpath relpath rmdir shuf stdbuf tsort uname unexpand whoami
|
||||
// spell-checker:ignore () uutils uumain rustfmt rustc macos krate
|
||||
|
||||
use std::env;
|
||||
use std::fs::File;
|
||||
use std::io::Write;
|
||||
@@ -40,30 +43,99 @@ pub fn main() {
|
||||
.unwrap();
|
||||
|
||||
for krate in crates {
|
||||
cf.write_all(format!("extern crate uu_{krate};\n", krate = krate).as_bytes())
|
||||
.unwrap();
|
||||
match krate.as_ref() {
|
||||
"arch"
|
||||
| "base32" | "base64" | "basename"
|
||||
| "cat" | "chgrp" | "chmod" | "chown" | "chroot" | "cksum" | "comm" | "cp" | "cut"
|
||||
| "date" | "df" | "dircolors" | "dirname" | "du"
|
||||
| "echo" | "env" | "expand" | "expr"
|
||||
| "factor" | "fmt" | "fold"
|
||||
| "groups"
|
||||
| "head" | "hostid" | "hostname"
|
||||
| "id" | "install"
|
||||
| "join"
|
||||
| "kill"
|
||||
| "link" | "ln" | "logname" | "ls"
|
||||
| "mkdir" | "mkfifo" | "mknod" | "mktemp" | "more" | "mv"
|
||||
| "nice" | "nl" | "nohup" | "nproc" | "numfmt"
|
||||
| "od"
|
||||
| "paste" | "pathchk" | "pinky" | "printenv" | "printf" | "ptx" | "pwd"
|
||||
| "readlink" | "realpath" | "relpath" | "rm" | "rmdir"
|
||||
| "seq" | "shred" | "shuf" | "sleep" | "sort" | "split" | "stat" | "stdbuf" | "sum" | "sync"
|
||||
| "tac" | "tail" | "tee" | "test" | "timeout" | "touch" | "tr" | "truncate" | "tsort" | "tty"
|
||||
| "uname" | "unexpand" | "uniq" | "unlink" | "uptime" | "users"
|
||||
| "wc" | "who" | "whoami"
|
||||
| "yes"
|
||||
| "false" | "true"
|
||||
| "hashsum"
|
||||
=> {
|
||||
// cf.write_all(format!("extern crate {krate};\n", krate = krate).as_bytes())
|
||||
// .unwrap();
|
||||
}
|
||||
_ => {
|
||||
cf.write_all(format!("extern crate uu_{krate};\n", krate = krate).as_bytes())
|
||||
.unwrap();
|
||||
}
|
||||
}
|
||||
|
||||
match krate.as_ref() {
|
||||
"hashsum" => {
|
||||
mf.write_all(
|
||||
"map.insert(\"hashsum\", uu_hashsum::uumain);
|
||||
map.insert(\"md5sum\", uu_hashsum::uumain);
|
||||
map.insert(\"sha1sum\", uu_hashsum::uumain);
|
||||
map.insert(\"sha224sum\", uu_hashsum::uumain);
|
||||
map.insert(\"sha256sum\", uu_hashsum::uumain);
|
||||
map.insert(\"sha384sum\", uu_hashsum::uumain);
|
||||
map.insert(\"sha512sum\", uu_hashsum::uumain);
|
||||
map.insert(\"sha3sum\", uu_hashsum::uumain);
|
||||
map.insert(\"sha3-224sum\", uu_hashsum::uumain);
|
||||
map.insert(\"sha3-256sum\", uu_hashsum::uumain);
|
||||
map.insert(\"sha3-384sum\", uu_hashsum::uumain);
|
||||
map.insert(\"sha3-512sum\", uu_hashsum::uumain);
|
||||
map.insert(\"shake128sum\", uu_hashsum::uumain);
|
||||
map.insert(\"shake256sum\", uu_hashsum::uumain);\n"
|
||||
"arch"
|
||||
| "base32" | "base64" | "basename"
|
||||
| "cat" | "chgrp" | "chmod" | "chown" | "chroot" | "cksum" | "comm" | "cp" | "cut"
|
||||
| "date" | "df" | "dircolors" | "dirname" | "du"
|
||||
| "echo" | "env" | "expand" | "expr"
|
||||
| "factor" | "fmt" | "fold"
|
||||
| "groups"
|
||||
| "head" | "hostid" | "hostname"
|
||||
| "id" | "install"
|
||||
| "join"
|
||||
| "kill"
|
||||
| "link" | "ln" | "logname" | "ls"
|
||||
| "mkdir" | "mkfifo" | "mknod" | "mktemp" | "more" | "mv"
|
||||
| "nice" | "nl" | "nohup" | "nproc" | "numfmt"
|
||||
| "od"
|
||||
| "paste" | "pathchk" | "pinky" | "printenv" | "printf" | "ptx" | "pwd"
|
||||
| "readlink" | "realpath" | "relpath" | "rm" | "rmdir"
|
||||
| "seq" | "shred" | "shuf" | "sleep" | "sort" | "split" | "stat" | "stdbuf" | "sum" | "sync"
|
||||
| "tac" | "tail" | "tee" | "test" | "timeout" | "touch" | "tr" | "truncate" | "tsort" | "tty"
|
||||
| "uname" | "unexpand" | "uniq" | "unlink" | "uptime" | "users"
|
||||
| "wc" | "who" | "whoami"
|
||||
| "yes"
|
||||
=> mf
|
||||
.write_all(
|
||||
format!("map.insert(\"{krate}\", {krate}::uumain);\n", krate = krate)
|
||||
.as_bytes(),
|
||||
)
|
||||
.unwrap();
|
||||
}
|
||||
.unwrap(),
|
||||
"false" | "true" => mf
|
||||
.write_all(
|
||||
format!("map.insert(\"{krate}\", r#{krate}::uumain);\n", krate = krate)
|
||||
.as_bytes(),
|
||||
)
|
||||
.unwrap(),
|
||||
"hashsum" => mf
|
||||
.write_all(
|
||||
format!(
|
||||
"
|
||||
map.insert(\"{krate}\", {krate}::uumain);
|
||||
map.insert(\"md5sum\", {krate}::uumain);
|
||||
map.insert(\"sha1sum\", {krate}::uumain);
|
||||
map.insert(\"sha224sum\", {krate}::uumain);
|
||||
map.insert(\"sha256sum\", {krate}::uumain);
|
||||
map.insert(\"sha384sum\", {krate}::uumain);
|
||||
map.insert(\"sha512sum\", {krate}::uumain);
|
||||
map.insert(\"sha3sum\", {krate}::uumain);
|
||||
map.insert(\"sha3-224sum\", {krate}::uumain);
|
||||
map.insert(\"sha3-256sum\", {krate}::uumain);
|
||||
map.insert(\"sha3-384sum\", {krate}::uumain);
|
||||
map.insert(\"sha3-512sum\", {krate}::uumain);
|
||||
map.insert(\"shake128sum\", {krate}::uumain);
|
||||
map.insert(\"shake256sum\", {krate}::uumain);\n",
|
||||
krate = krate
|
||||
)
|
||||
.as_bytes(),
|
||||
)
|
||||
.unwrap(),
|
||||
_ => mf
|
||||
.write_all(
|
||||
format!(
|
||||
|
||||
@@ -1,18 +1,17 @@
|
||||
[package]
|
||||
name = "arch"
|
||||
name = "uu_arch"
|
||||
version = "0.0.1"
|
||||
authors = []
|
||||
license = "MIT"
|
||||
build = "../../common/mkmain.rs"
|
||||
|
||||
[lib]
|
||||
name = "uu_arch"
|
||||
path = "src/arch.rs"
|
||||
|
||||
[dependencies]
|
||||
platform-info = "0.0.1"
|
||||
uucore = "0.0.2"
|
||||
uucore = { version="0.0.3", package="uucore", git="https://github.com/uutils/uucore.git", branch="canary" }
|
||||
uucore_procs = { version="0.0.3", package="uucore_procs", git="https://github.com/uutils/uucore.git", branch="canary" }
|
||||
|
||||
[[bin]]
|
||||
name = "arch"
|
||||
path = "../../common/uumain.rs"
|
||||
path = "src/main.rs"
|
||||
|
||||
@@ -1,5 +1,3 @@
|
||||
#![crate_name = "uu_arch"]
|
||||
|
||||
// This file is part of the uutils coreutils package.
|
||||
//
|
||||
// (c) Smigle00 <smigle00@gmail.com>
|
||||
@@ -7,7 +5,6 @@
|
||||
//
|
||||
// For the full copyright and license information, please view the LICENSE
|
||||
// file that was distributed with this source code.
|
||||
//
|
||||
|
||||
extern crate platform_info;
|
||||
#[macro_use]
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
uucore_procs::main!(uu_arch); // spell-checker:ignore procs uucore
|
||||
@@ -1,19 +1,18 @@
|
||||
[package]
|
||||
name = "base32"
|
||||
name = "uu_base32"
|
||||
version = "0.0.1"
|
||||
authors = []
|
||||
license = "MIT"
|
||||
build = "../../common/mkmain.rs"
|
||||
|
||||
[lib]
|
||||
name = "uu_base32"
|
||||
path = "src/base32.rs"
|
||||
|
||||
[dependencies]
|
||||
uucore = { version = "0.0.2", features = ["encoding"] }
|
||||
uucore = { version="0.0.3", package="uucore", git="https://github.com/uutils/uucore.git", branch="canary", features = ["encoding"] }
|
||||
uucore_procs = { version="0.0.3", package="uucore_procs", git="https://github.com/uutils/uucore.git", branch="canary" }
|
||||
## optional
|
||||
clippy = { version = "0.0.212", optional = true }
|
||||
|
||||
[[bin]]
|
||||
name = "base32"
|
||||
path = "../../common/uumain.rs"
|
||||
path = "src/main.rs"
|
||||
|
||||
@@ -4,15 +4,11 @@
|
||||
//
|
||||
// For the full copyright and license information, please view the LICENSE file
|
||||
// that was distributed with this source code.
|
||||
//
|
||||
|
||||
#![crate_name = "uu_base32"]
|
||||
|
||||
#[macro_use]
|
||||
extern crate uucore;
|
||||
use uucore::encoding::Format;
|
||||
|
||||
#[path = "../../base64/src/base_common.rs"]
|
||||
mod base_common;
|
||||
|
||||
static SYNTAX: &str = "[OPTION]... [FILE]";
|
||||
|
||||
@@ -0,0 +1,93 @@
|
||||
// This file is part of the uutils coreutils package.
|
||||
//
|
||||
// (c) Jordy Dickinson <jordy.dickinson@gmail.com>
|
||||
// (c) Jian Zeng <anonymousknight96@gmail.com>
|
||||
// (c) Alex Lyon <arcterus@mail.com>
|
||||
//
|
||||
// For the full copyright and license information, please view the LICENSE file
|
||||
// that was distributed with this source code.
|
||||
|
||||
use uucore;
|
||||
use uucore::encoding::{wrap_print, Data, Format};
|
||||
|
||||
use std::fs::File;
|
||||
use std::io::{stdin, BufReader, Read};
|
||||
use std::path::Path;
|
||||
|
||||
pub fn execute(
|
||||
args: Vec<String>,
|
||||
syntax: &str,
|
||||
summary: &str,
|
||||
long_help: &str,
|
||||
format: Format,
|
||||
) -> i32 {
|
||||
let matches = new_coreopts!(syntax, summary, long_help)
|
||||
.optflag("d", "decode", "decode data")
|
||||
.optflag(
|
||||
"i",
|
||||
"ignore-garbage",
|
||||
"when decoding, ignore non-alphabetic characters",
|
||||
)
|
||||
.optopt(
|
||||
"w",
|
||||
"wrap",
|
||||
"wrap encoded lines after COLS character (default 76, 0 to disable wrapping)",
|
||||
"COLS",
|
||||
)
|
||||
.parse(args);
|
||||
|
||||
let line_wrap = matches.opt_str("wrap").map(|s| match s.parse() {
|
||||
Ok(n) => n,
|
||||
Err(e) => {
|
||||
crash!(1, "invalid wrap size: ‘{}’: {}", s, e);
|
||||
}
|
||||
});
|
||||
let ignore_garbage = matches.opt_present("ignore-garbage");
|
||||
let decode = matches.opt_present("decode");
|
||||
|
||||
if matches.free.len() > 1 {
|
||||
disp_err!("extra operand ‘{}’", matches.free[0]);
|
||||
return 1;
|
||||
}
|
||||
|
||||
if matches.free.is_empty() || &matches.free[0][..] == "-" {
|
||||
let stdin_raw = stdin();
|
||||
handle_input(
|
||||
&mut stdin_raw.lock(),
|
||||
format,
|
||||
line_wrap,
|
||||
ignore_garbage,
|
||||
decode,
|
||||
);
|
||||
} else {
|
||||
let path = Path::new(matches.free[0].as_str());
|
||||
let file_buf = safe_unwrap!(File::open(&path));
|
||||
let mut input = BufReader::new(file_buf);
|
||||
handle_input(&mut input, format, line_wrap, ignore_garbage, decode);
|
||||
};
|
||||
|
||||
0
|
||||
}
|
||||
|
||||
fn handle_input<R: Read>(
|
||||
input: &mut R,
|
||||
format: Format,
|
||||
line_wrap: Option<usize>,
|
||||
ignore_garbage: bool,
|
||||
decode: bool,
|
||||
) {
|
||||
let mut data = Data::new(input, format).ignore_garbage(ignore_garbage);
|
||||
if let Some(wrap) = line_wrap {
|
||||
data = data.line_wrap(wrap);
|
||||
}
|
||||
|
||||
if !decode {
|
||||
let encoded = data.encode();
|
||||
wrap_print(&data, encoded);
|
||||
} else {
|
||||
match data.decode() {
|
||||
Ok(s) => print!("{}", String::from_utf8(s).unwrap()),
|
||||
Err(_) => crash!(1, "invalid input"),
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
uucore_procs::main!(uu_base32); // spell-checker:ignore procs uucore
|
||||
@@ -1,17 +1,16 @@
|
||||
[package]
|
||||
name = "base64"
|
||||
name = "uu_base64"
|
||||
version = "0.0.1"
|
||||
authors = []
|
||||
license = "MIT"
|
||||
build = "../../common/mkmain.rs"
|
||||
|
||||
[lib]
|
||||
name = "uu_base64"
|
||||
path = "src/base64.rs"
|
||||
|
||||
[dependencies]
|
||||
uucore = { version = "0.0.2", features = ["encoding"] }
|
||||
uucore = { version="0.0.3", package="uucore", git="https://github.com/uutils/uucore.git", branch="canary", features = ["encoding"] }
|
||||
uucore_procs = { version="0.0.3", package="uucore_procs", git="https://github.com/uutils/uucore.git", branch="canary" }
|
||||
|
||||
[[bin]]
|
||||
name = "base64"
|
||||
path = "../../common/uumain.rs"
|
||||
path = "src/main.rs"
|
||||
|
||||
@@ -1,5 +1,3 @@
|
||||
#![crate_name = "uu_base64"]
|
||||
|
||||
// This file is part of the uutils coreutils package.
|
||||
//
|
||||
// (c) Jordy Dickinson <jordy.dickinson@gmail.com>
|
||||
|
||||
@@ -6,7 +6,6 @@
|
||||
//
|
||||
// For the full copyright and license information, please view the LICENSE file
|
||||
// that was distributed with this source code.
|
||||
//
|
||||
|
||||
use uucore;
|
||||
use uucore::encoding::{wrap_print, Data, Format};
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
uucore_procs::main!(uu_base64); // spell-checker:ignore procs uucore
|
||||
@@ -1,17 +1,16 @@
|
||||
[package]
|
||||
name = "basename"
|
||||
name = "uu_basename"
|
||||
version = "0.0.1"
|
||||
authors = []
|
||||
license = "MIT"
|
||||
build = "../../common/mkmain.rs"
|
||||
|
||||
[lib]
|
||||
name = "uu_basename"
|
||||
path = "src/basename.rs"
|
||||
|
||||
[dependencies]
|
||||
uucore = "0.0.2"
|
||||
uucore = { version="0.0.3", package="uucore", git="https://github.com/uutils/uucore.git", branch="canary" }
|
||||
uucore_procs = { version="0.0.3", package="uucore_procs", git="https://github.com/uutils/uucore.git", branch="canary" }
|
||||
|
||||
[[bin]]
|
||||
name = "basename"
|
||||
path = "../../common/uumain.rs"
|
||||
path = "src/main.rs"
|
||||
|
||||
@@ -1,13 +1,9 @@
|
||||
#![crate_name = "uu_basename"]
|
||||
|
||||
/*
|
||||
* This file is part of the uutils coreutils package.
|
||||
*
|
||||
* (c) Jimmy Lu <jimmy.lu.2011@gmail.com>
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
// This file is part of the uutils coreutils package.
|
||||
//
|
||||
// (c) Jimmy Lu <jimmy.lu.2011@gmail.com>
|
||||
//
|
||||
// For the full copyright and license information, please view the LICENSE
|
||||
// file that was distributed with this source code.
|
||||
|
||||
#[macro_use]
|
||||
extern crate uucore;
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
uucore_procs::main!(uu_basename); // spell-checker:ignore procs uucore
|
||||
@@ -1,21 +1,20 @@
|
||||
[package]
|
||||
name = "cat"
|
||||
name = "uu_cat"
|
||||
version = "0.0.1"
|
||||
authors = []
|
||||
license = "MIT"
|
||||
build = "../../common/mkmain.rs"
|
||||
|
||||
[lib]
|
||||
name = "uu_cat"
|
||||
path = "src/cat.rs"
|
||||
|
||||
[dependencies]
|
||||
quick-error = "1.2.3"
|
||||
uucore = { version = "0.0.2", features = ["fs"] }
|
||||
uucore = { version="0.0.3", package="uucore", git="https://github.com/uutils/uucore.git", branch="canary", features=["fs"] }
|
||||
uucore_procs = { version="0.0.3", package="uucore_procs", git="https://github.com/uutils/uucore.git", branch="canary" }
|
||||
|
||||
[target.'cfg(unix)'.dependencies]
|
||||
unix_socket = "0.5.0"
|
||||
|
||||
[[bin]]
|
||||
name = "cat"
|
||||
path = "../../common/uumain.rs"
|
||||
path = "src/main.rs"
|
||||
|
||||
@@ -1,5 +1,3 @@
|
||||
#![crate_name = "uu_cat"]
|
||||
|
||||
// This file is part of the uutils coreutils package.
|
||||
//
|
||||
// (c) Jordi Boggiano <j.boggiano@seld.be>
|
||||
@@ -8,7 +6,6 @@
|
||||
//
|
||||
// For the full copyright and license information, please view the LICENSE
|
||||
// file that was distributed with this source code.
|
||||
//
|
||||
|
||||
#[macro_use]
|
||||
extern crate quick_error;
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
uucore_procs::main!(uu_cat); // spell-checker:ignore procs uucore
|
||||
@@ -1,18 +1,17 @@
|
||||
[package]
|
||||
name = "chgrp"
|
||||
name = "uu_chgrp"
|
||||
version = "0.0.1"
|
||||
authors = []
|
||||
license = "MIT"
|
||||
build = "../../common/mkmain.rs"
|
||||
|
||||
[lib]
|
||||
name = "uu_chgrp"
|
||||
path = "src/chgrp.rs"
|
||||
|
||||
[dependencies]
|
||||
uucore = { version = "0.0.2", features = ["entries", "fs"] }
|
||||
uucore = { version="0.0.3", package="uucore", git="https://github.com/uutils/uucore.git", branch="canary", features=["entries", "fs"] }
|
||||
uucore_procs = { version="0.0.3", package="uucore_procs", git="https://github.com/uutils/uucore.git", branch="canary" }
|
||||
walkdir = "2.2.8"
|
||||
|
||||
[[bin]]
|
||||
name = "chgrp"
|
||||
path = "../../common/uumain.rs"
|
||||
path = "src/main.rs"
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user