summaryrefslogtreecommitdiff
path: root/doUpgrade.go
diff options
context:
space:
mode:
authorJeff Carr <[email protected]>2025-10-03 05:50:14 -0500
committerJeff Carr <[email protected]>2025-10-03 05:50:14 -0500
commit322ec42ce6da80915a80ed36f02bc6a15c238fb2 (patch)
tree145e129edf7931fa4160e23d18504fde7688998b /doUpgrade.go
parent6e30c81f54f145b5b9cd1e428eaa44f8bdc5cd81 (diff)
try to make apt install --force to work
Diffstat (limited to 'doUpgrade.go')
-rw-r--r--doUpgrade.go32
1 files changed, 23 insertions, 9 deletions
diff --git a/doUpgrade.go b/doUpgrade.go
index 428c11d..fda9a04 100644
--- a/doUpgrade.go
+++ b/doUpgrade.go
@@ -13,16 +13,18 @@ import (
func doUpgrade() error {
var cmd []string
- checkSuperuser()
+ if !argv.DryRun {
+ checkSuperuser()
- cmd = []string{"apt", "update"}
- exitOnError(cmd)
+ cmd = []string{"apt", "update"}
+ exitOnError(cmd)
- cmd = []string{"apt", "install", "wit-tools"}
- exitOnError(cmd)
+ cmd = []string{"apt", "install", "wit-tools"}
+ exitOnError(cmd)
+ }
me.machine, _ = zoopb.InitMachine()
- doAptUpgrade()
+ // doAptUpgrade()
fmt.Println("Installed Packages:")
loop := me.machine.Wit.SortByName()
@@ -30,19 +32,31 @@ func doUpgrade() error {
p := loop.Next()
// log.Info("apt install", p.Name)
if p.Name == "" {
- log.Info("odd /var/lib/apt/ list parse error. p.Name was blank (should be the package name)", p)
+ log.Infof("odd /var/lib/apt/ list parse error. p.Name was blank (should be the package name) p=%v\n", p)
continue
}
if !me.machine.IsInstalled(p.Name) {
continue
}
+ found := me.machine.FindInstalledByName(p.Name)
+
+ if found.Version == p.Version {
+ log.Info("name version already installed", p.Name, found.Version)
+ if !argv.Force {
+ continue
+ }
+ } else {
+ log.Info("name ver diff", p.Name, found.Version, p.Version)
+ }
+
if argv.DryRun {
log.Info("should install package", p.Name)
+ continue
}
- if argv.Force || argv.Upgrade.Force {
- cmd := []string{"apt", "remove", p.Name}
+ if argv.Force {
+ cmd := []string{"apt", "remove", "-y", p.Name}
log.Info("Running:", cmd)
exitOnError(cmd)