From 475e72018e18757026e50c1f80d71b630461b7ec Mon Sep 17 00:00:00 2001 From: Jeff Carr Date: Thu, 11 Sep 2025 19:08:15 -0500 Subject: fixes for wierd package names --- readControlFile.go | 145 ----------------------------------------------------- 1 file changed, 145 deletions(-) delete mode 100644 readControlFile.go (limited to 'readControlFile.go') diff --git a/readControlFile.go b/readControlFile.go deleted file mode 100644 index d6a4c0d..0000000 --- a/readControlFile.go +++ /dev/null @@ -1,145 +0,0 @@ -package main - -import ( - "bufio" - "os" - "path/filepath" - "strings" - "unicode" - - "go.wit.com/lib/protobuf/gitpb" - "go.wit.com/log" -) - -func trimNonNumericPrefix(s string) string { - // Find the index of the first character that IS a digit. - firstDigitIndex := strings.IndexFunc(s, unicode.IsDigit) - - // If no digit is found, IndexFunc returns -1. - // In this case, the result should be an empty string. - if firstDigitIndex == -1 { - return "" - } - - // Return the substring starting from the first digit. - return s[firstDigitIndex:] -} - -// readGitConfig reads and parses the control file -func readControlFile(repo *gitpb.Repo) error { - pairs := make(map[string]string) - var key string - - file, err := os.Open("control") - if err != nil { - log.Warn("readControlFile() could not find the file") - // return errors.New("'control': file not found") - // if this happens, make up a fake control file - pairs["Architecture"] = "amd64" // TODO: figure this out - pairs["Recommends"] = "" - pairs["Source"] = "notsure" - if me.repo == nil { - pairs["Description"] = "put something here" - } else { - pairs["Description"] = me.repo.GetGoPath() - } - if repo.Control == nil { - repo.Control = make(map[string]string) - } - for key, value := range pairs { - repo.Control[key] = value - } - if os.Getenv("GIT_AUTHOR_NAME") != "" { - author := log.Sprintf("%s <%s>", os.Getenv("GIT_AUTHOR_NAME"), os.Getenv("GIT_AUTHOR_EMAIL")) - repo.Control["Packager"] = author - } - _, fname := filepath.Split(repo.GetFullPath()) - repo.Control["Package"] = fname - repo.Control["Version"] = trimNonNumericPrefix(repo.GetCurrentVersion()) - repo.Control["URL"] = repo.URL - return nil - } - defer file.Close() - - pairs["Version"] = trimNonNumericPrefix(repo.GetCurrentVersion()) - - scanner := bufio.NewScanner(file) - for scanner.Scan() { - line := scanner.Text() - - // Skip empty lines and comments - if line == "" || strings.HasPrefix(line, "#") || strings.HasPrefix(line, ";") { - continue - } - - // if line starts with a space, it's part of the last key - if strings.HasPrefix(line, " ") { - pairs[key] = pairs[key] + "\n" + strings.TrimSpace(line) - continue - } - - partsNew := strings.SplitN(line, ":", 2) - if len(partsNew) < 2 { - log.Warn("error on line:", line) - continue - } - - key = strings.TrimSpace(partsNew[0]) - value := strings.TrimSpace(partsNew[1]) - pairs[key] = value - } - if repo.Control == nil { - repo.Control = make(map[string]string) - } - for key, value := range pairs { - repo.Control[key] = value - /* - switch key { - case "Source": - c.Source.SetText(value) - case "Build-Depends": - c.BuildDepends.SetText(value) - case "Description": - c.Description.SetText(value) - case "Maintainer": - c.Maintainer.SetText(value) - case "Packager": - c.Packager.SetText(value) - case "GoPath": - c.GoPath.SetText(value) - case "URL": - c.URL.SetText(value) - case "Depends": - c.Depends.SetText(value) - case "Recommends": - c.Recommends.SetText(value) - case "Conflicts": - c.Conflicts.SetText(value) - case "Version": - c.Version.SetText(value) - case "Package": - c.Package.SetText(value) - // if c.Package.String() != value { - // log.Warn("not sure what to do with Package", c.Package.String(), value) - // } - case "Architecture": - // todo: add logic to find OS arch - if c.Architecture.String() != value { - log.Warn("attempting to set arch to", value) - c.Architecture.SetText(value) - - } - default: - log.Warn("the 'control' file has a value I don't know about") - log.Warn("error unknown key", key, "value:", value) - } - */ - } - pairs["Architecture"] = "amd64" // TODO: figure this out - - if err := scanner.Err(); err != nil { - return err - } - - return nil -} -- cgit v1.2.3