summaryrefslogtreecommitdiff
path: root/build.go
diff options
context:
space:
mode:
authorJeff Carr <[email protected]>2025-09-11 19:08:15 -0500
committerJeff Carr <[email protected]>2025-09-11 19:08:15 -0500
commit475e72018e18757026e50c1f80d71b630461b7ec (patch)
tree8cbc6bebd3fdebca54bbd9b46ecc5ef59c093a0c /build.go
parentaedb5a3bef4eb587e56744837f528836986e9f92 (diff)
Diffstat (limited to 'build.go')
-rw-r--r--build.go100
1 files changed, 2 insertions, 98 deletions
diff --git a/build.go b/build.go
index 1fd1258..5030586 100644
--- a/build.go
+++ b/build.go
@@ -5,11 +5,8 @@ import (
"fmt"
"os"
"path/filepath"
- "strconv"
- "strings"
"time"
- "github.com/go-cmd/cmd"
"go.wit.com/lib/gui/shell"
"go.wit.com/lib/protobuf/gitpb"
"go.wit.com/log"
@@ -167,14 +164,14 @@ func buildPackage(repo *gitpb.Repo) (bool, error) {
// probably deprecate this
log.Info("REPO GO_DEB_CUSTOM=true means binary is not copied")
} else {
- fname := repo.Control["Package"]
+ _, fname := filepath.Split(repo.GetFullPath())
cmd := []string{"cp", fname, "files/usr/bin"}
log.Info("REPO FILENAME cp", cmd)
if err := repo.RunVerbose(cmd); err != nil {
log.Warn("cp failed")
return false, err
}
- cmd = []string{"strip", "files/usr/bin/" + filename}
+ cmd = []string{"strip", "files/usr/bin/" + fname}
if err := repo.RunVerbose(cmd); err != nil {
log.Warn("strip failed")
return false, err
@@ -245,96 +242,3 @@ func buildPackage(repo *gitpb.Repo) (bool, error) {
}
return true, nil
}
-
-func writeDebianControlFile(repo *gitpb.Repo) bool {
- filename := "files/DEBIAN/control"
- cf, err := os.OpenFile(filename, os.O_RDWR|os.O_CREATE|os.O_TRUNC, 0644)
- if err != nil {
- log.Info("open control file failed", err)
- return false
- }
- fmt.Fprintln(cf, "Package:", repo.Control["Package"]) // c.Package.String())
- fmt.Fprintln(cf, "Source:", repo.Control["Source"]) // c.Source.String())
- fmt.Fprintln(cf, "Version:", repo.Control["Version"])
- if repo.Control["Architecture"] == "" {
- repo.Control["Architecture"] = "amd64"
- }
- fmt.Fprintln(cf, "Architecture:", repo.Control["Architecture"]) // c.Architecture.String())
-
- writeControlVar(cf, repo, "Depends")
- writeControlVar(cf, repo, "Build-Depends")
- writeControlVar(cf, repo, "Maintainer")
- writeControlVar(cf, repo, "Packager")
- writeControlVar(cf, repo, "GoPath")
- writeControlVar(cf, repo, "URL")
- writeControlVar(cf, repo, "Conflicts")
-
- stamp := time.Now().UTC().Format("2006/01/02 15:04:05 UTC")
- // update to now now despite what the GUI is showing
- fmt.Fprintln(cf, "Package-Build-Date:", stamp)
- fmt.Fprintln(cf, "Git-Tag-Date:", "todo: get from repo")
-
- desc, _ := repo.Control["Description"] // c.Description.String()
- parts := strings.Split(desc, "\n")
- fmt.Fprintln(cf, "Description:", strings.Join(parts, "\n "))
-
- log.Info("file written as:", filename)
- return true
-}
-
-func writeControlVar(f *os.File, repo *gitpb.Repo, varname string) {
- val, _ := repo.Control[varname]
- if val == "" {
- return
- }
- fmt.Fprintln(f, varname+":", val)
-}
-
-// try to guess or figure out the config file values
-// if there is not a control file
-func computeControlValues(repo *gitpb.Repo) bool {
- if repo.Control["Package"] == "" {
- // get the package name from the repo name
- path := repo.Control["pathL"] // c.pathL.String()
- parts := strings.Split(path, "/")
- name := parts[len(parts)-1]
- repo.Control["Package"] = name
- }
- if repo.Control["Source"] == "" {
- repo.Control["Source"] = repo.Control["Package"]
- }
- if repo.Control["Build-Depends"] == "" {
- repo.Control["Build-Depends"] = repo.Control["golang"]
- }
- if repo.Control["Recommends"] == "" {
- repo.Control["Recommends"] = repo.Control["go-gui-toolkits"]
- }
- if repo.Control["Maintainer"] == "" {
- repo.Control["Maintainer"] = "todo: get from ENV"
- }
- if repo.Control["Description"] == "" {
- repo.Control["Description"] = "todo: put URL here"
- }
- return true
-}
-
-// stamp := time.Now().UTC().Format("2006/01/02 15:04:05 UTC")
-
-func getDateStamp(tag string) string {
- var r cmd.Status
- r = me.repo.Run([]string{"git", "log", "-1", "--format=%at", tag})
-
- out := strings.Join(r.Stdout, "\n")
- out = strings.TrimSpace(out)
-
- // Convert the string to an integer
- gitTagTimestampInt, err := strconv.ParseInt(out, 10, 64)
- if err != nil {
- fmt.Println("Error converting timestamp:", err)
- return "git tag " + tag + " unknown"
- }
-
- // Parse the Unix timestamp into a time.Time object
- gitTagDate := time.Unix(gitTagTimestampInt, 0)
- return gitTagDate.UTC().Format("2006-01-02_15:04:05_UTC") // close to RFC3339
-}