diff options
Diffstat (limited to 'stateWindow.go')
| -rw-r--r-- | stateWindow.go | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/stateWindow.go b/stateWindow.go index afef4b2..5d88d8e 100644 --- a/stateWindow.go +++ b/stateWindow.go @@ -38,6 +38,13 @@ func makebasicWindow() *gadgets.BasicWindow { }) group1.NewButton("Make .deb", func() { + basicWindow.Disable() + if control.buildPackage() { + log.Info("build worked") + } else { + log.Warn("build failed") + } + basicWindow.Enable() }) group1.NewButton("open repo", func() { @@ -53,3 +60,43 @@ func makebasicWindow() *gadgets.BasicWindow { return basicWindow } + +func (c *controlFile) buildPackage() bool { + if c.readControlFile() == nil { + log.Warn("scan worked") + } else { + log.Warn("scan failed") + return false + } + if shell.Run([]string{"go", "build", "-v", "-x"}) { + log.Warn("build worked") + } else { + log.Warn("build failed") + return false + } + + filename := c.Package.String() + if filename == "" { + log.Warn("build failed") + return false + } + if !shell.Exists(filename) { + log.Warn("build failed") + return false + } + + arch := c.Architecture.String() + version := "v0.0.0" + + debname := filename + "_" + version + "_" + arch + ".deb" + + shell.Run([]string{"strip", filename}) + shell.Run([]string{"dpkg-deb", "--build", "files", debname}) + if shell.Exists(debname) { + log.Warn("build worked") + } else { + log.Warn("build failed") + return false + } + return true +} |
