From 39e25eceaf054fc70086b178d0d1f34def4cbf2b Mon Sep 17 00:00:00 2001 From: Vladimir Serbinenko Date: Fri, 29 May 2015 20:49:09 +0200 Subject: autoport: Allow binary prerequisites to be placed in the autoport directory. This allow an easy creation of standalone "autoport pack". Change-Id: Ibe9e38aa3b4bbd7260104e1c2a11630790ff4d2f Signed-off-by: Vladimir Serbinenko Reviewed-on: http://review.coreboot.org/10370 Tested-by: build bot (Jenkins) Reviewed-by: Edward O'Callaghan --- util/autoport/log_maker.go | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) (limited to 'util/autoport/log_maker.go') diff --git a/util/autoport/log_maker.go b/util/autoport/log_maker.go index b991ea715d..e2440b4891 100644 --- a/util/autoport/log_maker.go +++ b/util/autoport/log_maker.go @@ -9,7 +9,7 @@ import ( "strings" ) -func RunAndSave(output string, name string, arg ...string) { +func TryRunAndSave(output string, name string, arg []string) error { cmd := exec.Command(name, arg...) f, err := os.Create(output) @@ -22,9 +22,27 @@ func RunAndSave(output string, name string, arg ...string) { err = cmd.Start() if err != nil { - log.Fatal(err) + return err } cmd.Wait() + return nil +} + +func RunAndSave(output string, name string, arg ...string) { + err := TryRunAndSave(output, name, arg) + if err == nil { + return + } + idx := strings.LastIndex(name, "/") + relname := name + if idx >= 0 { + relname = name[idx+1:] + } + relname = "./" + relname + err = TryRunAndSave(output, relname, arg) + if err != nil { + log.Fatal(err) + } } func MakeLogs(outDir string) { -- cgit v1.2.3