Fix `go install` error on source tree permission.
authorTom Clegg <tom@curii.com>
Tue, 24 Oct 2023 18:50:02 +0000 (14:50 -0400)
committerTom Clegg <tom@curii.com>
Tue, 24 Oct 2023 18:50:02 +0000 (14:50 -0400)
refs #20846

Arvados-DCO-1.1-Signed-off-by: Tom Clegg <tom@curii.com>

lib/install/deps.go

index c4f104f30ac142055dcd94a5b724f1ef7e453b78..62438645ffddbbfac663b8147c41998ff6472f71 100644 (file)
@@ -557,7 +557,13 @@ ln -sfv /var/lib/arvados/node-`+nodejsversion+`-linux-x64/bin/{yarn,yarnpkg} /us
                        "cmd/arvados-server",
                } {
                        fmt.Fprintf(stderr, "building %s...\n", srcdir)
-                       cmd := exec.Command("go", "install", "-ldflags", "-X git.arvados.org/arvados.git/lib/cmd.version="+inst.PackageVersion+" -X main.version="+inst.PackageVersion+" -s -w")
+                       // -buildvcs=false here avoids a fatal "error
+                       // obtaining VCS status" when git refuses to
+                       // run (for example) as root in a docker
+                       // container using a non-root-owned git tree
+                       // mounted from the host -- as in
+                       // "arvados-package build".
+                       cmd := exec.Command("go", "install", "-buildvcs=false", "-ldflags", "-X git.arvados.org/arvados.git/lib/cmd.version="+inst.PackageVersion+" -X main.version="+inst.PackageVersion+" -s -w")
                        cmd.Env = append(cmd.Env, os.Environ()...)
                        cmd.Env = append(cmd.Env, "GOBIN=/var/lib/arvados/bin")
                        cmd.Dir = filepath.Join(inst.SourcePath, srcdir)