diff --git a/build.rs b/build.rs index 4dcac8111..3e969ab32 100644 --- a/build.rs +++ b/build.rs @@ -29,7 +29,6 @@ pub fn main() { } crates.sort(); - let mut cf = File::create(Path::new(&out_dir).join("uutils_crates.rs")).unwrap(); let mut mf = File::create(Path::new(&out_dir).join("uutils_map.rs")).unwrap(); mf.write_all( @@ -44,42 +43,7 @@ pub fn main() { for krate in crates { 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" - | "uu_test" - => { - // 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() { + // ToDO: add another bypass method for publishing name collisions requiring a non-`uu_` prefix for a util // * use "uu_" prefix as bypass method to avoid name collisions with imported crates, when necessary (eg, 'test') k if k.starts_with("uu_") => mf @@ -88,34 +52,6 @@ pub fn main() { .as_bytes(), ) .unwrap(), - "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" | "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(), "false" | "true" => mf .write_all( format!("map.insert(\"{krate}\", r#{krate}::uumain);\n", krate = krate) @@ -148,7 +84,7 @@ pub fn main() { _ => mf .write_all( format!( - "map.insert(\"{krate}\", uu_{krate}::uumain);\n", + "map.insert(\"{krate}\", {krate}::uumain);\n", krate = krate ) .as_bytes(), @@ -159,6 +95,5 @@ pub fn main() { mf.write_all(b"map\n}\n").unwrap(); - cf.flush().unwrap(); mf.flush().unwrap(); } diff --git a/src/bin/uutils.rs b/src/bin/uutils.rs index fe8128bb0..fa2b6dc6d 100644 --- a/src/bin/uutils.rs +++ b/src/bin/uutils.rs @@ -12,8 +12,6 @@ // spell-checker:ignore (uutils) coreutils sigpipe uucore uumain uutils // spell-checker:ignore (shell) busybox symlinks -include!(concat!(env!("OUT_DIR"), "/uutils_crates.rs")); - extern crate lazy_static; extern crate textwrap; extern crate uucore; diff --git a/src/common/mkmain.rs b/src/common/mkmain.rs deleted file mode 100644 index 4ae471c41..000000000 --- a/src/common/mkmain.rs +++ /dev/null @@ -1,36 +0,0 @@ -use std::env; -use std::fs::File; -use std::io::Write; -use std::path::Path; - -static TEMPLATE: &str = "\ -extern crate uu_@UTIL_CRATE@; -extern crate uucore; - -use std::io::Write; -use uu_@UTIL_CRATE@::uumain; - -fn main() { - uucore::panic::install_sigpipe_hook(); - - let code = uumain(uucore::args().collect()); - // Since stdout is line-buffered by default, we need to ensure any pending - // writes are flushed before exiting. Ideally, this should be enforced by - // each utility. - // - // See: https://github.com/rust-lang/rust/issues/23818 - // - std::io::stdout().flush().expect(\"could not flush stdout\"); - std::process::exit(code); -} -"; - -pub fn main() { - let out_dir = env::var("OUT_DIR").unwrap(); - let pkgname = env::var("CARGO_PKG_NAME").unwrap(); - - let main = TEMPLATE.replace("@UTIL_CRATE@", &pkgname); - let mut file = File::create(&Path::new(&out_dir).join("main.rs")).unwrap(); - - write!(file, "{}", main).unwrap(); -} diff --git a/src/common/uumain.rs b/src/common/uumain.rs deleted file mode 100644 index d3c87408c..000000000 --- a/src/common/uumain.rs +++ /dev/null @@ -1 +0,0 @@ -include!(concat!(env!("OUT_DIR"), "/main.rs"));