From 5189974b33b9caf574031f1d90fa6ec17eccf185 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Mart=C3=AD?= Date: Sat, 24 Oct 2015 11:36:40 +0200 Subject: [PATCH] Add upgrade command --- cmd/fdroidcl/main.go | 1 + cmd/fdroidcl/upgrade.go | 33 +++++++++++++++++++++++++++++++++ 2 files changed, 34 insertions(+) create mode 100644 cmd/fdroidcl/upgrade.go diff --git a/cmd/fdroidcl/main.go b/cmd/fdroidcl/main.go index 0dd0c36..a385899 100644 --- a/cmd/fdroidcl/main.go +++ b/cmd/fdroidcl/main.go @@ -152,6 +152,7 @@ var commands = []*Command{ cmdDevices, cmdDownload, cmdInstall, + cmdUpgrade, cmdUninstall, cmdDefaults, } diff --git a/cmd/fdroidcl/upgrade.go b/cmd/fdroidcl/upgrade.go new file mode 100644 index 0000000..c965009 --- /dev/null +++ b/cmd/fdroidcl/upgrade.go @@ -0,0 +1,33 @@ +// Copyright (c) 2015, Daniel Martí +// See LICENSE for licensing information + +package main + +import ( + "log" +) + +var cmdUpgrade = &Command{ + UsageLine: "upgrade ", + Short: "Upgrade an app", +} + +func init() { + cmdUpgrade.Run = runUpgrade +} + +func runUpgrade(args []string) { + if len(args) < 1 { + log.Fatalf("No package names given") + } + device := mustOneDevice() + apps := findApps(args) + inst := mustInstalled(device) + for _, app := range apps { + _, e := inst[app.ID] + if !e { + log.Fatalf("%s is not installed", app.ID) + } + } + downloadAndInstall(apps, device) +}