summaryrefslogtreecommitdiff
path: root/doDebian.go
diff options
context:
space:
mode:
authorJeff Carr <[email protected]>2025-10-03 13:47:01 -0500
committerJeff Carr <[email protected]>2025-10-03 13:47:01 -0500
commite4b679003ce0847dd65254a5e0a0b3239fd0d566 (patch)
tree6d5ce5b6db6349ad5022656732d044137a624339 /doDebian.go
parent888ef5304907d0e8a98472a31728b5398972b647 (diff)
mv and merge
Diffstat (limited to 'doDebian.go')
-rw-r--r--doDebian.go78
1 files changed, 78 insertions, 0 deletions
diff --git a/doDebian.go b/doDebian.go
index 8d6aa3e..acd2eae 100644
--- a/doDebian.go
+++ b/doDebian.go
@@ -71,3 +71,81 @@ func doDebian() {
exitOnErrorRealtime([]string{"do-aptly"})
}
+
+func buildDeb(check *gitpb.Repo) error {
+ var cmd []string
+
+ outdir := getOutdir(check)
+ os.MkdirAll(outdir, 0755)
+
+ if me.forge.Config.IsReadOnly(check.GetGoPath()) {
+ return nil
+ }
+
+ if !check.IsBinary() {
+ return nil
+ }
+
+ if check.IsGoPlugin() {
+ return nil
+ }
+
+ if argv.Release {
+ cmd = []string{"go-deb", "--release", "--dir", outdir}
+ } else {
+ cmd = []string{"go-deb", "--dir", outdir}
+ }
+ if me.forge.Config.IsPrivate(check.GetGoPath()) {
+ cmd = []string{"go-deb", "--dir", outdir}
+ return nil
+ }
+
+ if argv.Verbose || argv.Force {
+ // log.Info("build cmd:", cmd)
+ cmd = append(cmd, "--verbose")
+ }
+ if argv.DryRun {
+ return nil
+ }
+
+ if argv.Force {
+ // build everything no matter what
+ } else {
+ if state[check] != "need to build" {
+ // log.Info("skipping build for", check.GetGoPath(), state[check])
+ return nil
+ }
+ }
+
+ var err error
+ if _, err = check.RunVerboseOnError(cmd); err != nil {
+ log.Info(check.FullPath, cmd)
+ failed[check] = fmt.Sprint("godeb failed", cmd, "with", err)
+ return err
+ }
+
+ log.Info("build worked", cmd, check.FullPath)
+ return nil
+}
+
+func getOutdir(repo *gitpb.Repo) string {
+ if me.forge.Config.IsPrivate(repo.GetGoPath()) {
+ return "/home/jcarr/incoming-private"
+ }
+ if argv.Force {
+ return "/home/jcarr/incoming"
+ }
+ if repo.GetLastTag() != repo.GetMasterVersion() {
+ return "/home/jcarr/incoming-devel"
+ }
+
+ if repo.GetCurrentBranchVersion() != repo.GetMasterVersion() {
+ return "/home/jcarr/incoming-devel"
+ }
+
+ if repo.CheckDirty() {
+ return "/home/jcarr/incoming-devel"
+ }
+
+ return "/home/jcarr/incoming"
+}