summaryrefslogtreecommitdiff
path: root/install_linux.go
diff options
context:
space:
mode:
Diffstat (limited to 'install_linux.go')
-rw-r--r--install_linux.go36
1 files changed, 36 insertions, 0 deletions
diff --git a/install_linux.go b/install_linux.go
new file mode 100644
index 0000000..0ed600b
--- /dev/null
+++ b/install_linux.go
@@ -0,0 +1,36 @@
+package fhelp
+
+// auto run protoc with the correct args
+
+import (
+ "bufio"
+ "fmt"
+ "os"
+ "strings"
+
+ "go.wit.com/lib/gui/shell"
+ "go.wit.com/log"
+)
+
+func osInstall(pkg string) error {
+ cmd := []string{"apt", "install", "-y", pkg}
+ if pkg == "protoc" {
+ cmd = []string{"apt", "install", "-y", "protobuf-compiler"}
+ }
+ log.Info("Would you like to run", "sudo", cmd, "now?")
+ fmt.Fprintf(os.Stdout, "(y)es or (n)o ? ")
+
+ scanner := bufio.NewScanner(os.Stdin)
+ for scanner.Scan() {
+ line := scanner.Text()
+ line = strings.TrimSpace(line)
+ line = strings.ToLower(line)
+ switch line {
+ case "y":
+ shell.Sudo(cmd)
+ return nil
+ default:
+ }
+ }
+ return log.Errorf("user didn't install package %s", pkg)
+}