Last active
March 28, 2016 16:57
-
-
Save mrunalp/fa5f420addea0cff31d1 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
set -e | |
set -x | |
RUNC_GOPATH="$(mktemp -d)" | |
CONTAINERD_GOPATH="$(mktemp -d)" | |
PWD="$(pwd)" | |
function cleanup() { | |
rm -rf "${RUNC_GOPATH}" | |
rm -rf "${CONTAINERD_GOPATH}" | |
cd "${PWD}" | |
} | |
trap cleanup EXIT | |
dockerfile_path="${GOPATH}/src/github.com/docker/docker/Dockerfile" | |
RUNC_COMMIT=$(grep RUNC_COMMIT $dockerfile_path | head -n 1 | cut -d" " -f 3) | |
echo $RUNC_COMMIT | |
CONTAINERD_COMMIT=$(grep CONTAINERD_COMMIT $dockerfile_path | head -n 1 | cut -d" " -f 3) | |
echo $CONTAINERD_COMMIT | |
echo "Building runc" | |
GOPATH=$RUNC_GOPATH | |
git clone git://github.com/opencontainers/runc.git "$GOPATH/src/github.com/opencontainers/runc" | |
pushd "$GOPATH/src/github.com/opencontainers/runc" | |
git checkout -q "$RUNC_COMMIT" | |
make BUILDTAGS="seccomp selinux" | |
cp runc /usr/local/bin/docker-runc | |
popd | |
echo "Building containerd" | |
GOPATH=$CONTAINERD_GOPATH | |
git clone git://github.com/docker/containerd.git "$GOPATH/src/github.com/docker/containerd" | |
pushd "$GOPATH/src/github.com/docker/containerd" | |
git checkout -q "$CONTAINERD_COMMIT" | |
make | |
cp bin/containerd /usr/local/bin/docker-containerd | |
cp bin/containerd-shim /usr/local/bin/docker-containerd-shim | |
cp bin/ctr /usr/local/bin/docker-containerd-ctr | |
popd |
@runcom I have updated it with improvements. It doesn't clobber the global GOPATH. It ensures cleanup of the tmp build directories and returns you to the directory from where the script was executed. Please try it out! :)
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
@runcom, yes adding those changes makes sense. I was trying to see if others are willing to use it. We can maintain this in a repo so it makes it easier to build docker on Fedora/RHEL. Thanks!