Closed alfredopalhares closed 8 years ago
Hi @masterkorp! I can confirm that that package indeed has no go files in it. Could you paste the output of running this command in the root directory of your Terraform checkout?
go list ./... \
| xargs go list -f '{{join .Deps "\n"}}' \
| grep -v github.com/hashicorp/terraform \
| grep -v '/internal/' \
| sort -u
More interestingly, does it include github.com/Azure/azure-sdk-for-go/arm/resources
? The output running on my box and on Travis shows github.com/Azure/azure-sdk-for-go/arm/resources/resources
- which does have buildable go files.
Ah, actually the issue might be that you're not building master
- regrettably Microsoft reorganised the packages in the Azure/azure-sdk-for-go
repo and nested them more deeply. The actual dependency versions as of the release of 0.6.9 are captured in the Godeps.json
file here - you could restore the actual versions which went into that release using the Godeps tool if necessary.
Sorry there isn't a better answer here - sadly Go dependency management is a tale of woe for the most part. We have discussed internally switching over to vending dependencies, but they change upstream at a fairly breakneck speed so this would probably add a decent amount of overhead to development. @phinze, we could reopen that discussion at some point? I'll close this issue for now - if you need further assistance here please feel free to reopen it!
Thanks for your quick reply @jen20 but there are some things I do not understand.
How do I build terraform 0.6.9?
Can I checkout to 0.6.9 tag, then copy `deps/v0-6-9.json' toGodeps/Godeps.json
, rungodep restore
and only then runmake updatedeps
? Would that work?
@masterkorp does it need to be built from source? We host the binaries at https://releases.hashicorp.com, and would make for a much simpler PKGBUILD if you were to go the curl; mv
route. The hosted binary is already natively compiled so you wouldn't be losing any performance gains by using the hosted binary.
I've been using the hosted binary while waiting for the AUR build to be updated, and has worked fine thus far :)
@grubernaut It does not really need to be, currently I am too using the precompiled binary.
But I would like to do things the right way, unless i have a very strong reason not to, and packages should fetch the source unless the source its not available or Its not possible to build from source.
@masterkorp Completely understand, as there's another package in the AUR, that simply moves the binary into place, terraform-bin
. It looks like godep was able to solve your woes, however, as the PKGBUILD is now updated and no longer flagged.
For future reference, and documentation should anyone else encounter this issue (removing the Arch specific commands):
mkdir -p "${srcdir}/src/${_gourl}"
rm -rf "${srcdir}/src/${_gourl}/${pkgname}"
mv -f "${pkgname}" "${srcdir}/src/${_gourl}/${pkgname}"
cd "${srcdir}/src/${_gourl}/${pkgname}"
GOPATH="${srcdir}" go get -u github.com/mitchellh/gox
GOPATH="${srcdir}" go get -u golang.org/x/tools/cmd/stringer
mkdir Godeps
cp deps/v$(echo ${pkgver} | sed 's/\./-/g').json Godeps/Godeps.json
GOPATH="${srcdir}" godep get
GOPATH="${srcdir}" PATH="${srcdir}/bin:${PATH}" TF_DEV=1 TF_QUICKDEV=1 make bin
I'm going to lock this issue because it has been closed for 30 days ⏳. This helps our maintainers find and focus on the active issues.
If you have found a problem that seems similar to this, please open a new issue and complete the issue template so we can capture all the details necessary to investigate further.
Hello,
I am updating an Arch Linux AUR package to terraform 0.6.9, but the the process is failing during
make updatedeps
On the script $srcdir is a fresh clean directory for me to build the software one., the rest is pretty self explanatory.
During
make updatedeps
the proccess fails with a not very helpful message, here is the full output:Currently using go 1.5.3 linux/amd64
Any suggestions would be welcome.
Regards,