diff options
Diffstat (limited to 'doUpgrade.go')
| -rw-r--r-- | doUpgrade.go | 18 |
1 files changed, 14 insertions, 4 deletions
diff --git a/doUpgrade.go b/doUpgrade.go index 3d8d0c1..428c11d 100644 --- a/doUpgrade.go +++ b/doUpgrade.go @@ -6,7 +6,6 @@ package main import ( "fmt" - "go.wit.com/lib/gui/shell" "go.wit.com/lib/protobuf/zoopb" "go.wit.com/log" ) @@ -37,13 +36,24 @@ func doUpgrade() error { if !me.machine.IsInstalled(p.Name) { continue } + if argv.DryRun { log.Info("should install package", p.Name) } - cmd := []string{"apt", "install", p.Name} - log.Info("Running:", cmd) - shell.RunVerbose(cmd) + if argv.Force || argv.Upgrade.Force { + cmd := []string{"apt", "remove", p.Name} + log.Info("Running:", cmd) + exitOnError(cmd) + + cmd = []string{"apt", "install", "-y", p.Name} + log.Info("Running:", cmd) + exitOnError(cmd) + } else { + cmd := []string{"apt", "install", "-y", p.Name} + log.Info("Running:", cmd) + exitOnError(cmd) + } } okExit("installed") return nil |
