diff options
| author | Jeff Carr <[email protected]> | 2025-10-14 01:51:44 -0500 | 
|---|---|---|
| committer | Jeff Carr <[email protected]> | 2025-10-14 01:52:56 -0500 | 
| commit | d10cf84916f9171ae4eb579cd3871e4ec198f2a0 (patch) | |
| tree | 0f43c90d95688e3bcb6dff9a6c08513df39a37b1 | |
| parent | f8d3817ebee3913bb8aecff6ea5de8fde6a560ec (diff) | |
move this to lib/debian
| -rw-r--r-- | Makefile | 8 | ||||
| -rw-r--r-- | doIncoming.go | 2 | ||||
| -rw-r--r-- | keyGetFromPackaagePB.go | 134 | ||||
| -rw-r--r-- | main.go | 2 | ||||
| -rw-r--r-- | makePackagesFile.go | 92 | 
5 files changed, 138 insertions, 100 deletions
@@ -20,14 +20,6 @@ automate-everything:  	wit upgrade  	forge --version -everything: build -	./mirrors everything -	apt update -	sleep 1 -	ls -l /var/lib/apt/lists/mirrors.wit.com* -	find /home/mirrors/wit/dists -	cat /var/lib/apt/lists/mirrors.wit.com_wit_dists_sid_InRelease -  find:  	find /var/lib/apt/lists/mi* /home/mirrors/wit/dists -type f |xargs ls -l diff --git a/doIncoming.go b/doIncoming.go index 531f99d..ed5b4a0 100644 --- a/doIncoming.go +++ b/doIncoming.go @@ -47,7 +47,7 @@ func doIncoming(pb *zoopb.Packages) (string, error) {  						oldmd5 := md5.Sum(olddata)  						newmd5 := md5.Sum(newdata)  						if oldmd5 == newmd5 { -							log.Info("files are the same", md5.Sum(olddata), md5.Sum(newdata)) +							log.Printf("files are the same %x %x\n", md5.Sum(olddata), md5.Sum(newdata))  						} else {  							shell.RunVerbose([]string{"dpkg", "-I", path})  							shell.RunVerbose([]string{"dpkg", "-I", newfilename}) diff --git a/keyGetFromPackaagePB.go b/keyGetFromPackaagePB.go new file mode 100644 index 0000000..a97e080 --- /dev/null +++ b/keyGetFromPackaagePB.go @@ -0,0 +1,134 @@ +package main + +import ( +	"strings" + +	"go.wit.com/lib/debian" +	"go.wit.com/lib/protobuf/zoopb" +	"go.wit.com/log" +) + +// make a list of the newest .deb files +func doMakePackagesFile(all *zoopb.Packages) string { +	var pfile string +	for p := range all.IterAll() { +		var controlfile string +		parts, err := zoopb.GetDebInfoFields(p) +		if err != nil { +			log.Info(err) +		} +		for _, varname := range parts { +			varname, varval := debian.GetKeyFromPackagePB(p, varname) +			varval = strings.TrimSpace(varval) +			if varval == "" { +				continue +			} +			controlfile += log.Sprintf("%s: %s\n", varname, varval) +		} +		controlfile += log.Sprintf("\n") +		pfile += controlfile +	} +	return pfile +} + +/* +func keyGetFromPackagePB(p *zoopb.Package, varname string) (string, string) { +	switch varname { +	case "Package": +		return "Package", p.Package +	case "Filename": +		return "Filename", p.Filename +	case "Version": +		return "Version", p.Version +	case "Architecture": +		return "Architecture", p.Architecture +	case "Maintainer": +		return "Maintainer", p.DebInfo.Maintainer +		// return "Maintainer", p.Author +	case "Source": +		if argv.Verbose { +			log.Info("skipping from controlfile", varname) +			// return "Source", p.DebInfo.Source +		} +		return "Source", "" +	case "Conflicts": +		return "Conflicts", p.DebInfo.Conflicts +	case "Packager": +		return "Packager", p.DebInfo.Packager +		// return "Packager", p.Packager +	case "Depends": +		return "Depends", p.DebInfo.Depends +	case "Namespace": +		return "Namespace", p.Namespace +	case "GitHash": +		return "Last-Git-Hash", p.DebInfo.GitHash +	case "GitDate": +		if p.DebInfo.GitDate == "" { +			return "Git-Hash-Date", "" +		} +		return "Git-Hash-Date", cobol.Time(p.DebInfo.GitDate) +	case "BuildDepends": +		return "Build-Depends", p.DebInfo.BuildDepends +	case "InstalledSize": +		return "Installed-Size", p.DebInfo.InstalledSize +	case "Homepage": +		return "Homepage", p.DebInfo.Homepage +	case "PreDepends": +		return "Pre-Depends", p.DebInfo.PreDepends +	case "Suggests": +		return "Suggests", p.DebInfo.Suggests +	case "MultiArch": +		return "Multi-Arch", p.DebInfo.MultiArch +	case "Tag": +		return "Tag", p.DebInfo.Tag +	case "Size": +		return "Size", p.DebInfo.Size +	case "Section": +		return "Section", p.DebInfo.Section +	case "URL": +		return "URL", p.DebInfo.URL +	//case "Size": +	//	return "Size", p.DebInfo.Size +	case "BuildDate": +		if p.BuildDate == nil { +			return "Build-Date", "" +		} +		return "Build-Date", cobol.Time(p.BuildDate) +	case "DebCtime": +		return "Deb-File-Date", cobol.Time(p.Ctime) +	case "SHA1": +		return "SHA1", "" // deprecated +		// return "SHA1", p.DebInfo.SHA1 +	case "MD5SUM": +		return "MD5Sum", p.DebInfo.MD5SUM +	case "SHA256": +		return "SHA256", p.DebInfo.SHA256 +	case "SHA512": +		return "SHA512", "" // totally rediculously overkill +	case "Description": +		var out string +		lines := strings.Split(p.DebInfo.Description, "\n") +		if len(lines) == 0 { +			return "Description", out +		} +		out = "Description: " + strings.TrimSpace(lines[0]) +		if len(lines) == 1 { +			return "Description", out +		} +		for _, line := range lines[1:] { +			out += " " + strings.TrimSpace(line) +		} +		return "Description", out +	default: +		dieMaking(varname) +	} +	return "", "" +} + +func dieMaking(varname string) { +	log.Info("DebInfo sent a field we didn't have. fix the code above", varname) +	log.Printf("UNHANDLED ABOVE DEBINFO VAR: varname:%s\n", varname) +	// This forces me(it could be you!) to fix this parser +	panic("fix mirrors makeDebianControlFile()") +} +*/ @@ -6,6 +6,7 @@ import (  	"os"  	"path/filepath" +	"go.wit.com/lib/debian"  	"go.wit.com/lib/gui/prep"  	"go.wit.com/lib/gui/shell"  	"go.wit.com/lib/protobuf/zoopb" @@ -93,6 +94,7 @@ func main() {  	}  	if argv.Verify != nil { +		debian.InitMachine()  		s, err = doVerify()  	} diff --git a/makePackagesFile.go b/makePackagesFile.go index 0a70c3f..dd109dc 100644 --- a/makePackagesFile.go +++ b/makePackagesFile.go @@ -188,6 +188,7 @@ func populateDebInfo(p *zoopb.Package) error {  	return nil  } +/*  func makeDebianControlFile(p *zoopb.Package, varname string) (string, string) {  	switch varname {  	case "Package": @@ -280,95 +281,4 @@ func makeDebianControlFile(p *zoopb.Package, varname string) (string, string) {  	}  	return "", ""  } - -func dieMaking(varname string) { -	log.Info("DebInfo sent a field we didn't have. fix the code above", varname) -	log.Printf("UNHANDLED ABOVE DEBINFO VAR: varname:%s\n", varname) -	// This forces me(it could be you!) to fix this parser -	panic("fix mirrors makeDebianControlFile()") -} - -// make a list of the newest .deb files -func doMakePackagesFile(all *zoopb.Packages) string { -	var pfile string -	for p := range all.IterAll() { -		var controlfile string -		parts, err := zoopb.GetDebInfoFields(p) -		if err != nil { -			log.Info(err) -		} -		for _, varname := range parts { -			varname, varval := makeDebianControlFile(p, varname) -			varval = strings.TrimSpace(varval) -			if varval == "" { -				continue -			} -			controlfile += log.Sprintf("%s: %s\n", varname, varval) -		} -		controlfile += log.Sprintf("\n") -		pfile += controlfile -	} -	return pfile -} - -/* -	log.Printf("Scanning for .deb files in %s\n", poolDir) -	debInfos, err := scanDebs(poolDir, 200) -	if err != nil { -		log.Printf("Failed to scan .deb files: %v\n", err) -		me.sh.BadExit("scan pool scan dir", err) -	} - -	var counter int -	for _, deb := range debInfos { -		newdeb := new(zoopb.Package) -		newdeb.DebInfo = new(zoopb.DebInfo) -		newdeb.Filename = deb.Filename -		newdeb.DebInfo.Filename = deb.Filename -		newdeb.DebInfo.MD5SUM = deb.MD5Sum -		// newdeb.DebInfo.SHA1 = deb.SHA1Sum -		newdeb.DebInfo.SHA256 = deb.SHA256Sum - -		// log.Info("len(CONTROLDATA)", len(deb.ControlData)) -		// log.Sprintf("VAR='%s' VAL='%s'\n", varname, varvalue) -		// log.Info("%v", deb.ControlData) -		for varname, varvalue := range deb.ControlData { -			switch varname { -			case "Package": -				newdeb.Package = varvalue -			case "Version": -				newdeb.Version = varvalue -			case "Architecture": -				newdeb.Architecture = varvalue -			case "Git-Tag-Date": -				if argv.Verbose { -					log.Info("CONVERT THIS TO TIME", varname, varvalue) -				} -			case "Depends": -				newdeb.DebInfo.Depends = varvalue -			case "Build-Depends": -				newdeb.DebInfo.BuildDepends = varvalue -			case "Packager": -				newdeb.DebInfo.Packager = varvalue -			case "Package-Build-Date": -				varname = "PackageBuildDate" -				const layout = "2006/01/02 15:04:05 MST" -				parsedTime, err := time.Parse(layout, varvalue) -				if err != nil { -					log.Info("CONVERT TO TIME failed", varname, varvalue, err) -				} -				newdeb.BuildDate = timestamppb.New(parsedTime) -			case "URL": -				newdeb.DebInfo.Homepage = varvalue -			default: -				if err := debian.SetDebInfoString(newdeb, varname, varvalue); err == nil { -					if argv.Verbose { -						log.Printf("Searching for Sugarman WORKED: VAR='%-30s' VAL='%s'\n", varname, varvalue) -					} -				} else { -					log.Printf("Searching for Sugarman (unknwon var): VAR='%-30s' VAL='%s' err=%v\n", varname, varvalue, err) -				} -				// todo: add to protomap -			} -		}  */  | 
