if dev || test || pkg {
pkgs = append(pkgs,
+ "automake",
+ "bison",
"bsdmainutils",
"build-essential",
"cadaver",
- "cython",
+ "curl",
+ "cython3",
"daemontools", // lib/boot uses setuidgid to drop privileges when running as root
"default-jdk-headless",
"default-jre-headless",
"libjson-perl",
"libpam-dev",
"libpcre3-dev",
- "libpython2.7-dev",
+ "libpq-dev",
"libreadline-dev",
"libssl-dev",
"libwww-perl",
"libxslt1-dev",
"linkchecker",
"lsof",
+ "make",
"net-tools",
"pandoc",
"perl-modules",
"postgresql",
"postgresql-contrib",
"python3-dev",
- "python-epydoc",
+ "python3-venv",
+ "python3-virtualenv",
"r-base",
"r-cran-testthat",
+ "r-cran-devtools",
+ "r-cran-knitr",
+ "r-cran-markdown",
+ "r-cran-roxygen2",
+ "r-cran-xml",
"sudo",
- "virtualenv",
"wget",
"xvfb",
)
DataDirectory string
LogFile string
}
- if pg_lsclusters, err2 := exec.Command("pg_lsclusters", "--no-header").CombinedOutput(); err2 != nil {
+ if pgLsclusters, err2 := exec.Command("pg_lsclusters", "--no-header").CombinedOutput(); err2 != nil {
err = fmt.Errorf("pg_lsclusters: %s", err2)
return 1
- } else if pgclusters := strings.Split(strings.TrimSpace(string(pg_lsclusters)), "\n"); len(pgclusters) != 1 {
+ } else if pgclusters := strings.Split(strings.TrimSpace(string(pgLsclusters)), "\n"); len(pgclusters) != 1 {
logger.Warnf("pg_lsclusters returned %d postgresql clusters -- skipping postgresql initdb/startup, hope that's ok", len(pgclusters))
} else if _, err = fmt.Sscanf(pgclusters[0], "%s %s %d %s %s %s %s", &pgc.Version, &pgc.Cluster, &pgc.Port, &pgc.Status, &pgc.Owner, &pgc.DataDirectory, &pgc.LogFile); err != nil {
err = fmt.Errorf("error parsing pg_lsclusters output: %s", err)
}
}
- if pkg {
+ if prod || pkg {
// Install Rails apps to /var/lib/arvados/{railsapi,workbench1}/
for dstdir, srcdir := range map[string]string{
"railsapi": "services/api",
"workbench1": "apps/workbench",
} {
fmt.Fprintf(stderr, "building %s...\n", srcdir)
- cmd := exec.Command("rsync", "-a", "--no-owner", "--delete-after", "--exclude", "/tmp", "--exclude", "/log", "--exclude", "/vendor", "./", "/var/lib/arvados/"+dstdir+"/")
+ cmd := exec.Command("rsync",
+ "-a", "--no-owner", "--delete-after", "--delete-excluded",
+ "--exclude", "/coverage",
+ "--exclude", "/log",
+ "--exclude", "/tmp",
+ "--exclude", "/vendor",
+ "./", "/var/lib/arvados/"+dstdir+"/")
cmd.Dir = filepath.Join(inst.SourcePath, srcdir)
cmd.Stdout = stdout
cmd.Stderr = stderr
func prodpkgs(osv osversion) []string {
pkgs := []string{
- "automake",
- "bison",
"ca-certificates",
"curl",
"fuse",
"haveged",
"libcurl3-gnutls",
"libxslt1.1",
- "make",
"nginx",
"python",
"sudo",