Merge pull request #4 from tianon/cross-compile-and-release-linux-i386-and-arm-clients

Update/fix build tags, Dockerfile, and release.sh for proper building and releasing of linux/386 and linux/arm cross-compiled client binaries
This commit is contained in:
Guillaume J. Charmes 2014-01-31 10:51:25 -08:00
commit ff6409382b
31 changed files with 51 additions and 23 deletions

View file

@ -68,8 +68,9 @@ ENV GOPATH /go:/go/src/github.com/dotcloud/docker/vendor
RUN cd /usr/local/go/src && ./make.bash --no-clean 2>&1
# Compile Go for cross compilation
ENV DOCKER_CROSSPLATFORMS darwin/amd64 darwin/386
# TODO add linux/386 and linux/arm
ENV DOCKER_CROSSPLATFORMS linux/386 linux/arm darwin/amd64 darwin/386
# (set an explicit GOARM of 5 for maximum compatibility)
ENV GOARM 5
RUN cd /usr/local/go/src && bash -xc 'for platform in $DOCKER_CROSSPLATFORMS; do GOOS=${platform%/*} GOARCH=${platform##*/} ./make.bash --no-clean 2>&1; done'
# Grab Go's cover tool for dead-simple code coverage testing

View file

@ -1,4 +1,5 @@
// +build: !linux !amd64
// +build !linux !amd64
package archive
import "syscall"

View file

@ -1,3 +1,5 @@
// +build amd64
package lxc
import (

View file

@ -1,4 +1,5 @@
// +build: !linux !amd64
// +build !linux !amd64
package lxc
func setHostname(hostname string) error {

View file

@ -1,3 +1,5 @@
// +build amd64
package aufs
import "syscall"

View file

@ -1,4 +1,5 @@
// +build: !linux !amd64
// +build !linux !amd64
package aufs
import "errors"

View file

@ -1,4 +1,4 @@
// +build linux
// +build linux,amd64
package btrfs

View file

@ -1,4 +1,4 @@
// +build linux
// +build linux,amd64
package devmapper

View file

@ -1,4 +1,4 @@
// +build linux
// +build linux,amd64
package devmapper

View file

@ -1,4 +1,4 @@
// +build linux
// +build linux,amd64
package devmapper

View file

@ -1,4 +1,4 @@
// +build linux
// +build linux,amd64
package devmapper

View file

@ -1,4 +1,4 @@
// +build linux
// +build linux,amd64
package devmapper

View file

@ -1,4 +1,4 @@
// +build linux
// +build linux,amd64
package devmapper

View file

@ -1,4 +1,4 @@
// +build linux
// +build linux,amd64
package devmapper

View file

@ -1,4 +1,4 @@
// +build linux
// +build linux,amd64
package devmapper

View file

@ -1,4 +1,4 @@
// +build linux
// +build linux,amd64
package devmapper

View file

@ -1,4 +1,4 @@
// +build linux
// +build linux,amd64
package devmapper

View file

@ -1,4 +1,4 @@
// +build linux
// +build linux,amd64
package devmapper

View file

@ -151,7 +151,8 @@ release_build() {
S3ARCH=i386
;;
arm)
# GOARCH is fine
S3ARCH=armel
# someday, we might potentially support mutliple GOARM values, in which case we might get armhf here too
;;
*)
echo >&2 "error: can't convert $S3ARCH to an appropriate value for 'uname -m'"

View file

@ -1,3 +1,5 @@
// +build amd64
package graphdb
import (

View file

@ -1,3 +1,5 @@
// +build !linux !amd64
package graphdb
func NewSqliteConn(root string) (*Database, error) {

View file

@ -1,3 +1,5 @@
// +build amd64
package mount
import (

View file

@ -1,4 +1,5 @@
// +build: !linux !amd64
// +build !linux !amd64
package mount
func parseOptions(options string) (int, string) {

View file

@ -1,3 +1,5 @@
// +build amd64
package mount
import (

View file

@ -1,4 +1,5 @@
// +build: !linux !amd64
// +build !linux !amd64
package mount
func mount(device, target, mType string, flag uintptr, data string) error {

View file

@ -1,3 +1,5 @@
// +build amd64
package netlink
import (

View file

@ -1,4 +1,5 @@
// +build: !linux !amd64
// +build !linux !amd64
package netlink
import (

View file

@ -1,3 +1,5 @@
// +build amd64
package docker
// FIXME: This could be easily rewritten in pure Go

View file

@ -1,4 +1,5 @@
// +build: !linux !amd64
// +build !linux !amd64
package docker
import (

View file

@ -1,3 +1,5 @@
// +build amd64
package utils
import (

View file

@ -1,4 +1,5 @@
// +build: !linux !amd64
// +build !linux !amd64
package utils
import (