summaryrefslogtreecommitdiff
path: root/doBuild.debian.go
diff options
context:
space:
mode:
Diffstat (limited to 'doBuild.debian.go')
-rw-r--r--doBuild.debian.go27
1 files changed, 26 insertions, 1 deletions
diff --git a/doBuild.debian.go b/doBuild.debian.go
index 8bf1c15..746fb4d 100644
--- a/doBuild.debian.go
+++ b/doBuild.debian.go
@@ -7,8 +7,10 @@ import (
"errors"
"os"
"path/filepath"
+ "strconv"
"strings"
+ "go.wit.com/lib/config"
"go.wit.com/lib/debian"
"go.wit.com/lib/fhelp"
"go.wit.com/lib/gui/shell"
@@ -142,6 +144,27 @@ func shouldBuild(repo *gitpb.Repo) string {
return ""
}
+func getBuildVersion(repo *gitpb.Repo) (int, error) {
+ if !config.InitValid() {
+ return 0, config.NotInitialized
+ }
+ _, reponame := filepath.Split(repo.Namespace)
+ if config.Get(reponame) == "" {
+ // first time for this repo
+ config.Get(log.Sprintf("%s %s %s", reponame, repo.DebianCurrentVersion(0), "0"))
+ config.Save()
+ return 0, nil
+ }
+ parts := strings.Fields(config.Get(reponame))
+ if len(parts) != 3 {
+ log.Info("Config.Get() wierd setting. fix manually:", reponame, parts)
+ return 0, errors.New("fix manually in ~/.config/mirrors/config.text")
+ }
+ i, err := strconv.Atoi(parts[2])
+ log.Info("Config.Get() worked", parts, err, i)
+ return i, err
+}
+
func buildDeb(repo *gitpb.Repo) error {
var cmd []string
@@ -164,6 +187,9 @@ func buildDeb(repo *gitpb.Repo) error {
if argv.Build.Debian.BuildVersion != 0 {
cmd = append(cmd, "--buildversion", log.Sprintf("%d", argv.Build.Debian.BuildVersion))
}
+ // try to use lib/config
+ bvers, err := getBuildVersion(repo)
+ log.Info("Config.Get() gave back", bvers, err)
if shouldBuild(repo) != "yes" {
return nil
@@ -183,7 +209,6 @@ func buildDeb(repo *gitpb.Repo) error {
}
log.Info("Building", debname, cmd)
- var err error
if _, err = repo.RunVerboseOnError(cmd); err != nil {
log.Info(repo.FullPath, cmd)
return err