Rebuilding Juju Binaries from Source
UPDATE: 2015-01-13 – A few corrections after Juju source code has migrated to GitHub.
If you are using the current development version of Juju and making changes to try things out, you should rebuild the binaries before attempting to call
juju bootstrap --upload-tools again. Otherwise, you’ll end up using some preexisting, quite possibly old binaries found in $PATH
.
I use this handy little script to rebuild them:
1 2 3 4 5 6 |
#!/bin/bash pushd $GOPATH/src/github.com/juju/juju # Change this if needed cd cmd/juju && go install . && cd ../jujud && go install . ls -la `which juju` ls -la `which jujud` popd |
You might need to change line 2 if your juju source is elsewhere, if $GOPATH
is not set , or if it contains more than one path – e.g. mine is in ~/work/juju-core
.
I called this script rebuild-juju
and saved if somewhere listed in $PATH
, so I can run it from anywhere. It has the nice feature of restoring back your current directory when done and lists the built binaries, so you can see the modification timestamps.
Apart from the
ls
, this could be:go install launchpad.net/juju-core/cmd/juju{d,}
or just:
go install launchpad.net/juju-core/cmd/...
Both of these have the advantage that you don’t
need to change the script if you use a different
GOPATH
.Yeah, that’s a good alternative, thanks Rog!