X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/08c80b2ba6a8fc090d2e998dfcf2f280c8508019..f42ee7c19b794e25db30051b1dfc4bee83929bcd:/cmd/arvados-package/build.go diff --git a/cmd/arvados-package/build.go b/cmd/arvados-package/build.go index 1437f4b772..27531d3bc3 100644 --- a/cmd/arvados-package/build.go +++ b/cmd/arvados-package/build.go @@ -24,13 +24,13 @@ import ( func build(ctx context.Context, opts opts, stdin io.Reader, stdout, stderr io.Writer) error { if opts.PackageVersion == "" { var buf bytes.Buffer - cmd := exec.CommandContext(ctx, "git", "describe", "--tag", "--dirty") + cmd := exec.CommandContext(ctx, "bash", "./build/version-at-commit.sh", "HEAD") cmd.Stdout = &buf cmd.Stderr = stderr cmd.Dir = opts.SourceDir err := cmd.Run() if err != nil { - return fmt.Errorf("git describe: %w", err) + return fmt.Errorf("%v: %w", cmd.Args, err) } opts.PackageVersion = strings.TrimSpace(buf.String()) ctxlog.FromContext(ctx).Infof("version not specified; using %s", opts.PackageVersion) @@ -53,6 +53,11 @@ func build(ctx context.Context, opts opts, stdin io.Reader, stdout, stderr io.Wr return err } defer os.RemoveAll(tmpdir) + if abs, err := filepath.Abs(tmpdir); err != nil { + return fmt.Errorf("error getting absolute path of tmpdir %s: %w", tmpdir, err) + } else { + tmpdir = abs + } selfbin, err := os.Readlink("/proc/self/exe") if err != nil { @@ -87,7 +92,7 @@ func build(ctx context.Context, opts opts, stdin io.Reader, stdout, stderr io.Wr 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", buildCtrName, buildImageName) @@ -120,7 +125,7 @@ func build(ctx context.Context, opts opts, stdin io.Reader, stdout, stderr io.Wr cmd.Stderr = stderr err = cmd.Run() if err != nil { - return fmt.Errorf("docker run: %w", err) + return fmt.Errorf("%v: %w", cmd.Args, err) } err = os.Rename(tmpdir+"/"+packageFilename, opts.PackageDir+"/"+packageFilename)