Skip to content

Commit

Permalink
Auto merge of #64 - japaric:strace, r=japaric
Browse files Browse the repository at this point in the history
pass the QEMU_STRACE variable to docker

None
  • Loading branch information
homunkulus committed Feb 4, 2017
2 parents 94d632c + ef635c0 commit 2c42171
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 7 deletions.
2 changes: 1 addition & 1 deletion ci/script.sh
Original file line number Diff line number Diff line change
Expand Up @@ -119,7 +119,7 @@ EOF
cargo init --bin --name hello $td

pushd $td
cross run --target $TARGET
QEMU_STRACE=1 cross run --target $TARGET
popd

rm -rf $td
Expand Down
18 changes: 12 additions & 6 deletions src/docker.rs
Original file line number Diff line number Diff line change
Expand Up @@ -33,8 +33,7 @@ pub fn run(target: &Target,
verbose: bool)
-> Result<ExitStatus> {
let root = root.path();
let home_dir = env::home_dir()
.ok_or_else(|| "couldn't get home directory. Is $HOME not set?")?;
let home_dir = env::home_dir().ok_or_else(|| "couldn't get home directory. Is $HOME not set?")?;
let cargo_dir = env::var_os("CARGO_HOME")
.map(PathBuf::from)
.unwrap_or_else(|| home_dir.join(".cargo"));
Expand Down Expand Up @@ -65,19 +64,26 @@ pub fn run(target: &Target,
.run(verbose)
.chain_err(|| "couldn't generate Cargo.lock")?;

Command::new("docker")
let mut docker = Command::new("docker");

docker
.arg("run")
.arg("--rm")
.args(&["--user", &format!("{}:{}", id::user(), id::group())])
.args(&["-e", "CARGO_HOME=/cargo"])
.args(&["-e", "CARGO_TARGET_DIR=/target"])
.args(&["-e", &format!("USER={}", id::username())])
.args(&["-e", &format!("USER={}", id::username())]);

if let Some(strace) = env::var("QEMU_STRACE").ok() {
docker.args(&["-e", &format!("QEMU_STRACE={}", strace)]);
}

docker
.args(&["-e", "XARGO_HOME=/xargo"])
.args(&["-v", &format!("{}:/xargo", xargo_dir.display())])
.args(&["-v", &format!("{}:/cargo", cargo_dir.display())])
.args(&["-v", &format!("{}:/project:ro", root.display())])
.args(&["-v",
&format!("{}:/rust:ro", rustc::sysroot(verbose)?.display())])
.args(&["-v", &format!("{}:/rust:ro", rustc::sysroot(verbose)?.display())])
.args(&["-v", &format!("{}:/target", target_dir.display())])
.args(&["-w", "/project"])
.args(&["-it", &image(toml, target)?])
Expand Down

0 comments on commit 2c42171

Please sign in to comment.