From a80d66bb3a2bea4b7339e5dd65315f8af5ffe99b Mon Sep 17 00:00:00 2001 From: Tom Clegg Date: Wed, 9 Mar 2022 02:41:19 -0500 Subject: [PATCH] 18700: Accept relative package dir path. Arvados-DCO-1.1-Signed-off-by: Tom Clegg --- cmd/arvados-package/install.go | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/cmd/arvados-package/install.go b/cmd/arvados-package/install.go index 5fdb7a8756..b0a87ba3ba 100644 --- a/cmd/arvados-package/install.go +++ b/cmd/arvados-package/install.go @@ -21,6 +21,10 @@ import ( func testinstall(ctx context.Context, opts opts, stdin io.Reader, stdout, stderr io.Writer) error { depsImageName := "arvados-package-deps-" + opts.TargetOS depsCtrName := strings.Replace(depsImageName, ":", "-", -1) + absPackageDir, err := filepath.Abs(opts.PackageDir) + if err != nil { + return fmt.Errorf("error resolving PackageDir %q: %w", opts.PackageDir, err) + } _, prog := filepath.Split(os.Args[0]) tmpdir, err := ioutil.TempDir("", prog+".") @@ -40,7 +44,7 @@ func testinstall(ctx context.Context, opts opts, stdin io.Reader, stdout, stderr cmd := exec.CommandContext(ctx, "docker", "run", "--name", depsCtrName, "--tmpfs", "/tmp:exec,mode=01777", - "-v", opts.PackageDir+":/pkg:ro", + "-v", absPackageDir+":/pkg:ro", "--env", "DEBIAN_FRONTEND=noninteractive", opts.TargetOS, "bash", "-c", ` @@ -64,7 +68,7 @@ rm /etc/apt/sources.list.d/arvados-local.list cmd.Stderr = stderr err = cmd.Run() if err != nil { - return fmt.Errorf("docker run: %w", err) + return fmt.Errorf("%v: %w", cmd.Args, err) } cmd = exec.CommandContext(ctx, "docker", "commit", depsCtrName, depsImageName) @@ -72,7 +76,7 @@ rm /etc/apt/sources.list.d/arvados-local.list cmd.Stderr = stderr err = cmd.Run() if err != nil { - return fmt.Errorf("docker commit: %w", err) + return fmt.Errorf("%v: %w", cmd.Args, err) } } @@ -82,7 +86,7 @@ rm /etc/apt/sources.list.d/arvados-local.list } cmd := exec.CommandContext(ctx, "docker", "run", "--rm", "--tmpfs", "/tmp:exec,mode=01777", - "-v", opts.PackageDir+":/pkg:ro", + "-v", absPackageDir+":/pkg:ro", "--env", "DEBIAN_FRONTEND=noninteractive", depsImageName, "bash", "-c", ` @@ -109,7 +113,7 @@ exec arvados-server boot -listen-host 0.0.0.0 -shutdown cmd.Stderr = stderr err = cmd.Run() if err != nil { - return fmt.Errorf("docker run: %w", err) + return fmt.Errorf("%v: %w", cmd.Args, err) } return nil } -- 2.30.2