diff options
| author | Jeff Carr <[email protected]> | 2025-10-03 13:47:01 -0500 |
|---|---|---|
| committer | Jeff Carr <[email protected]> | 2025-10-03 13:47:01 -0500 |
| commit | e4b679003ce0847dd65254a5e0a0b3239fd0d566 (patch) | |
| tree | 6d5ce5b6db6349ad5022656732d044137a624339 /doInstall.go | |
| parent | 888ef5304907d0e8a98472a31728b5398972b647 (diff) | |
mv and merge
Diffstat (limited to 'doInstall.go')
| -rw-r--r-- | doInstall.go | 188 |
1 files changed, 0 insertions, 188 deletions
diff --git a/doInstall.go b/doInstall.go deleted file mode 100644 index 28e1189..0000000 --- a/doInstall.go +++ /dev/null @@ -1,188 +0,0 @@ -// Copyright 2017-2025 WIT.COM Inc. All rights reserved. -// Use of this source code is governed by the GPL 3.0 - -package main - -import ( - "fmt" - "os" - "path/filepath" - - "go.wit.com/lib/gui/shell" - "go.wit.com/lib/protobuf/gitpb" - "go.wit.com/log" -) - -func doBuild() error { - if argv.Build.Install != nil { - if err := doInstall(); err != nil { - log.Info("doInstall() failed", err) - badExit(err) - } - okExit("EVERYTHING BUILT!") - } - - if argv.Build.MacBuild != nil { - log.Info("todo: add mac builds") - return nil - } - - if argv.Build.Debian != nil { - doDebian() - okExit("") - } - - return nil -} - -func doInstallRepo(check *gitpb.Repo) error { - repotype := check.GetRepoType() - if repotype == "binary" || repotype == "plugin" { - // we only want to process things that can be compiled with 'go build' - } else { - // log.Info("skipping repo", check.GetGoPath(), repotype) - return nil - } - - if me.forge.Config.IsReadOnly(check.GetGoPath()) { - // ignore read only stuff - return nil - } - - if argv.Verbose || argv.Force { - verbose := []string{"-v", "-x"} - if err := me.forge.Install(check, verbose); err != nil { - log.Warn("INSTALL FAILED", check.GetGoPath(), err) - failed[check] = fmt.Sprintf("%s %s %v", "go install", check.GetGoPath(), err) - return err - } - } else { - if err := me.forge.Install(check, nil); err != nil { - log.Warn("INSTALL FAILED", check.GetGoPath(), err) - failed[check] = fmt.Sprintf("%s %s %v", "go install", check.GetGoPath(), err) - return err - } - } - return nil -} - -func doInstallScan() { - initForge() // make sure forge is init'd here - - all := me.forge.Repos.SortByFullPath() - for all.Scan() { - check := all.Next() - - repotype := check.GetRepoType() - if repotype == "binary" || repotype == "plugin" { - // we only want to process things that can be compiled with 'go build' - } else { - // log.Info("skipping repo", check.GetGoPath(), repotype) - continue - } - - if me.forge.Config.IsReadOnly(check.GetGoPath()) { - // ignore read only stuff - continue - } - - // var cmd []string - var start string - var end string - - // add te repotype - end += check.GetRepoType() - - manufactured := check.GetCurrentVersion() - ver := trimNonNumericFromStart(manufactured) - name := me.forge.Config.DebName(check.GetGoPath()) - var realver string - if installedPackage := me.machine.FindInstalledByName(name); installedPackage != nil { - realver = installedPackage.Version - } - if actualp := me.machine.FindByVersion(name, ver); actualp != nil { - end += " (version match) " + actualp.Version + " " + ver + " " - state[check] = "on mirrors" - } else { - if realver != "" { - end += fmt.Sprintf(" (version miss) %s vs %s ", realver, ver) - } - // end += "" + ver + " " - } - if me.machine.IsInstalled(name) { - if actualp := me.machine.FindInstalledByName(name); actualp != nil { - if ver != actualp.Version { - end += "(installed " + actualp.Version + ") " - } else { - end += "(installed ok) " - } - } else { - end += "(installed) " - } - } - - debname := name + "_" + ver + "_amd64.deb" - debnames[check] = debname - outdir := getOutdir(check) - _, err := os.Stat(filepath.Join(outdir, debname)) - if err == nil { - // log.Info("exists", filepath.Join(outdir, debname)) - state[check] = "in incoming" - } else { - // log.Info(debname, "does not exist") - } - - if state[check] == "" { - state[check] = "need to build" - } - start = fmt.Sprintf("%-15s %-20s %-50s", state[check], ver, debname) - - if state[check] == "need to build" { - end += " (will build) " - } - - log.Info(start, end) - if name == "" { - // err := fmt.Sprintf("name is blank error %+v", repo) - log.Warn("name is blank error", check.GetGoPath()) - } - } -} - -func doInstall() error { - initForge() - - found := gitpb.NewRepos() - for check := range me.forge.Repos.IterAll() { - if me.forge.Config.IsReadOnly(check.GetGoPath()) { - continue - } - - if !check.IsBinary() { - continue - } - - if check.IsGoPlugin() { - continue - } - found.Append(check) - } - me.forge.PrintForgedTable(found) - - if argv.DryRun { - doInstallScan() - okExit("") - } - - me.forge.ConfigRill(16, 16) - stats := me.forge.RunOnRepos(found, doInstallRepo) - for s, stat := range stats { - if stat.Err == nil { - continue - } - dur := stat.End.Sub(stat.Start) - log.Info("CRAP. INSTALL FAILED", shell.FormatDuration(dur), s, stat.Err) - badExit(stat.Err) - } - return nil -} |
