diff options
| author | Jeff Carr <[email protected]> | 2025-10-09 02:28:00 -0500 |
|---|---|---|
| committer | Jeff Carr <[email protected]> | 2025-10-09 03:02:55 -0500 |
| commit | 7c3071e03327917678e8b22778b55c5b5f717314 (patch) | |
| tree | bccc513d5d8698c8650bd8cdd1cf050d7889db46 | |
| parent | af8a330c63c650ad272ee9092d749374510dd190 (diff) | |
start making packages protobuf
| -rw-r--r-- | Makefile | 2 | ||||
| -rw-r--r-- | doDistro.go | 2 | ||||
| -rw-r--r-- | main.go | 32 | ||||
| -rw-r--r-- | stuff.go | 10 |
4 files changed, 43 insertions, 3 deletions
@@ -6,7 +6,7 @@ BUILDTIME = $(shell date +%s) all: install -go-build: goimports +build: goimports GO111MODULE=off go build \ -ldflags "-X main.VERSION=${VERSION} -X main.BUILDTIME=${BUILDTIME} -X gui.GUIVERSION=${VERSION}" diff --git a/doDistro.go b/doDistro.go index f23e60f..20b28fb 100644 --- a/doDistro.go +++ b/doDistro.go @@ -30,7 +30,7 @@ func doDistro() error { // 2. Scan pool directory for .deb files and gather info log.Printf("Scanning for .deb files in %s\n", poolDir) - debInfos, err := scanDebs(poolDir) + debInfos, err := scanDebs(poolDir, -1) if err != nil { log.Printf("Failed to scan .deb files: %v\n", err) return err @@ -2,8 +2,11 @@ package main import ( "embed" + "os" "go.wit.com/lib/gui/prep" + "go.wit.com/lib/protobuf/zoopb" + "go.wit.com/log" ) // sent via -ldflags @@ -26,5 +29,34 @@ func main() { } me.sh.GoodExit("") } + os.Chdir("/home/mirrors/wit") + + // 2. Scan pool directory for .deb files and gather info + log.Printf("Scanning for .deb files in %s\n", poolDir) + debInfos, err := scanDebs(poolDir, 2) + if err != nil { + log.Printf("Failed to scan .deb files: %v\n", err) + me.sh.BadExit("scan pool scan dir", err) + } + + pb := zoopb.NewPackages() + for _, deb := range debInfos { + newdeb := new(zoopb.Package) + newdeb.Filename = deb.Filename + newdeb.MD5SUM = deb.MD5Sum + newdeb.SHA1 = deb.SHA1Sum + newdeb.SHA256 = deb.SHA256Sum + + log.Info("%v", deb) + for varname, varvalue := range deb.ControlData { + if varname == "Package" { + newdeb.Package = varvalue + } + } + pb.Append(newdeb) + // arch := deb.ControlData["Architecture"] + } + + log.Info("len", pb.Len()) me.sh.GoodExit("nothing to do") } @@ -18,13 +18,21 @@ import ( ) // scanDebs finds all .deb files and extracts their metadata. -func scanDebs(root string) ([]DebInfo, error) { +func scanDebs(root string, count int) ([]DebInfo, error) { var debs []DebInfo + var counter int err := filepath.Walk(root, func(path string, info os.FileInfo, err error) error { if err != nil { return err } if !info.IsDir() && strings.HasSuffix(info.Name(), ".deb") { + if count == -1 { + return nil + } + counter += 1 + if counter > count { + return nil + } log.Printf(" -> Processing %s", path) // Get control info |
