# Maintainer: Eivind Uggedal pkgname=docker pkgver=1.12.1 _ver=${pkgver/_/-} pkgrel=0 _gitcommit=v$_ver pkgdesc="Pack, ship and run any application as a lightweight container" url="http://www.docker.io/" arch="all" license="ASL 2.0" depends="iptables git xz" depends_dev="" makedepends="go sqlite-dev btrfs-progs-dev bash linux-headers coreutils libseccomp-dev" options="!strip" install="$pkgname.pre-install" # grep 'ENV.*COMMIT' Dockerfile.simple # ENV RUNC_COMMIT cc29e3dded8e27ba8f65738f40d251c885030a28 # ENV CONTAINERD_COMMIT 0ac3cd1be170d180b2baed755e8f0da547ceb267 _runc_ver=cc29e3dded8e27ba8f65738f40d251c885030a28 _containerd_ver=0ac3cd1be170d180b2baed755e8f0da547ceb267 subpackages=" $pkgname-bash-completion:bashcomp $pkgname-zsh-completion:zshcomp $pkgname-vim:vim " source=" $pkgname-$pkgver.tar.gz::https://github.com/docker/docker/archive/v$_ver.tar.gz runc-$_runc_ver.tar.gz::https://github.com/opencontainers/runc/archive/$_runc_ver.tar.gz containerd-$_containerd_ver.tar.gz::https://github.com/docker/containerd/archive/$_containerd_ver.tar.gz docker-openrc-fixes.patch " builddir="$srcdir"/$pkgname-$_ver _buildtags="exclude_graphdriver_aufs exclude_graphdriver_devicemapper" _runc_buildtags="seccomp" _runc_builddir="$srcdir"/runc-$_runc_ver _containerd_builddir="$srcdir"/containerd-$_containerd_ver _apply_patches() { local _dir="$1" local _prefix="$2" local i msg "applying patches for $_prefix" cd "$_dir" for i in $source; do case $i in ${_prefix}-*.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;; esac done } prepare() { _apply_patches "$builddir" docker || return 1 _apply_patches "$_runc_builddir" runc || return 1 } build() { cd "$_runc_builddir" cd "$builddir" export AUTO_GOPATH=1 export DOCKER_GITCOMMIT=$_gitcommit export DOCKER_BUILDTAGS=$_buildtags unset CC # prevent possible ccache issues # containerd cd "$_containerd_builddir" || return 1 mkdir -p src/github.com/docker/ ln -s "$_containerd_builddir" src/github.com/docker/containerd GOPATH="$PWD" LDFLAGS="" make GIT_COMMIT="$_containerd_ver" || return 1 # runc cd "$_runc_builddir" || return 1 GOPATH="$PWD" make COMMIT="$_runc_ver" || return 1 # docker cd "$builddir" ./hack/make.sh dynbinary } package() { cd "$builddir" local ver=$(cat VERSION) install -Dm755 bundles/$ver/dynbinary-client/docker-$ver \ "$pkgdir"/usr/bin/docker || return 1 install -Dm755 bundles/$ver/dynbinary-daemon/dockerd-$ver \ "$pkgdir"/usr/bin/dockerd || return 1 install -Dm755 bundles/$ver/dynbinary-daemon/docker-proxy-$ver \ "$pkgdir"/usr/bin/docker-proxy || return 1 install -Dm755 "$_runc_builddir"/runc \ "$pkgdir"/usr/bin/docker-runc || return 1 install -Dm755 "$_containerd_builddir"/bin/containerd \ "$pkgdir"/usr/bin/docker-containerd || return 1 install -Dm755 "$_containerd_builddir"/bin/containerd-shim \ "$pkgdir"/usr/bin/docker-containerd-shim || return 1 install -Dm755 "$_containerd_builddir"/bin/ctr \ "$pkgdir"/usr/bin/docker-containerd-ctr || return 1 install -Dm755 bundles/$ver/dynbinary/dockerinit-$ver \ "$pkgdir"/usr/lib/docker/dockerinit install -Dm755 contrib/init/openrc/docker.initd \ "$pkgdir"/etc/init.d/docker install -Dm644 contrib/init/openrc/docker.confd \ "$pkgdir"/etc/conf.d/docker } bashcomp() { pkgdesc="Bash completion for Docker" arch="noarch" depends="" install_if="$pkgname=$pkgver-r$pkgrel bash-completion" install -Dm644 "$builddir"/contrib/completion/bash/$pkgname \ "$subpkgdir"/usr/share/bash-completion/completions/$pkgname } zshcomp() { pkgdesc="Zsh completion for $pkgname" arch="noarch" depends="" install_if="$pkgname=$pkgver-r$pkgrel zsh" install -Dm644 "$builddir"/contrib/completion/zsh/_$pkgname \ "$subpkgdir"/usr/share/zsh/site-functions/_$pkgname || return 1 } vim() { depends="" pkgdesc="Vim syntax for Docker" arch="noarch" local f= for f in ftdetect/dockerfile.vim syntax/dockerfile.vim; do install -Dm644 "$builddir"/contrib/syntax/vim/$f \ "$subpkgdir"/usr/share/vim/vimfiles/$f done } md5sums="7af7b4c25d414aa19bc7382bd85c25f7 docker-1.12.1.tar.gz 716d0b284ce42490eeb83befba10fafb runc-cc29e3dded8e27ba8f65738f40d251c885030a28.tar.gz f0a0c1101ad259b84fb457c8c7036723 containerd-0ac3cd1be170d180b2baed755e8f0da547ceb267.tar.gz 506e32a6157a7f92e67511111fba6fe8 docker-openrc-fixes.patch" sha256sums="0c71255fc69ffec377800468e2b1c97681f150f3719ffa09829a17b717ff4e01 docker-1.12.1.tar.gz 196b78c6caf1a4c6257314b393381baffa7c82bb2690ac02a7b3d6cd6cfe7776 runc-cc29e3dded8e27ba8f65738f40d251c885030a28.tar.gz 5c1bcd8e3b7bc6034e7523b6eca7de974562b7fdc72c440494234ae10a0e545b containerd-0ac3cd1be170d180b2baed755e8f0da547ceb267.tar.gz 864d229e21dfa6c931b29b908093302a48837ddb1aa4205088f6f7fd4d7da4e3 docker-openrc-fixes.patch" sha512sums="8917e23d2826f45951710dcc47625c272405466661b7fa6b75fb7e143fdcc5c78cbf6a7475663b96b22126ba3c2dab3b3a8c11ca396dc8408d1aa9f2667c95e7 docker-1.12.1.tar.gz 0bf8ce3bb15caaf09214f23a411003fd5b660d291662ad513c3d944647a0fa9b270d18902706b7e6aa3c30eb0f676e73af46b8249d1e2484e1dc40d6ffd5a80d runc-cc29e3dded8e27ba8f65738f40d251c885030a28.tar.gz a47200c2f867d6624e51eb1aa83743f1e0b86d96d462b7649c240f335eb72e499a00923e190759e57d4c456d912f9541750e9df21ebc2b713b87bea1ead55e7b containerd-0ac3cd1be170d180b2baed755e8f0da547ceb267.tar.gz 1162f62e8a7a5ded0c54cfe46014449efd67491bdb678fa22862117adb08206c909a3f98b0062125d25256dc1f48596b696bd4b19a8804d2862e758678a8bb62 docker-openrc-fixes.patch"