Browse Source

upgrade: actually do upgrade installs

pull/8/head
Daniel Martí 11 years ago
parent
commit
64af7a6d67
  1. 15
      cmd/fdroidcl/install.go
  2. 7
      cmd/fdroidcl/upgrade.go

15
cmd/fdroidcl/install.go

@ -32,10 +32,10 @@ func runInstall(args []string) {
log.Fatalf("%s is already installed", app.ID) log.Fatalf("%s is already installed", app.ID)
} }
} }
downloadAndInstall(apps, device) downloadAndDo(apps, device, installApk)
} }
func downloadAndInstall(apps []*fdroidcl.App, device *adb.Device) { func downloadAndDo(apps []*fdroidcl.App, device *adb.Device, doApk func(*adb.Device, *fdroidcl.Apk, string)) {
type downloaded struct { type downloaded struct {
apk *fdroidcl.Apk apk *fdroidcl.Apk
path string path string
@ -50,7 +50,7 @@ func downloadAndInstall(apps []*fdroidcl.App, device *adb.Device) {
toInstall[i] = downloaded{apk: apk, path: path} toInstall[i] = downloaded{apk: apk, path: path}
} }
for _, t := range toInstall { for _, t := range toInstall {
installApk(device, t.apk, t.path) doApk(device, t.apk, t.path)
} }
} }
@ -62,3 +62,12 @@ func installApk(device *adb.Device, apk *fdroidcl.Apk, path string) {
} }
fmt.Println("done") fmt.Println("done")
} }
func upgradeApk(device *adb.Device, apk *fdroidcl.Apk, path string) {
fmt.Printf("Upgrading %s... ", apk.App.ID)
if err := device.Upgrade(path); err != nil {
fmt.Println()
log.Fatalf("Could not upgrade %s: %v", apk.App.ID, err)
}
fmt.Println("done")
}

7
cmd/fdroidcl/upgrade.go

@ -24,10 +24,13 @@ func runUpgrade(args []string) {
apps := findApps(args) apps := findApps(args)
inst := mustInstalled(device) inst := mustInstalled(device)
for _, app := range apps { for _, app := range apps {
_, e := inst[app.ID] p, e := inst[app.ID]
if !e { if !e {
log.Fatalf("%s is not installed", app.ID) log.Fatalf("%s is not installed", app.ID)
} }
if p.VCode >= app.CVCode {
log.Fatalf("%s is up to date", app.ID)
}
} }
downloadAndInstall(apps, device) downloadAndDo(apps, device, upgradeApk)
} }

Loading…
Cancel
Save