X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/706c36ff5644bb675af36c15c5f30ef0adde9102..8cf467878d09a862054800604c247c64c84b4955:/lib/install/deps.go diff --git a/lib/install/deps.go b/lib/install/deps.go index 34fe7cc6d1..8df3fba532 100644 --- a/lib/install/deps.go +++ b/lib/install/deps.go @@ -141,7 +141,6 @@ func (inst *installCommand) RunCommand(prog string, args []string, stdin io.Read "cadaver", "curl", "cython3", - "daemontools", // lib/boot uses setuidgid to drop privileges when running as root "default-jdk-headless", "default-jre-headless", "gettext", @@ -219,22 +218,20 @@ func (inst *installCommand) RunCommand(prog string, args []string, stdin io.Read return 1 } } - rubyversion := "2.5.7" + rubyversion := "2.7.2" + rubymajorversion := rubyversion[:strings.LastIndex(rubyversion, ".")] if haverubyversion, err := exec.Command("/var/lib/arvados/bin/ruby", "-v").CombinedOutput(); err == nil && bytes.HasPrefix(haverubyversion, []byte("ruby "+rubyversion)) { 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/`+rubymajorversion+`/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} +/var/lib/arvados/bin/gem install bundler --no-document `, stdout, stderr) if err != nil { return 1 @@ -242,7 +239,7 @@ rm -r ${tmp} } if !prod { - goversion := "1.14" + goversion := "1.16.3" if havegoversion, err := exec.Command("/usr/local/bin/go", "version").CombinedOutput(); err == nil && bytes.HasPrefix(havegoversion, []byte("go version go"+goversion+" ")) { logger.Print("go " + goversion + " already installed") } else { @@ -286,7 +283,7 @@ ln -sf /var/lib/arvados/bin/geckodriver /usr/local/bin/ } } - nodejsversion := "v8.15.1" + nodejsversion := "v10.23.1" if havenodejsversion, err := exec.Command("/usr/local/bin/node", "--version").CombinedOutput(); err == nil && string(havenodejsversion) == nodejsversion+"\n" { logger.Print("nodejs " + nodejsversion + " already installed") } else { @@ -447,11 +444,12 @@ 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", "--exclude", "/vendor", + "--exclude", "/config/environments", "./", "/var/lib/arvados/"+dstdir+"/") cmd.Dir = filepath.Join(inst.SourcePath, srcdir) cmd.Stdout = stdout @@ -470,7 +468,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 @@ -510,7 +507,8 @@ rm ${zip} } { 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) - cmd.Env = append([]string{"GOBIN=/var/lib/arvados/bin"}, os.Environ()...) + cmd.Env = append(cmd.Env, os.Environ()...) + cmd.Env = append(cmd.Env, "GOBIN=/var/lib/arvados/bin") cmd.Dir = filepath.Join(inst.SourcePath, srcdir) cmd.Stdout = stdout cmd.Stderr = stderr