summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeff Carr <[email protected]>2025-10-24 02:37:20 -0500
committerJeff Carr <[email protected]>2025-10-24 02:37:20 -0500
commit7b7b47d0d6a9d7e134be74df3a058247b38f2603 (patch)
treec4db3a4ad14e3e76a23b5d7f05b0bd37769d179b
parent7b782848282c299a1677b239b72afbf6799092a7 (diff)
split the version & build counterv0.0.95
-rw-r--r--tableSmart.go42
1 files changed, 40 insertions, 2 deletions
diff --git a/tableSmart.go b/tableSmart.go
index 28ffeb2..d05fbad 100644
--- a/tableSmart.go
+++ b/tableSmart.go
@@ -3,6 +3,10 @@
package zoopb
import (
+ "fmt"
+ "strconv"
+ "strings"
+
"go.wit.com/lib/cobol"
"go.wit.com/log"
)
@@ -39,9 +43,42 @@ func (m *Machine) PrintInstalledTable() {
func (t *PackagesTable) AddSmartVersion() *PackageFunc {
sf := t.AddStringFunc("Version", func(m *Package) string {
- return m.Version
+ version := m.Version
+ if strings.Contains(version, "+b") {
+ parts := strings.Split(version, "+b")
+ if len(parts) == 2 {
+ version = parts[0]
+ }
+ }
+ if strings.HasSuffix(version, "-0") {
+ version = version[0 : len(version)-2]
+ }
+ return version
+ })
+ sf.Width = 12
+ return sf
+}
+
+func (p *Package) GetBuildCount() int {
+ bcount := 0
+ if strings.Contains(p.Version, "+b") {
+ parts := strings.Split(p.Version, "+b")
+ if len(parts) == 2 {
+ bcount, _ = strconv.Atoi(parts[1])
+ }
+ }
+ return bcount
+}
+
+func (t *PackagesTable) AddBuildCount() *PackageFunc {
+ sf := t.AddStringFunc(" b#", func(m *Package) string {
+ bcount := m.GetBuildCount()
+ if bcount == 0 {
+ return ""
+ }
+ return fmt.Sprintf("+b%d", bcount)
})
- sf.Width = 16
+ sf.Width = 5
return sf
}
@@ -66,6 +103,7 @@ func (m *Machine) makeSmartTable(pb *Packages) *PackagesTable {
col.Width = 16
col = t.AddSmartVersion()
+ col = t.AddBuildCount()
col = t.AddStringFunc("mirrors .deb ctime", func(p *Package) string {
if p.DebInfo == nil {