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)
}
}
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 {
apk *fdroidcl.Apk
path string
@ -50,7 +50,7 @@ func downloadAndInstall(apps []*fdroidcl.App, device *adb.Device) {
toInstall[i] = downloaded{apk: apk, path: path}
}
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")
}
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)
inst := mustInstalled(device)
for _, app := range apps {
_, e := inst[app.ID]
p, e := inst[app.ID]
if !e {
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