summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeff Carr <[email protected]>2025-01-20 01:40:14 -0600
committerJeff Carr <[email protected]>2025-01-20 01:40:14 -0600
commitfb372aad6f0cca032c1ed7577cd7747b4daca7fb (patch)
tree32dd9c7e763a1b3241518db4f80bb29479e41a69
parent96f2795bf3a96bdc9929ea1015590bb4695c4de0 (diff)
code rearangev0.0.18v0.0.17
-rw-r--r--doAptUpgrade.go70
-rw-r--r--doDebian.go (renamed from buildDeb.go)0
-rw-r--r--main.go26
3 files changed, 72 insertions, 24 deletions
diff --git a/doAptUpgrade.go b/doAptUpgrade.go
new file mode 100644
index 0000000..0245625
--- /dev/null
+++ b/doAptUpgrade.go
@@ -0,0 +1,70 @@
+package main
+
+import (
+ "fmt"
+
+ "go.wit.com/lib/gui/shell"
+ "go.wit.com/log"
+)
+
+func doAptUpgrade() {
+ if argv.DryRun {
+ log.Info("--dry-run", []string{"apt", "update"})
+ } else {
+ result := shell.Run([]string{"apt", "update"})
+ if result.Error != nil {
+ log.Info("apt update error:", result.Error)
+ badExit(result.Error)
+ }
+ }
+
+ fmt.Println("Installed Packages:")
+ loop := me.forge.Machine.Wit.SortByName()
+ for loop.Scan() {
+ p := loop.Next()
+ // log.Info("apt install", name)
+ if me.forge.Machine.IsInstalled(p.Name) {
+ if argv.DryRun {
+ log.Info("--dry-run", []string{"apt", "install", p.Name})
+ } else {
+ shell.RunRealtime([]string{"apt", "install", p.Name})
+ }
+ }
+ }
+ okExit("installed")
+}
+
+func doAptList() {
+ log.DaemonMode(true)
+ defer log.DaemonMode(false)
+ fmt.Println("Installed Packages:")
+ loop := me.forge.Machine.Wit.SortByName()
+ for loop.Scan() {
+ p := loop.Next()
+ var end string
+ var version string
+ if me.forge.Config.IsPrivate(p.Name) {
+ end += "(private) "
+ }
+ if actualp := me.forge.Machine.FindVersion(p.Name, p.Version); actualp != nil {
+ // end += "(version match) "
+ } else {
+ end += "(version mismatch) " + actualp.Version + " " + version + " "
+ }
+ if actualp := me.forge.Machine.FindInstalledByName(p.Name); actualp != nil {
+ if p.Version != actualp.Version {
+ end += "(installed " + actualp.Version + " vs " + p.Version + ") "
+ } else {
+ end += "(installed ok) "
+ }
+ version = actualp.Version
+ }
+ if me.forge.Config.IsReadOnly(p.Name) {
+ // end += " (readonly) "
+ } else {
+ end += "(writable) "
+ }
+ log.Printf("%-30s %-8s %s\n", p.Name, p.Version, end) // p.PkgName)
+ }
+ okExit("")
+}
diff --git a/buildDeb.go b/doDebian.go
index 2761eb7..2761eb7 100644
--- a/buildDeb.go
+++ b/doDebian.go
diff --git a/main.go b/main.go
index b741233..7c52b7d 100644
--- a/main.go
+++ b/main.go
@@ -55,33 +55,11 @@ func main() {
}
if argv.Upgrade != nil {
- if argv.DryRun {
- log.Info("--dry-run", []string{"apt", "update"})
- } else {
- result := shell.Run([]string{"apt", "update"})
- if result.Error != nil {
- log.Info("apt update error:", result.Error)
- badExit(result.Error)
- }
- }
-
- fmt.Println("Installed Packages:")
- loop := me.forge.Machine.Wit.SortByName()
- for loop.Scan() {
- p := loop.Next()
- // log.Info("apt install", name)
- if me.forge.Machine.IsInstalled(p.Name) {
- if argv.DryRun {
- log.Info("--dry-run", []string{"apt", "install", p.Name})
- } else {
- shell.RunRealtime([]string{"apt", "install", p.Name})
- }
- }
- }
- okExit("installed")
+ doAptUpgrade()
}
if argv.ListPkgs != nil {
+ doAptList()
log.DaemonMode(true)
defer log.DaemonMode(false)
fmt.Println("Installed Packages:")