From d7b45b7e42ec53243e77497f8bd6af7b94ca1dd1 Mon Sep 17 00:00:00 2001 From: Xavier L'Heureux Date: Sat, 10 Aug 2019 16:55:43 -0400 Subject: [PATCH 1/2] Add a trace command for debuging using strace --- res/base.toml | 1 + src/cargo.rs | 14 +++++++++++--- src/main.rs | 2 ++ 3 files changed, 14 insertions(+), 3 deletions(-) diff --git a/res/base.toml b/res/base.toml index 63d957e..900fa8c 100644 --- a/res/base.toml +++ b/res/base.toml @@ -5,6 +5,7 @@ prompt = false # Package settings [packages] +strace = {} ca-certificates = {} coreutils = {} dash = {} diff --git a/src/cargo.rs b/src/cargo.rs index aff3186..86b43ab 100644 --- a/src/cargo.rs +++ b/src/cargo.rs @@ -31,7 +31,7 @@ fn inner() -> io::Result<()> { let mut args = env::args(); let command = args.next().unwrap(); - let subcommand = args.next().unwrap(); + let mut subcommand = args.next().unwrap(); let mut arguments = Vec::new(); let mut matching = true; @@ -51,11 +51,19 @@ fn inner() -> io::Result<()> { } } + let trace = if subcommand == "trace" { + subcommand = "run".into(); + true + } else { + false + }; + // TODO: Ensure no spaces in command let runner = format!( - "{} exec --folder .{}", + "{} exec --folder .{}{}", command, - if gui { " --gui" } else { "" } + if gui { " --gui" } else { "" }, + if trace { " /usr/bin/env PATH=/bin;. strace --" } else { "" }, ); Command::new("cargo") diff --git a/src/main.rs b/src/main.rs index 4c015ac..c564ab7 100644 --- a/src/main.rs +++ b/src/main.rs @@ -55,6 +55,7 @@ fn usage() { eprintln!("redoxer doc - cargo doc with Redox target"); eprintln!("redoxer exec - execute a command in Redox VM"); eprintln!("redoxer install - install toolchain"); + eprintln!("redoxer trace - trace a cargo binary with Redox target in Redox VM"); eprintln!("redoxer run - cargo run with Redox target in Redox VM"); eprintln!("redoxer rustc - cargo rustc with Redox target"); eprintln!("redoxer test - cargo test with Redox target in Redox VM"); @@ -68,6 +69,7 @@ fn main() { "build" | "check" | "doc" | + "trace" | "run" | "rustc" | "test" => cargo::main(), -- GitLab From d29d293d4f6e8245819bd97c23d8d1c8b43b3744 Mon Sep 17 00:00:00 2001 From: Xavier L'Heureux Date: Sat, 10 Aug 2019 16:57:35 -0400 Subject: [PATCH 2/2] Bump minor version --- Cargo.lock | 2 +- Cargo.toml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index a1f949a..ddb8f92 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -666,7 +666,7 @@ dependencies = [ [[package]] name = "redoxer" -version = "0.2.11" +version = "0.3.1" dependencies = [ "dirs 2.0.2 (registry+https://github.com/rust-lang/crates.io-index)", "proc-mounts 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", diff --git a/Cargo.toml b/Cargo.toml index a20a2eb..784eec3 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "redoxer" -version = "0.2.11" +version = "0.3.1" description = "Method for quickly running programs inside of Redox from a KVM capable OS." license = "MIT" authors = ["Jeremy Soller "] -- GitLab