16306: Fix permission issues.
[arvados.git] / lib / install / deps.go
index 34fe7cc6d1b589ef70fcbfa7d3bd6c0c9607c647..4f5b251cb27af575338124213638aaaeed7606a5 100644 (file)
@@ -224,17 +224,16 @@ func (inst *installCommand) RunCommand(prog string, args []string, stdin io.Read
                logger.Print("ruby " + rubyversion + " already installed")
        } else {
                err = inst.runBash(`
-tmp=/var/lib/arvados/tmp/ruby-`+rubyversion+`
-trap "rm -r ${tmp}" ERR
-wget --progress=dot:giga -O- https://cache.ruby-lang.org/pub/ruby/2.5/ruby-`+rubyversion+`.tar.gz | tar -C /var/lib/arvados/tmp -xzf -
-cd ${tmp}
+tmp="$(mktemp -d)"
+trap 'rm -r "${tmp}"' ERR EXIT
+wget --progress=dot:giga -O- https://cache.ruby-lang.org/pub/ruby/2.5/ruby-`+rubyversion+`.tar.gz | tar -C "${tmp}" -xzf -
+cd "${tmp}/ruby-`+rubyversion+`"
 ./configure --disable-install-static-library --enable-shared --disable-install-doc --prefix /var/lib/arvados
 make -j8
 make install
 /var/lib/arvados/bin/gem install bundler --no-ri --no-rdoc
 # "gem update --system" can be removed when we use ruby ≥2.6.3: https://bundler.io/blog/2019/05/14/solutions-for-cant-find-gem-bundler-with-executable-bundle.html
 /var/lib/arvados/bin/gem update --system --no-ri --no-rdoc
-rm -r ${tmp}
 `, stdout, stderr)
                if err != nil {
                        return 1
@@ -447,7 +446,7 @@ rm ${zip}
                } {
                        fmt.Fprintf(stderr, "building %s...\n", srcdir)
                        cmd := exec.Command("rsync",
-                               "-a", "--no-owner", "--delete-after", "--delete-excluded",
+                               "-a", "--no-owner", "--no-group", "--delete-after", "--delete-excluded",
                                "--exclude", "/coverage",
                                "--exclude", "/log",
                                "--exclude", "/tmp",
@@ -470,7 +469,6 @@ rm ${zip}
                                {"sudo", "-u", "www-data", "/var/lib/arvados/bin/bundle", "exec", "passenger-config", "install-standalone-runtime"},
                        } {
                                cmd = exec.Command(cmdline[0], cmdline[1:]...)
-                               cmd.Env = append([]string{}, os.Environ()...)
                                cmd.Dir = "/var/lib/arvados/" + dstdir
                                cmd.Stdout = stdout
                                cmd.Stderr = stderr