diff options
| author | Jeff Carr <[email protected]> | 2025-10-28 08:38:29 -0500 | 
|---|---|---|
| committer | Jeff Carr <[email protected]> | 2025-10-31 00:04:54 -0500 | 
| commit | bfdefac0036123823ecfe06a32d0568ad2325b02 (patch) | |
| tree | 8c87a483b263dbeb6479ae0453a7f3bd9b272f41 | |
| parent | c70d43c9874fdc93745294adc98e48bb59f92e3f (diff) | |
| -rw-r--r-- | doIncoming.go | 49 | 
1 files changed, 47 insertions, 2 deletions
diff --git a/doIncoming.go b/doIncoming.go index 58d9ba2..2721e4b 100644 --- a/doIncoming.go +++ b/doIncoming.go @@ -26,9 +26,24 @@ func moveOutOfIncoming(fullname string, repopath string) error {  	destDir := filepath.Dir(newfilename)  	if err := os.MkdirAll(destDir, 0755); err != nil { -		log.Printf("%s  move incoming oldname %s newname: %s\n", packageName, fullname, newfilename) -		log.Fatal("Failed to create destination directory: %v", err) +		s := log.Sprintf("Failed to create destination directory(%s) err(%v)", destDir, err) +		return errors.New(s)  	} + +	develfilename := filepath.Join("pool/devel", letteredDir, packageName, filename) +	if IsDevelFilename(fullname) { +		log.Info("GOING TO MOVE TO DEVEL", develfilename) +		destDir = filepath.Dir(develfilename) +		if err := os.MkdirAll(destDir, 0755); err != nil { +			s := log.Sprintf("Failed to create destination directory(%s) err(%v)", destDir, err) +			return errors.New(s) +		} +		data, _ := os.ReadFile(fullname) +		os.WriteFile(develfilename, data, 0644) +	} else { +		log.Info("NOT GOING TO MOVE TO DEVEL", develfilename) +	} +  	// log.Printf("%s  move incoming oldname %s newname: %s\n", packageName, fullname, newfilename)  	if config.Exists(newfilename) {  		log.Info("DEBIAN POLICY: YOU CAN NEVER REBUILD THE SAME FILE. APT WILL NOT REINSTALL IT. AUTO REMOVE: ", fullname) @@ -156,6 +171,36 @@ func moveToBad(packageName string, fullname string, err error) string {  	return newbadname  } +func tokenVersionByFilename(fullname string) *vers { +	_, filename := filepath.Split(fullname) +	parts := strings.Split(filename, "_") +	if len(parts) != 3 { +		// todo: add more filename checking here (check for ".deb") +		// return errors.New(log.Sprintf("bad filenae %s", filename)) +		return nil +	} +	version := parts[1] +	curtok, err := tokenVersions(version) +	if err != nil { +		return nil +	} +	return curtok +} + +func IsDevelFilename(fullname string) bool { +	tok := tokenVersionByFilename(fullname) +	if tok == nil { +		return true +	} +	if tok.pnum != 0 { +		return true +	} +	if tok.bnum != 0 { +		return true +	} +	return false +} +  // true if package is actually newer  func checkAgainstNewest(fullname string, newest *zoopb.Packages) bool {  	_, filename := filepath.Split(fullname)  | 
