Merge lp://staging/~sinzui/juju-release-tools/build-centos into lp://staging/juju-release-tools
Status: | Merged |
---|---|
Merged at revision: | 184 |
Proposed branch: | lp://staging/~sinzui/juju-release-tools/build-centos |
Merge into: | lp://staging/juju-release-tools |
Diff against target: |
349 lines (+128/-47) 4 files modified
crossbuild.py (+59/-19) tests/test_build_package.py (+4/-5) tests/test_crossbuild.py (+60/-23) utils.py (+5/-0) |
To merge this branch: | bzr merge lp://staging/~sinzui/juju-release-tools/build-centos |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Martin Packman (community) | Approve | ||
Review via email:
|
Description of the change
Build centos7 agents and clients.
This branch adds a centos command to crossbuild.py to create both agent and client tar files.
./juju-
Which made
agent: juju-1.
client: juju-1.
We only support centos7. It is built as linux amd64 using golang-1.2.1 as recommended by cloudbase. We know the juju built on trusty amd64 will sort of work on other linuxes. The errors are caused by unregistered series and packaging differences. 1.24 registered centos7 and packaging rules for it.
The code changes are small because centos agent rules are like windows, and client rules are like OS X. I renamed two functions to make them generic, and take the series and os_names
make_
make_
The build_centos function call for the build, then calls for both tar files. The build is native, so the binaries are installed directly into the gopath/bin dir instead of a cross-complied subdir.
I took a moment to use the one-true way to express an octal. I also extracted autopatch so that I could re-use it.
Looks good, thanks!