centralized all working directories at .work in the root of the tree. also centralize all download directories to .download at the root of the tree.
cleaned up the rsync behavior between host and docker cross build when running on non-linux host.
we now publish build artifacts to an S3 bucket, by default
its release.rook.io. We no longer push bits to github on
make publish.
Added support for AWS cli in the cross-build container.
this add support for building rook with kraken and luminous
release of ceph. A new Makefile flag CEPH_BRANCH is used to
specify the version to be built.
we now build with debug information on linux even for release builds. Debug
information is save in a separate .debug file that can be loaded by gdb.
switched to using the golangs's facilities for cgo backtraces. had to add
C++ demangling to it but its now on par with the default backtrace facility
that ceph had. This approach works with static builds and relies on the
symbol table alone -- no need for rdynamic or DWARF sections in the binary.
Update the build container so that all packages now build with debug, also
fixed zlib package which had a broken link.
Fixes#135
we now build all the required packages for rookd from source. also
reorganized the external project a bit to support this.
Removed STATIC makefile option and replaced with LINKMODE
we know use rsync to sync sources to the build container
and avoid osxfs which is painfully slow. the macOS/docker
build now is on par with linux builds
changed the cmd/castlectl pacakge to not have a main function and
added main.go at the root of the tree. this makes the whole
project go gettable.
also fixed a number of makefile issues to deal with go files in the
root of the tree.
This commit adds support for build release artifacts and
publishing them. Currently we support binaries that are published
to github release, docker containers that go to hub.docker.com,
and rkt ACIs (which are not currently published).
Makefile now checks go dependencies and only builds what is needed.
Refactored the Makefile into three parts for better maintenance.
Add a buildall target that is the initial attempt at cross compiling
castlectl.
Makefile now attempts to build only what is needed. Dependency
checking has been improved but its not perfect yet.
Also added support for building in a private gopath which would
support building from forked repos.