diff --git a/contrib/builder/deb/README.md b/contrib/builder/deb/README.md deleted file mode 100644 index a6fd70dca7..0000000000 --- a/contrib/builder/deb/README.md +++ /dev/null @@ -1,5 +0,0 @@ -# `dockercore/builder-deb` - -This image's tags contain the dependencies for building Docker `.deb`s for each of the Debian-based platforms Docker targets. - -To add new tags, see [`contrib/builder/deb` in https://github.com/docker/docker](https://github.com/docker/docker/tree/master/contrib/builder/deb), specifically the `generate.sh` script, whose usage is described in a comment at the top of the file. diff --git a/contrib/builder/deb/amd64/README.md b/contrib/builder/deb/amd64/README.md new file mode 100644 index 0000000000..20a0ff1006 --- /dev/null +++ b/contrib/builder/deb/amd64/README.md @@ -0,0 +1,5 @@ +# `dockercore/builder-deb` + +This image's tags contain the dependencies for building Docker `.deb`s for each of the Debian-based platforms Docker targets. + +To add new tags, see [`contrib/builder/deb/amd64` in https://github.com/docker/docker](https://github.com/docker/docker/tree/master/contrib/builder/deb/amd64), specifically the `generate.sh` script, whose usage is described in a comment at the top of the file. diff --git a/contrib/builder/deb/build.sh b/contrib/builder/deb/amd64/build.sh similarity index 100% rename from contrib/builder/deb/build.sh rename to contrib/builder/deb/amd64/build.sh diff --git a/contrib/builder/deb/debian-jessie/Dockerfile b/contrib/builder/deb/amd64/debian-jessie/Dockerfile similarity index 88% rename from contrib/builder/deb/debian-jessie/Dockerfile rename to contrib/builder/deb/amd64/debian-jessie/Dockerfile index 759ad18c53..6cb64b3fec 100644 --- a/contrib/builder/deb/debian-jessie/Dockerfile +++ b/contrib/builder/deb/amd64/debian-jessie/Dockerfile @@ -1,5 +1,5 @@ # -# THIS FILE IS AUTOGENERATED; SEE "contrib/builder/deb/generate.sh"! +# THIS FILE IS AUTOGENERATED; SEE "contrib/builder/deb/amd64/generate.sh"! # FROM debian:jessie diff --git a/contrib/builder/deb/debian-stretch/Dockerfile b/contrib/builder/deb/amd64/debian-stretch/Dockerfile similarity index 88% rename from contrib/builder/deb/debian-stretch/Dockerfile rename to contrib/builder/deb/amd64/debian-stretch/Dockerfile index 083af65aa9..543cebb006 100644 --- a/contrib/builder/deb/debian-stretch/Dockerfile +++ b/contrib/builder/deb/amd64/debian-stretch/Dockerfile @@ -1,5 +1,5 @@ # -# THIS FILE IS AUTOGENERATED; SEE "contrib/builder/deb/generate.sh"! +# THIS FILE IS AUTOGENERATED; SEE "contrib/builder/deb/amd64/generate.sh"! # FROM debian:stretch diff --git a/contrib/builder/deb/debian-wheezy/Dockerfile b/contrib/builder/deb/amd64/debian-wheezy/Dockerfile similarity index 90% rename from contrib/builder/deb/debian-wheezy/Dockerfile rename to contrib/builder/deb/amd64/debian-wheezy/Dockerfile index ce4a4a6da0..77d4cb6ad4 100644 --- a/contrib/builder/deb/debian-wheezy/Dockerfile +++ b/contrib/builder/deb/amd64/debian-wheezy/Dockerfile @@ -1,5 +1,5 @@ # -# THIS FILE IS AUTOGENERATED; SEE "contrib/builder/deb/generate.sh"! +# THIS FILE IS AUTOGENERATED; SEE "contrib/builder/deb/amd64/generate.sh"! # FROM debian:wheezy-backports diff --git a/contrib/builder/deb/generate.sh b/contrib/builder/deb/amd64/generate.sh similarity index 97% rename from contrib/builder/deb/generate.sh rename to contrib/builder/deb/amd64/generate.sh index db51bd8be4..0a0561a643 100755 --- a/contrib/builder/deb/generate.sh +++ b/contrib/builder/deb/amd64/generate.sh @@ -33,7 +33,7 @@ for version in "${versions[@]}"; do echo "$version -> FROM $from" cat > "$version/Dockerfile" <<-EOF # - # THIS FILE IS AUTOGENERATED; SEE "contrib/builder/deb/generate.sh"! + # THIS FILE IS AUTOGENERATED; SEE "contrib/builder/deb/amd64/generate.sh"! # FROM $from @@ -110,7 +110,7 @@ for version in "${versions[@]}"; do echo >> "$version/Dockerfile" - awk '$1 == "ENV" && $2 == "GO_VERSION" { print; exit }' ../../../Dockerfile >> "$version/Dockerfile" + awk '$1 == "ENV" && $2 == "GO_VERSION" { print; exit }' ../../../../Dockerfile >> "$version/Dockerfile" echo 'RUN curl -fSL "https://storage.googleapis.com/golang/go${GO_VERSION}.linux-amd64.tar.gz" | tar xzC /usr/local' >> "$version/Dockerfile" echo 'ENV PATH $PATH:/usr/local/go/bin' >> "$version/Dockerfile" diff --git a/contrib/builder/deb/ubuntu-precise/Dockerfile b/contrib/builder/deb/amd64/ubuntu-precise/Dockerfile similarity index 88% rename from contrib/builder/deb/ubuntu-precise/Dockerfile rename to contrib/builder/deb/amd64/ubuntu-precise/Dockerfile index d255535544..f6c4f27b58 100644 --- a/contrib/builder/deb/ubuntu-precise/Dockerfile +++ b/contrib/builder/deb/amd64/ubuntu-precise/Dockerfile @@ -1,5 +1,5 @@ # -# THIS FILE IS AUTOGENERATED; SEE "contrib/builder/deb/generate.sh"! +# THIS FILE IS AUTOGENERATED; SEE "contrib/builder/deb/amd64/generate.sh"! # FROM ubuntu:precise diff --git a/contrib/builder/deb/ubuntu-trusty/Dockerfile b/contrib/builder/deb/amd64/ubuntu-trusty/Dockerfile similarity index 88% rename from contrib/builder/deb/ubuntu-trusty/Dockerfile rename to contrib/builder/deb/amd64/ubuntu-trusty/Dockerfile index d422f5d3e6..0d8472d112 100644 --- a/contrib/builder/deb/ubuntu-trusty/Dockerfile +++ b/contrib/builder/deb/amd64/ubuntu-trusty/Dockerfile @@ -1,5 +1,5 @@ # -# THIS FILE IS AUTOGENERATED; SEE "contrib/builder/deb/generate.sh"! +# THIS FILE IS AUTOGENERATED; SEE "contrib/builder/deb/amd64/generate.sh"! # FROM ubuntu:trusty diff --git a/contrib/builder/deb/ubuntu-wily/Dockerfile b/contrib/builder/deb/amd64/ubuntu-wily/Dockerfile similarity index 88% rename from contrib/builder/deb/ubuntu-wily/Dockerfile rename to contrib/builder/deb/amd64/ubuntu-wily/Dockerfile index 7c5f124ad4..4e0beedd8b 100644 --- a/contrib/builder/deb/ubuntu-wily/Dockerfile +++ b/contrib/builder/deb/amd64/ubuntu-wily/Dockerfile @@ -1,5 +1,5 @@ # -# THIS FILE IS AUTOGENERATED; SEE "contrib/builder/deb/generate.sh"! +# THIS FILE IS AUTOGENERATED; SEE "contrib/builder/deb/amd64/generate.sh"! # FROM ubuntu:wily diff --git a/contrib/builder/deb/armhf/debian-jessie/Dockerfile b/contrib/builder/deb/armhf/debian-jessie/Dockerfile new file mode 100644 index 0000000000..fff136d7c8 --- /dev/null +++ b/contrib/builder/deb/armhf/debian-jessie/Dockerfile @@ -0,0 +1,10 @@ +FROM armhf/debian:jessie + +RUN apt-get update && apt-get install -y apparmor bash-completion btrfs-tools build-essential curl ca-certificates debhelper dh-apparmor dh-systemd git libapparmor-dev libdevmapper-dev libltdl-dev libsqlite3-dev libsystemd-journal-dev --no-install-recommends && rm -rf /var/lib/apt/lists/* + +ENV GO_VERSION 1.4.3 +RUN curl -fSL "https://github.com/hypriot/golang-armbuilds/releases/download/v${GO_VERSION}/go${GO_VERSION}.linux-armv7.tar.gz" | tar xzC /usr/local +ENV PATH $PATH:/usr/local/go/bin + +ENV AUTO_GOPATH 1 +ENV DOCKER_BUILDTAGS apparmor selinux diff --git a/contrib/builder/rpm/README.md b/contrib/builder/rpm/README.md deleted file mode 100644 index 153fbceb6a..0000000000 --- a/contrib/builder/rpm/README.md +++ /dev/null @@ -1,5 +0,0 @@ -# `dockercore/builder-rpm` - -This image's tags contain the dependencies for building Docker `.rpm`s for each of the RPM-based platforms Docker targets. - -To add new tags, see [`contrib/builder/rpm` in https://github.com/docker/docker](https://github.com/docker/docker/tree/master/contrib/builder/rpm), specifically the `generate.sh` script, whose usage is described in a comment at the top of the file. diff --git a/contrib/builder/rpm/amd64/README.md b/contrib/builder/rpm/amd64/README.md new file mode 100644 index 0000000000..5f2e888c7a --- /dev/null +++ b/contrib/builder/rpm/amd64/README.md @@ -0,0 +1,5 @@ +# `dockercore/builder-rpm` + +This image's tags contain the dependencies for building Docker `.rpm`s for each of the RPM-based platforms Docker targets. + +To add new tags, see [`contrib/builder/rpm/amd64` in https://github.com/docker/docker](https://github.com/docker/docker/tree/master/contrib/builder/rpm/amd64), specifically the `generate.sh` script, whose usage is described in a comment at the top of the file. diff --git a/contrib/builder/rpm/build.sh b/contrib/builder/rpm/amd64/build.sh similarity index 100% rename from contrib/builder/rpm/build.sh rename to contrib/builder/rpm/amd64/build.sh diff --git a/contrib/builder/rpm/centos-7/Dockerfile b/contrib/builder/rpm/amd64/centos-7/Dockerfile similarity index 88% rename from contrib/builder/rpm/centos-7/Dockerfile rename to contrib/builder/rpm/amd64/centos-7/Dockerfile index 215f2836d6..06750eeb85 100644 --- a/contrib/builder/rpm/centos-7/Dockerfile +++ b/contrib/builder/rpm/amd64/centos-7/Dockerfile @@ -1,5 +1,5 @@ # -# THIS FILE IS AUTOGENERATED; SEE "contrib/builder/rpm/generate.sh"! +# THIS FILE IS AUTOGENERATED; SEE "contrib/builder/rpm/amd64/generate.sh"! # FROM centos:7 diff --git a/contrib/builder/rpm/fedora-22/Dockerfile b/contrib/builder/rpm/amd64/fedora-22/Dockerfile similarity index 93% rename from contrib/builder/rpm/fedora-22/Dockerfile rename to contrib/builder/rpm/amd64/fedora-22/Dockerfile index 484c43c55f..90f5123442 100644 --- a/contrib/builder/rpm/fedora-22/Dockerfile +++ b/contrib/builder/rpm/amd64/fedora-22/Dockerfile @@ -1,5 +1,5 @@ # -# THIS FILE IS AUTOGENERATED; SEE "contrib/builder/rpm/generate.sh"! +# THIS FILE IS AUTOGENERATED; SEE "contrib/builder/rpm/amd64/generate.sh"! # FROM fedora:22 diff --git a/contrib/builder/rpm/fedora-23/Dockerfile b/contrib/builder/rpm/amd64/fedora-23/Dockerfile similarity index 93% rename from contrib/builder/rpm/fedora-23/Dockerfile rename to contrib/builder/rpm/amd64/fedora-23/Dockerfile index 0047b080b9..bc5ad4884a 100644 --- a/contrib/builder/rpm/fedora-23/Dockerfile +++ b/contrib/builder/rpm/amd64/fedora-23/Dockerfile @@ -1,5 +1,5 @@ # -# THIS FILE IS AUTOGENERATED; SEE "contrib/builder/rpm/generate.sh"! +# THIS FILE IS AUTOGENERATED; SEE "contrib/builder/rpm/amd64/generate.sh"! # FROM fedora:23 diff --git a/contrib/builder/rpm/generate.sh b/contrib/builder/rpm/amd64/generate.sh similarity index 98% rename from contrib/builder/rpm/generate.sh rename to contrib/builder/rpm/amd64/generate.sh index 00749b092d..2ab1cabbb5 100755 --- a/contrib/builder/rpm/generate.sh +++ b/contrib/builder/rpm/amd64/generate.sh @@ -30,7 +30,7 @@ for version in "${versions[@]}"; do echo "$version -> FROM $from" cat > "$version/Dockerfile" <<-EOF # - # THIS FILE IS AUTOGENERATED; SEE "contrib/builder/rpm/generate.sh"! + # THIS FILE IS AUTOGENERATED; SEE "contrib/builder/rpm/amd64/generate.sh"! # FROM $from @@ -161,7 +161,7 @@ for version in "${versions[@]}"; do esac - awk '$1 == "ENV" && $2 == "GO_VERSION" { print; exit }' ../../../Dockerfile >> "$version/Dockerfile" + awk '$1 == "ENV" && $2 == "GO_VERSION" { print; exit }' ../../../../Dockerfile >> "$version/Dockerfile" echo 'RUN curl -fSL "https://storage.googleapis.com/golang/go${GO_VERSION}.linux-amd64.tar.gz" | tar xzC /usr/local' >> "$version/Dockerfile" echo 'ENV PATH $PATH:/usr/local/go/bin' >> "$version/Dockerfile" diff --git a/contrib/builder/rpm/opensuse-13.2/Dockerfile b/contrib/builder/rpm/amd64/opensuse-13.2/Dockerfile similarity index 87% rename from contrib/builder/rpm/opensuse-13.2/Dockerfile rename to contrib/builder/rpm/amd64/opensuse-13.2/Dockerfile index 95fe3a3c09..c135ec2be2 100644 --- a/contrib/builder/rpm/opensuse-13.2/Dockerfile +++ b/contrib/builder/rpm/amd64/opensuse-13.2/Dockerfile @@ -1,5 +1,5 @@ # -# THIS FILE IS AUTOGENERATED; SEE "contrib/builder/rpm/generate.sh"! +# THIS FILE IS AUTOGENERATED; SEE "contrib/builder/rpm/amd64/generate.sh"! # FROM opensuse:13.2 diff --git a/contrib/builder/rpm/oraclelinux-6/Dockerfile b/contrib/builder/rpm/amd64/oraclelinux-6/Dockerfile similarity index 100% rename from contrib/builder/rpm/oraclelinux-6/Dockerfile rename to contrib/builder/rpm/amd64/oraclelinux-6/Dockerfile diff --git a/contrib/builder/rpm/oraclelinux-7/Dockerfile b/contrib/builder/rpm/amd64/oraclelinux-7/Dockerfile similarity index 86% rename from contrib/builder/rpm/oraclelinux-7/Dockerfile rename to contrib/builder/rpm/amd64/oraclelinux-7/Dockerfile index e27f589679..dc8570a97c 100644 --- a/contrib/builder/rpm/oraclelinux-7/Dockerfile +++ b/contrib/builder/rpm/amd64/oraclelinux-7/Dockerfile @@ -1,5 +1,5 @@ # -# THIS FILE IS AUTOGENERATED; SEE "contrib/builder/rpm/generate.sh"! +# THIS FILE IS AUTOGENERATED; SEE "contrib/builder/rpm/amd64/generate.sh"! # FROM oraclelinux:7 diff --git a/contrib/reprepro/suites.sh b/contrib/reprepro/suites.sh index 25a02da947..9ecf99d465 100755 --- a/contrib/reprepro/suites.sh +++ b/contrib/reprepro/suites.sh @@ -5,7 +5,7 @@ cd "$(dirname "$BASH_SOURCE")/../.." targets_from() { git fetch -q https://github.com/docker/docker.git "$1" - git ls-tree -r --name-only "$(git rev-parse FETCH_HEAD)" contrib/builder/deb | grep '/Dockerfile$' | sed -r 's!^contrib/builder/deb/|-debootstrap|/Dockerfile$!!g' + git ls-tree -r --name-only "$(git rev-parse FETCH_HEAD)" contrib/builder/deb/ | grep '/Dockerfile$' | sed -r 's!^contrib/builder/deb/|^contrib/builder/deb/amd64/|-debootstrap|/Dockerfile$!!g' | grep -v / } release_branch=$(git ls-remote --heads https://github.com/docker/docker.git | awk -F 'refs/heads/' '$2 ~ /^release/ { print $2 }' | sort -V | tail -1) diff --git a/hack/make/.build-rpm/docker-engine.spec b/hack/make/.build-rpm/docker-engine.spec index 53b7cd7a7b..e79cd057f8 100644 --- a/hack/make/.build-rpm/docker-engine.spec +++ b/hack/make/.build-rpm/docker-engine.spec @@ -17,7 +17,7 @@ Packager: Docker %endif # required packages for build -# most are already in the container (see contrib/builder/rpm/generate.sh) +# most are already in the container (see contrib/builder/rpm/ARCH/generate.sh) # only require systemd on those systems %if 0%{?is_systemd} BuildRequires: pkgconfig(systemd) diff --git a/hack/make/.detect-daemon-osarch b/hack/make/.detect-daemon-osarch index f95afc4759..5c6d3f5783 100644 --- a/hack/make/.detect-daemon-osarch +++ b/hack/make/.detect-daemon-osarch @@ -9,6 +9,7 @@ export DOCKER_ENGINE_OSARCH="$(docker version | awk ' ')" export DOCKER_ENGINE_GOOS="${DOCKER_ENGINE_OSARCH%/*}" export DOCKER_ENGINE_GOARCH="${DOCKER_ENGINE_OSARCH##*/}" +DOCKER_ENGINE_GOARCH=${DOCKER_ENGINE_GOARCH:=amd64} # and the client, just in case export DOCKER_CLIENT_OSARCH="$(docker version | awk ' @@ -16,3 +17,18 @@ export DOCKER_CLIENT_OSARCH="$(docker version | awk ' $1 == "Server:" { client = 0; next } client && $1 == "OS/Arch:" { print $2 } ')" + +# Retrieve the architecture used in contrib/builder/(deb|rpm)/$PACKAGE_ARCH/ +PACKAGE_ARCH="amd64" +case "$DOCKER_ENGINE_OSARCH" in + linux/arm) + PACKAGE_ARCH='armhf' + ;; + linux/ppc64le) + PACKAGE_ARCH='ppc64le' + ;; + linux/s390x) + PACKAGE_ARCH='s390x' + ;; +esac +export PACKAGE_ARCH diff --git a/hack/make/build-deb b/hack/make/build-deb index da1b921e9d..81fc222982 100644 --- a/hack/make/build-deb +++ b/hack/make/build-deb @@ -5,6 +5,7 @@ set -e ( export TZ=UTC # make sure our "date" variables are UTC-based bundle .integration-daemon-start + bundle .detect-daemon-osarch # TODO consider using frozen images for the dockercore/builder-deb tags @@ -37,7 +38,7 @@ set -e ./man/md2man-all.sh -q || true # TODO decide if it's worth getting go-md2man in _each_ builder environment to avoid this - builderDir="contrib/builder/deb" + builderDir="contrib/builder/deb/${PACKAGE_ARCH}" pkgs=( $(find "${builderDir}/"*/ -type d) ) if [ ! -z "$DOCKER_BUILD_PKGS" ]; then pkgs=( $(echo ${DOCKER_BUILD_PKGS[@]/#/$builderDir\/}) ) diff --git a/hack/make/build-rpm b/hack/make/build-rpm index d87191bd1e..69be492006 100644 --- a/hack/make/build-rpm +++ b/hack/make/build-rpm @@ -6,6 +6,7 @@ set -e export TZ=UTC # make sure our "date" variables are UTC-based source "$(dirname "$BASH_SOURCE")/.integration-daemon-start" + source "$(dirname "$BASH_SOURCE")/.detect-daemon-osarch" # TODO consider using frozen images for the dockercore/builder-rpm tags @@ -59,15 +60,15 @@ set -e while read -r line || [[ -n "$line" ]]; do if [ -z "$line" ]; then continue; fi if [[ "$line" =~ $VERSION_REGEX ]]; then - echo >> contrib/builder/rpm/changelog - echo "* `date -d ${BASH_REMATCH[2]} '+%a %b %d %Y'` ${rpmPackager} - ${BASH_REMATCH[1]}" >> contrib/builder/rpm/changelog + echo >> contrib/builder/rpm/${PACKAGE_ARCH}/changelog + echo "* `date -d ${BASH_REMATCH[2]} '+%a %b %d %Y'` ${rpmPackager} - ${BASH_REMATCH[1]}" >> contrib/builder/rpm/${PACKAGE_ARCH}/changelog fi if [[ "$line" =~ $ENTRY_REGEX ]]; then - echo "- ${BASH_REMATCH[1]//\`}" >> contrib/builder/rpm/changelog + echo "- ${BASH_REMATCH[1]//\`}" >> contrib/builder/rpm/${PACKAGE_ARCH}/changelog fi done < CHANGELOG.md - builderDir="contrib/builder/rpm" + builderDir="contrib/builder/rpm/${PACKAGE_ARCH}" pkgs=( $(find "${builderDir}/"*/ -type d) ) if [ ! -z "$DOCKER_BUILD_PKGS" ]; then pkgs=( $(echo ${DOCKER_BUILD_PKGS[@]/#/$builderDir\/}) ) @@ -97,7 +98,7 @@ set -e RUN ln -sfv /usr/src/${rpmName}/hack/make/.build-rpm SPECS WORKDIR /root/rpmbuild/SPECS RUN tar -cz -C /usr/src -f /root/rpmbuild/SOURCES/${rpmName}.tar.gz ${rpmName} - RUN { cat /usr/src/${rpmName}/contrib/builder/rpm/changelog; } >> ${rpmName}.spec && tail >&2 ${rpmName}.spec + RUN { cat /usr/src/${rpmName}/contrib/builder/rpm/${PACKAGE_ARCH}/changelog; } >> ${rpmName}.spec && tail >&2 ${rpmName}.spec RUN rpmbuild -ba \ --define '_release $rpmRelease' \ --define '_version $rpmVersion' \ diff --git a/hack/make/release-deb b/hack/make/release-deb index 7022c1e123..a771990c4f 100755 --- a/hack/make/release-deb +++ b/hack/make/release-deb @@ -93,7 +93,7 @@ if [ ! -f "$APTDIR/conf/docker-engine-release.conf" ]; then fi # release the debs -for dir in contrib/builder/deb/*/; do +for dir in contrib/builder/deb/${PACKAGE_ARCH}/*/; do version="$(basename "$dir")" codename="${version//debootstrap-}" @@ -122,7 +122,7 @@ apt-ftparchive clean "$APTDIR/conf/apt-ftparchive.conf" # run the apt-ftparchive commands so we can have pinning apt-ftparchive generate "$APTDIR/conf/apt-ftparchive.conf" -for dir in contrib/builder/deb/*/; do +for dir in contrib/builder/deb/${PACKAGE_ARCH}/*/; do version="$(basename "$dir")" codename="${version//debootstrap-}" diff --git a/hack/make/release-rpm b/hack/make/release-rpm index 7657e2fcc9..19bdb39f34 100755 --- a/hack/make/release-rpm +++ b/hack/make/release-rpm @@ -36,7 +36,7 @@ for distro in "${distros[@]}"; do # Setup the yum repo REPO=$YUMDIR/$release/$distro - for dir in contrib/builder/rpm/$distro-*/; do + for dir in contrib/builder/rpm/${PACKAGE_ARCH}/$distro-*/; do version="$(basename "$dir")" suite="${version##*-}" diff --git a/hack/make/test-deb-install b/hack/make/test-deb-install index f0e84d7f20..ce1d9d4734 100755 --- a/hack/make/test-deb-install +++ b/hack/make/test-deb-install @@ -12,7 +12,7 @@ fi test_deb_install(){ # test for each Dockerfile in contrib/builder - for dir in contrib/builder/deb/*/; do + for dir in contrib/builder/deb/${PACKAGE_ARCH}/*/; do local from="$(awk 'toupper($1) == "FROM" { print $2; exit }' "$dir/Dockerfile")" local dir=$(basename "$dir") diff --git a/project/ARM.md b/project/ARM.md index 329589d63a..dc44e95aa8 100644 --- a/project/ARM.md +++ b/project/ARM.md @@ -12,14 +12,17 @@ From the root of the Docker/Docker repo one can use make to execute the followin - make validate - make binary - make build +- make deb - make bundles - make default - make shell +- make test-unit +- make test-integration-cli - make The Makefile does include logic to determine on which OS and architecture the Docker Development Image is built. Based on OS and architecture it chooses the correct Dockerfile. -For the ARM 32bit architecture it uses `Dockerfile.arm`. +For the ARM 32bit architecture it uses `Dockerfile.armhf`. So for example in order to build a Docker binary one has to 1. clone the Docker/Docker repository on an ARM device `git clone git@github.com:docker/docker.git`