From 4f7627972e4997965be6f3c406904ef613e14c20 Mon Sep 17 00:00:00 2001 From: Felix Lange Date: Fri, 30 Sep 2016 22:03:08 +0200 Subject: build: improve debian packaging This commit tweaks the debian packaging tool: * All build environment metadata can now be overriden on the command line. This allows testing the CI build behaviour locally. * -unstable packages now actually contain the binaries (oops) * packages use Go 1.7 to build * archiving is skipped for PR builds --- internal/build/util.go | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) (limited to 'internal/build/util.go') diff --git a/internal/build/util.go b/internal/build/util.go index eead824b2..be41efed7 100644 --- a/internal/build/util.go +++ b/internal/build/util.go @@ -29,9 +29,7 @@ import ( "text/template" ) -var ( - DryRunFlag = flag.Bool("n", false, "dry run, don't execute commands") -) +var DryRunFlag = flag.Bool("n", false, "dry run, don't execute commands") // MustRun executes the given command and exits the host process for // any error. @@ -69,6 +67,7 @@ func GOPATH() string { return strings.Join(newpath, string(filepath.ListSeparator)) } +// VERSION returns the content of the VERSION file. func VERSION() string { version, err := ioutil.ReadFile("VERSION") if err != nil { @@ -77,10 +76,8 @@ func VERSION() string { return string(bytes.TrimSpace(version)) } -func GitCommit() string { - return RunGit("rev-parse", "HEAD") -} - +// RunGit runs a git subcommand and returns its output. +// The command must complete successfully. func RunGit(args ...string) string { cmd := exec.Command("git", args...) var stdout, stderr bytes.Buffer @@ -94,12 +91,13 @@ func RunGit(args ...string) string { return strings.TrimSpace(stdout.String()) } -// Render renders the given template file. +// Render renders the given template file into outputFile. func Render(templateFile, outputFile string, outputPerm os.FileMode, x interface{}) { tpl := template.Must(template.ParseFiles(templateFile)) render(tpl, outputFile, outputPerm, x) } +// RenderString renders the given template string into outputFile. func RenderString(templateContent, outputFile string, outputPerm os.FileMode, x interface{}) { tpl := template.Must(template.New("").Parse(templateContent)) render(tpl, outputFile, outputPerm, x) -- cgit v1.2.3