Subject: [bug#30806] Packaging Terraform, a Golang package

From: Pierre Neidhardt <[email-masked]>
Date: Thu, 20 Dec 2018 10:47:18 +0100

> 1) Is it bad that our package definition isn't running "go generate" or
> "go fmt"?  Do you know if "go install" does this for us somehow?  I
> don't think "stringer" or "mockgen" are present in the build

"go generate" is used to generate code, it's like a preprocessor.  Most Go
programs don't use it, but if they do, then it's needed.

"go fmt" should not be part of the build process in my opinion.  A code
formatter fits better into a Git hook or something.

> 2) After I ran "make" ad-hoc, I couldn't find a built "terraform"
> executable anywhere.  Where is it?  Am missing something obvious, or
> could it be that the official documentation incomplete and I need to ask
> upstream for advice?

I haven't looked into it, but it should be either in ~/go/bin or in the package
source folder, something like ~/go/src/.../terraform/.

> 3) The official instructions seem to arbitrarily choose to run the build
> in parallel, using 4 threads, which means this package won't play nice
> with build arguments like --cores.  I suppose I might need to work with
> upstream to fix that.

I think Go decides this on its own.  Off the top of my head, there is an
environment variable to control the number of CPU threads used globally,
GO_xxx_CORES or something like that.

-- 
Pierre Neidhardt
https://ambrevar.xyz/