From 28a3ff4d9e42fc4f713ebbb65ba9e7ba74ca4874 Mon Sep 17 00:00:00 2001 From: Jeff Carr Date: Mon, 13 Oct 2025 01:37:15 -0500 Subject: better name --- tableDefault.go | 116 ------------------------------------------------ tableMachinePackages.go | 116 ++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 116 insertions(+), 116 deletions(-) delete mode 100644 tableDefault.go create mode 100644 tableMachinePackages.go diff --git a/tableDefault.go b/tableDefault.go deleted file mode 100644 index b7ecc57..0000000 --- a/tableDefault.go +++ /dev/null @@ -1,116 +0,0 @@ -// Copyright 2025 WIT.COM Inc Licensed GPL 3.0 - -package zoopb - -import ( - "go.wit.com/log" -) - -// this is the smart table layout for packages - -func (m *Machine) PrintTable(pb *Packages) { - tablePB := m.makeSmartTable(pb) - tablePB.PrintTable() - var i int - for p := range pb.IterAll() { - if m.IsInstalled(p.Package) { - i += 1 - } - } - - log.Printf("pb.SmartTable: packages: total=%d installed=%d\n", pb.Len(), i) -} - -func (m *Machine) PrintInstalledTable() { - installed := NewPackages() - for p := range m.Wit.IterAll() { - if m.IsInstalled(p.Package) { - installed.Append(p) - } - } - tablePB := m.makeSmartTable(installed) - if tablePB == nil { - panic("WTF") - } - tablePB.PrintTable() - log.Printf("pb.SmartTable: %d installed packages\n", installed.Len()) -} - -func (m *Machine) makeSmartTable(pb *Packages) *PackagesTable { - t := pb.NewTable("apt packages") - t.NewUuid() - - var col *PackageFunc - - col = t.AddStringFunc(" I", func(p *Package) string { - if m.IsInstalled(p.Package) { - return " X" - } - return "" - }) - col.Width = 3 - - col = t.AddStringFunc("U", func(p *Package) string { - if m.WillUpgrade(p) { - return "X" - } - return "" - }) - col.Width = 1 - - col = t.AddPackage() - col.Width = 16 - - col = t.AddVersion() - col.Width = 20 - - col = t.AddStringFunc("md5sum", func(p *Package) string { - if p.DebInfo == nil { - return "" - } - return p.DebInfo.MD5SUM - }) - col.Width = 3 - - col = t.AddFilename() - col.Width = -1 - col.Header.Name = "apt package path" - - return t -} - -// true if the package 'p' is newer than the installed package -func (m *Machine) WillUpgrade(p *Package) bool { - check := m.FindInstalledByName(p.Package) - if check == nil { - // not installed. can not upgrade - return false - } - if check.Version != p.Version { - return true - } - return false -} - -/* -// this means somehow this machine has a newer version than the mirrors have -// true if the package 'p' is newer than the installed package -func (m *Machine) MirrorsOutOfDate(p *Package) bool { - check := m.FindInstalledByName(p.Package) - if check == nil { - // not installed - return false - } - v1, _ := fhelp.NewDebVersion(check.Version) - v2, _ := fhelp.NewDebVersion(p.Version) - if v1.Equal(v2) { - // log.Info("do nothing", v1, v2) - return false - } - if v2.LessThan(v1) { - log.Info("wow. you have a newer version on this box than the mirrors", v1, "to", v2) - return true - } - return false -} -*/ diff --git a/tableMachinePackages.go b/tableMachinePackages.go new file mode 100644 index 0000000..93208c0 --- /dev/null +++ b/tableMachinePackages.go @@ -0,0 +1,116 @@ +// Copyright 2025 WIT.COM Inc Licensed GPL 3.0 + +package zoopb + +import ( + "go.wit.com/log" +) + +// tables for what packages are currently installed + +func (m *Machine) PrintTable(pb *Packages) { + tablePB := m.makeSmartTable(pb) + tablePB.PrintTable() + var i int + for p := range pb.IterAll() { + if m.IsInstalled(p.Package) { + i += 1 + } + } + + log.Printf("pb.SmartTable: packages: total=%d installed=%d\n", pb.Len(), i) +} + +func (m *Machine) PrintInstalledTable() { + installed := NewPackages() + for p := range m.Wit.IterAll() { + if m.IsInstalled(p.Package) { + installed.Append(p) + } + } + tablePB := m.makeSmartTable(installed) + if tablePB == nil { + panic("WTF") + } + tablePB.PrintTable() + log.Printf("pb.SmartTable: %d installed packages\n", installed.Len()) +} + +func (m *Machine) makeSmartTable(pb *Packages) *PackagesTable { + t := pb.NewTable("apt packages") + t.NewUuid() + + var col *PackageFunc + + col = t.AddStringFunc(" I", func(p *Package) string { + if m.IsInstalled(p.Package) { + return " X" + } + return "" + }) + col.Width = 3 + + col = t.AddStringFunc("U", func(p *Package) string { + if m.WillUpgrade(p) { + return "X" + } + return "" + }) + col.Width = 1 + + col = t.AddPackage() + col.Width = 16 + + col = t.AddVersion() + col.Width = 20 + + col = t.AddStringFunc("md5sum", func(p *Package) string { + if p.DebInfo == nil { + return "" + } + return p.DebInfo.MD5SUM + }) + col.Width = 3 + + col = t.AddFilename() + col.Width = -1 + col.Header.Name = "apt package path" + + return t +} + +// true if the package 'p' is newer than the installed package +func (m *Machine) WillUpgrade(p *Package) bool { + check := m.FindInstalledByName(p.Package) + if check == nil { + // not installed. can not upgrade + return false + } + if check.Version != p.Version { + return true + } + return false +} + +/* +// this means somehow this machine has a newer version than the mirrors have +// true if the package 'p' is newer than the installed package +func (m *Machine) MirrorsOutOfDate(p *Package) bool { + check := m.FindInstalledByName(p.Package) + if check == nil { + // not installed + return false + } + v1, _ := fhelp.NewDebVersion(check.Version) + v2, _ := fhelp.NewDebVersion(p.Version) + if v1.Equal(v2) { + // log.Info("do nothing", v1, v2) + return false + } + if v2.LessThan(v1) { + log.Info("wow. you have a newer version on this box than the mirrors", v1, "to", v2) + return true + } + return false +} +*/ -- cgit v1.2.3