18700: Update usage/help messages.
[arvados.git] / lib / install / deps.go
index d4b79ace23982a12b291f3456c015da5d08c4871..70774b313b2f8c1bb0da54a752ffcf6cd48bb764 100644 (file)
@@ -31,6 +31,12 @@ var Command cmd.Handler = &installCommand{}
 const goversion = "1.17.7"
 
 const (
+       rubyversion             = "2.7.5"
+       singularityversion      = "3.7.4"
+       pjsversion              = "1.9.8"
+       geckoversion            = "0.24.0"
+       gradleversion           = "5.3.1"
+       nodejsversion           = "v12.22.2"
        devtestDatabasePassword = "insecure_arvados_test"
        workbench2version       = "cfa81dfc3041cb459c8a0918a2732dfcf3a11d40"
 )
@@ -143,7 +149,6 @@ func (inst *installCommand) RunCommand(prog string, args []string, stdin io.Read
                        "default-jdk-headless",
                        "default-jre-headless",
                        "gettext",
-                       "iceweasel",
                        "libattr1-dev",
                        "libcrypt-ssleay-perl",
                        "libfuse-dev",
@@ -181,10 +186,15 @@ func (inst *installCommand) RunCommand(prog string, args []string, stdin io.Read
                        "wget",
                        "xvfb",
                )
+               if test {
+                       if osv.Debian && osv.Major <= 10 {
+                               pkgs = append(pkgs, "iceweasel")
+                       } else {
+                               pkgs = append(pkgs, "firefox")
+                       }
+               }
                if dev || test {
-                       pkgs = append(pkgs,
-                               "squashfs-tools", // for singularity
-                       )
+                       pkgs = append(pkgs, "squashfs-tools") // for singularity
                }
                switch {
                case osv.Debian && osv.Major >= 10:
@@ -210,7 +220,6 @@ func (inst *installCommand) RunCommand(prog string, args []string, stdin io.Read
        os.Mkdir("/var/lib/arvados", 0755)
        os.Mkdir("/var/lib/arvados/tmp", 0700)
        if prod || pkg {
-               os.Mkdir("/var/lib/arvados/wwwtmp", 0700)
                u, er := user.Lookup("www-data")
                if er != nil {
                        err = fmt.Errorf("user.Lookup(%q): %w", "www-data", er)
@@ -218,12 +227,12 @@ func (inst *installCommand) RunCommand(prog string, args []string, stdin io.Read
                }
                uid, _ := strconv.Atoi(u.Uid)
                gid, _ := strconv.Atoi(u.Gid)
+               os.Mkdir("/var/lib/arvados/wwwtmp", 0700)
                err = os.Chown("/var/lib/arvados/wwwtmp", uid, gid)
                if err != nil {
                        return 1
                }
        }
-       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")
@@ -260,7 +269,6 @@ ln -sfv /var/lib/arvados/go/bin/* /usr/local/bin/
        }
 
        if !prod && !pkg {
-               pjsversion := "1.9.8"
                if havepjsversion, err := exec.Command("/usr/local/bin/phantomjs", "--version").CombinedOutput(); err == nil && string(havepjsversion) == "1.9.8\n" {
                        logger.Print("phantomjs " + pjsversion + " already installed")
                } else {
@@ -274,7 +282,6 @@ ln -sfv /var/lib/arvados/$PJS/bin/phantomjs /usr/local/bin/
                        }
                }
 
-               geckoversion := "0.24.0"
                if havegeckoversion, err := exec.Command("/usr/local/bin/geckodriver", "--version").CombinedOutput(); err == nil && strings.Contains(string(havegeckoversion), " "+geckoversion+" ") {
                        logger.Print("geckodriver " + geckoversion + " already installed")
                } else {
@@ -288,7 +295,6 @@ ln -sfv /var/lib/arvados/bin/geckodriver /usr/local/bin/
                        }
                }
 
-               gradleversion := "5.3.1"
                if havegradleversion, err := exec.Command("/usr/local/bin/gradle", "--version").CombinedOutput(); err == nil && strings.Contains(string(havegradleversion), "Gradle "+gradleversion+"\n") {
                        logger.Print("gradle " + gradleversion + " already installed")
                } else {
@@ -306,7 +312,6 @@ rm ${zip}
                        }
                }
 
-               singularityversion := "3.7.4"
                if havesingularityversion, err := exec.Command("/var/lib/arvados/bin/singularity", "--version").CombinedOutput(); err == nil && strings.Contains(string(havesingularityversion), singularityversion) {
                        logger.Print("singularity " + singularityversion + " already installed")
                } else if dev || test {
@@ -449,7 +454,6 @@ make -C ./builddir install
        }
 
        if !prod {
-               nodejsversion := "v12.22.2"
                if havenodejsversion, err := exec.Command("/usr/local/bin/node", "--version").CombinedOutput(); err == nil && string(havenodejsversion) == nodejsversion+"\n" {
                        logger.Print("nodejs " + nodejsversion + " already installed")
                } else {
@@ -586,7 +590,7 @@ rsync -a --delete-after build/ /var/lib/arvados/workbench2/
                        "services/ws",
                } {
                        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 := exec.Command("go", "install", "-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)