diff options
Diffstat (limited to 'machine.go')
| -rw-r--r-- | machine.go | 25 |
1 files changed, 23 insertions, 2 deletions
@@ -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 } |
