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) |
