diff options
| author | Dmitry Vyukov <dvyukov@google.com> | 2017-07-17 13:55:55 +0200 |
|---|---|---|
| committer | Dmitry Vyukov <dvyukov@google.com> | 2017-07-17 14:45:41 +0200 |
| commit | 8382eb648fe51db07a0a20d413f61d4a46ab6131 (patch) | |
| tree | de73078c4d77938026e9c5887419c6f9ddb7c108 /pkg/osutil | |
| parent | 7cdb3c70f79c9c898630629402e10b8a1c6cf3ca (diff) | |
pkg/kernel: actually pass cmdline/sysctl files to the build script
Diffstat (limited to 'pkg/osutil')
| -rw-r--r-- | pkg/osutil/osutil.go | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/pkg/osutil/osutil.go b/pkg/osutil/osutil.go index 99ab41780..fecb5f95b 100644 --- a/pkg/osutil/osutil.go +++ b/pkg/osutil/osutil.go @@ -21,11 +21,22 @@ const ( // RunCmd runs "bin args..." in dir with timeout and returns its output. func RunCmd(timeout time.Duration, dir, bin string, args ...string) ([]byte, error) { + return runCmd(timeout, nil, dir, bin, args...) +} + +// RunCmdEnv is the same as RunCmd but also appends env. +func RunCmdEnv(timeout time.Duration, env []string, dir, bin string, args ...string) ([]byte, error) { + return runCmd(timeout, env, dir, bin, args...) +} + +func runCmd(timeout time.Duration, env []string, dir, bin string, args ...string) ([]byte, error) { output := new(bytes.Buffer) cmd := exec.Command(bin, args...) cmd.Dir = dir cmd.Stdout = output cmd.Stderr = output + cmd.Env = append([]string{}, os.Environ()...) + cmd.Env = append(cmd.Env, env...) if err := cmd.Start(); err != nil { return nil, fmt.Errorf("failed to start %v %+v: %v", bin, args, err) } |
