summaryrefslogtreecommitdiff
path: root/machine.go
diff options
context:
space:
mode:
Diffstat (limited to 'machine.go')
-rw-r--r--machine.go25
1 files changed, 23 insertions, 2 deletions
diff --git a/machine.go b/machine.go
index 3f4d23e..d524a58 100644
--- a/machine.go
+++ b/machine.go
@@ -38,8 +38,11 @@ func updateMachine(u *zoopb.Machine) string {
if u.Packages == nil {
u.Packages = new(zoopb.Packages)
}
+ if zood := m.FindPackageByName("zood"); zood != nil {
+ log.Log(ZOOD, m.Hostname, "has zood version", zood.Version)
+ }
- updatePackages(m.Packages, u.Packages)
+ updatePackages(m, u.Packages)
return "upgrade"
}
@@ -47,8 +50,26 @@ func updateMachine(u *zoopb.Machine) string {
// changed versions
// were newly installed
// were uninstalled
-func updatePackages(p *zoopb.Packages, u *zoopb.Packages) bool {
+func updatePackages(m *zoopb.Machine, newp *zoopb.Packages) bool {
var changed bool = false
+ loop := newp.SortByName()
+ for loop.Scan() {
+ p := loop.Package()
+ if p.Name == "zood" {
+ if pold := m.FindPackageByName("zood"); pold == nil {
+ changed = true
+ log.Log(ZOOD, m.Hostname, "updatePackages() new package", p.Name , "version", p.Version)
+ m.Packages.Append(p)
+ } else {
+ if p.Version == pold.Version {
+ log.Log(ZOOD, m.Hostname, "updatePackages() unchanged", p.Version)
+ } else {
+ changed = true
+ log.Log(ZOOD, m.Hostname, "updatePackages() package", p.Name , "version changed", pold.Version, "to", p.Version)
+ }
+ }
+ }
+ }
return changed
}