diff options
| author | Jeff Carr <[email protected]> | 2025-10-03 05:50:14 -0500 |
|---|---|---|
| committer | Jeff Carr <[email protected]> | 2025-10-03 05:50:14 -0500 |
| commit | 322ec42ce6da80915a80ed36f02bc6a15c238fb2 (patch) | |
| tree | 145e129edf7931fa4160e23d18504fde7688998b /doUpgrade.go | |
| parent | 6e30c81f54f145b5b9cd1e428eaa44f8bdc5cd81 (diff) | |
try to make apt install --force to work
Diffstat (limited to 'doUpgrade.go')
| -rw-r--r-- | doUpgrade.go | 32 |
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) |
