Subject: [alpine-aports] [PATCH] community/docker: update build to 17.07.0

From: Joe Groocock <[email-masked]>
Date: Sun, 17 Sep 2017 00:06:35 +0100

---
 community/docker/APKBUILD | 131 +++++++++++++++++++++++++++-------------------
 1 file changed, 76 insertions(+), 55 deletions(-)

diff --git a/community/docker/APKBUILD b/community/docker/APKBUILD
index 211cd79..b485bc0 100644
--- a/community/docker/APKBUILD
+++ b/community/docker/APKBUILD
@@ -1,6 +1,6 @@
 # Maintainer: Natanael Copa <[email-masked]>
 pkgname=docker
-pkgver=17.05.0
+pkgver=17.07.0
 _ver=${pkgver/_/-}-ce
 pkgrel=0
 _gitcommit=v$_ver
@@ -8,23 +8,22 @@ pkgdesc="Pack, ship and run any application as a lightweight container"
 url="http://www.docker.io/"
 arch="all !s390x"
 license="ASL 2.0"
-depends="ca-certificates iptables"
+depends="ca-certificates iptables libltdl"
 depends_dev=""
-makedepends="go btrfs-progs-dev bash linux-headers coreutils libseccomp-dev cmake lvm2-dev glide"
+makedepends="go btrfs-progs-dev bash linux-headers coreutils libseccomp-dev cmake lvm2-dev glide libtool"
 options="!check"
 install="$pkgname.pre-install"
 
 # $ grep COMMIT hack/dockerfile/binaries-commits
 # TOMLV_COMMIT=9baf8a8a9f2ed20a8e54160840c492f937eeaf9a
-# RUNC_COMMIT=9c2d8d184e5da67c95d601382adf14862e4f2228
-# CONTAINERD_COMMIT=9048e5e50717ea4497b757314bad98ea3763c145
+# RUNC_COMMIT=2d41c047c83e09a6d61d464906feb2a2f3c52aa4
+# CONTAINERD_COMMIT=3addd840653146c90a254301d6c3a663c7fd6429
 # TINI_COMMIT=949e6facb77383876aeff8a6944dde66b3089574
 # LIBNETWORK_COMMIT=7b2b1feb1de4817d522cc372af149ff48d25028e
-# VNDR_COMMIT=19220953c4a45310a4c404b7905154e29120249e
-# BINDATA_COMMIT=a0ff2567cfb70903282db057e799fd826784d41d
+# VNDR_COMMIT=9909bb2b8a0b7ea464527b376dc50389c90df587
 
-_runc_ver=9c2d8d184e5da67c95d601382adf14862e4f2228
-_containerd_ver=9048e5e50717ea4497b757314bad98ea3763c145
+_runc_ver=2d41c047c83e09a6d61d464906feb2a2f3c52aa4
+_containerd_ver=3addd840653146c90a254301d6c3a663c7fd6429
 _libnetwork_ver=7b2b1feb1de4817d522cc372af149ff48d25028e
 _tini_ver=949e6facb77383876aeff8a6944dde66b3089574
 
@@ -36,17 +35,21 @@ subpackages="
 	$pkgname-doc
 	"
 source="
-	moby-$pkgver.tar.gz::https://github.com/moby/moby/archive/v$_ver.tar.gz
-	runc-$_runc_ver.tar.gz::https://github.com/opencontainers/runc/archive/$_runc_ver.tar.gz
+	docker-$pkgver.tar.gz::https://github.com/docker/docker-ce/archive/v$_ver.tar.gz
+	runc-$_runc_ver.tar.gz::https://github.com/docker/runc/archive/$_runc_ver.tar.gz
 	containerd-$_containerd_ver.tar.gz::https://github.com/docker/containerd/archive/$_containerd_ver.tar.gz
 	libnetwork-$_libnetwork_ver.tar.gz::https://github.com/docker/libnetwork/archive/$_libnetwork_ver.tar.gz
 	tini-$_tini_ver.tar.gz::https://github.com/krallin/tini/archive/$_tini_ver.tar.gz
+	go-md2man.tar.gz::https://github.com/cpuguy83/go-md2man/archive/master.tar.gz
+	cobra.tar.gz::https://github.com/spf13/cobra/archive/master.tar.gz
 	docker-openrc-fixes.patch
 	tini-cmake-fixes.patch
 	docker-openrc-busybox-ash.patch
 	"
 
-builddir="$srcdir"/moby-$_ver
+_dockerdir="$srcdir"/docker-$_ver
+_cli_builddir="$_dockerdir"/components/cli
+_daemon_builddir="$_dockerdir"/components/engine
 #_buildtags="exclude_graphdriver_aufs exclude_graphdriver_devicemapper"
 _buildtags=""
 _runc_buildtags="seccomp"
@@ -70,18 +73,19 @@ _apply_patches() {
 }
 
 prepare() {
-	_apply_patches "$builddir" docker || return 1
+	# Rename 'docker-ce-VER' to 'docker-VER'
+	mv "$srcdir"/docker-ce-$_ver "$_dockerdir"
+
+	_apply_patches "$_daemon_builddir" docker || return 1
 	_apply_patches "$_runc_builddir" runc || return 1
 	_apply_patches "$_tini_builddir" tini || return 1
 }
 
 build() {
-	cd "$_runc_builddir"
-
-
-	cd "$builddir"
-
 	export AUTO_GOPATH=1
+	#export GOPATH="$srcdir"
+	#export GOBIN="$GOPATH"/bin
+	#export PATH="$GOBIN:$PATH"
 	export DOCKER_GITCOMMIT=$_gitcommit
 	export DOCKER_BUILDTAGS=$_buildtags
 	unset CC # prevent possible ccache issues
@@ -89,8 +93,8 @@ build() {
 	# containerd
 	msg "building containerd"
 	cd "$_containerd_builddir" || return 1
-	mkdir -p src/github.com/docker/
-	ln -s "$_containerd_builddir" src/github.com/docker/containerd
+	mkdir -p src/github.com/containerd/
+	ln -s "$_containerd_builddir" src/github.com/containerd/containerd
 	GOPATH="$PWD" LDFLAGS="" make GIT_COMMIT="$_containerd_ver" || return 1
 
 	# libnetwork (docker-proxy)
@@ -103,6 +107,9 @@ build() {
 	# runc
 	msg "building runc"
 	cd "$_runc_builddir" || return 1
+	mkdir -p src/github.com/opencontainers/
+	ln -s "$_runc_builddir" src/github.com/opencontainers/runc
+	cd src/github.com/opencontainers/runc
 	GOPATH="$PWD" make COMMIT="$_runc_ver" || return 1
 
 	# tini
@@ -111,40 +118,52 @@ build() {
 	cmake -DVERSION_GIT=$_tini_ver || return 1
 	make tini-static|| return 1
 
-	# docker
-	msg "building docker"
-	cd "$builddir"
-	./hack/make.sh dynbinary
+	# daemon
+	msg "building daemon"
+	cd "$_daemon_builddir" || return 1
+	mkdir -p src/github.com/docker/
+	ln -s "$_daemon_builddir" src/github.com/docker/docker
+	GOPATH="$PWD" VERSION="$_ver" hack/make.sh dynbinary
+
+	# Required for building man-pages
+	export GOPATH="$_cli_builddir"
+	export GOBIN="$GOPATH/bin"
+	export PATH="$GOBIN:$PATH"
+
+	# cli
+	msg "building cli"
+	cd "$_cli_builddir" || return 1
+	mkdir -p "$GOPATH"/src/github.com/docker/
+	ln -s "$_cli_builddir" "$GOPATH"/src/github.com/docker/cli
+	LDFLAGS="" make VERSION="$_ver" dynbinary || return 1
 
 	# docker man
 	msg "building docker man pages"
-	cd "$builddir/man"
-	mkdir -p genman
-	cp glide.lock glide.yaml genman/
-	cd genman
-	# need empty src folder for glide
-	mkdir src
-	GOPATH=`pwd` glide install
-	rmdir src && mv vendor src
-	mkdir -p src/github.com/docker
-	ln -s `pwd`/../../ src/github.com/docker/docker
-	cd src/github.com/docker/docker
-	GOPATH="$builddir/man/genman" go build -o man/gen-manpages ./man
-
-	msg "Generating man pages"
-	cd "$builddir/man"
-	mkdir -p man1
-	./gen-manpages --root $builddir --target ./man1
+	cd "$srcdir" || return 1
+	# cobra
+	mkdir -p "$GOPATH"/src/github.com/spf13/
+	ln -sf "$PWD"/cobra-master "$GOPATH"/src/github.com/spf13/cobra
+	# md2man
+	mkdir -p "$GOPATH"/src/github.com/cpuguy83/
+	ln -s "$PWD"/go-md2man-master "$GOPATH"/src/github.com/cpuguy83/go-md2man
+	cd "$GOPATH"/src/github.com/cpuguy83/go-md2man || return 1
+	go get
+
+	# convert md to man pages
+	msg "generating man pages"
+	cd "$_cli_builddir" || return 1
+	make manpages
 }
 
 package() {
-	cd "$builddir"
+	cd "$_dockerdir"
 	local ver=$(cat VERSION)
 
-	install -Dm755 bundles/$ver/dynbinary-client/docker-$ver \
+	# 'build/docker' is a symlink to 'docker-linux-$arch' e.g. 'docker-linux-amd64'
+	install -Dm755 "$_cli_builddir"/build/docker \
 		"$pkgdir"/usr/bin/docker || return 1
 
-	install -Dm755 bundles/$ver/dynbinary-daemon/dockerd-$ver \
+	install -Dm755 "$_daemon_builddir"/bundles/$ver/dynbinary-daemon/dockerd-$ver \
 		"$pkgdir"/usr/bin/dockerd || return 1
 
 	install -Dm755 "$_libnetwork_builddir"/docker-proxy \
@@ -165,13 +184,13 @@ package() {
 	install -Dm755 "$_tini_builddir"/tini-static \
 		"$pkgdir"/usr/bin/docker-init || return 1
 
-	install -Dm755 contrib/init/openrc/docker.initd \
+	install -Dm755 "$_daemon_builddir"/contrib/init/openrc/docker.initd \
 		"$pkgdir"/etc/init.d/docker || return 1
-	install -Dm644 contrib/init/openrc/docker.confd \
+	install -Dm644 "$_daemon_builddir"/contrib/init/openrc/docker.confd \
 		"$pkgdir"/etc/conf.d/docker || return 1
 
 	mkdir -p "$pkgdir"/usr/share/man/man1
-	install -Dm644 man/man1/* \
+	install -Dm644 "$_cli_builddir"/man/man1/* \
 		"$pkgdir"/usr/share/man/man1 || return 1
 }
 
@@ -180,7 +199,7 @@ bashcomp() {
 	depends=""
 	install_if="$pkgname=$pkgver-r$pkgrel bash-completion"
 
-	install -Dm644 "$builddir"/contrib/completion/bash/$pkgname \
+	install -Dm644 "$_cli_builddir"/contrib/completion/bash/$pkgname \
 		"$subpkgdir"/usr/share/bash-completion/completions/$pkgname
 }
 
@@ -189,7 +208,7 @@ fishcomp() {
 	depends=""
 	install_if="$pkgname=$pkgver-r$pkgrel fish"
 
-	install -Dm644 "$builddir"/contrib/completion/fish/$pkgname.fish \
+	install -Dm644 "$_cli_builddir"/contrib/completion/fish/$pkgname.fish \
 		"$subpkgdir"/usr/share/fish/completions/$pkgname.fish || return 1
 }
 
@@ -198,7 +217,7 @@ zshcomp() {
 	depends=""
 	install_if="$pkgname=$pkgver-r$pkgrel zsh"
 
-	install -Dm644 "$builddir"/contrib/completion/zsh/_$pkgname \
+	install -Dm644 "$_cli_builddir"/contrib/completion/zsh/_$pkgname \
 		"$subpkgdir"/usr/share/zsh/site-functions/_$pkgname || return 1
 }
 
@@ -208,16 +227,18 @@ vim() {
 
 	local f=
 	for f in ftdetect/dockerfile.vim syntax/dockerfile.vim; do
-		install -Dm644 "$builddir"/contrib/syntax/vim/$f \
+		install -Dm644 "$_daemon_builddir"/contrib/syntax/vim/$f \
 			"$subpkgdir"/usr/share/vim/vimfiles/$f
 	done
 }
 
-sha512sums="9d4fea1d6ce2ca3d65e6d2e6d2a0629ec0dbbc3397088ffb1e608b31d705a380356df0b23bb87b86ef51660e5196beffc90602bf59d8c5138c0e4f906fafe441  moby-17.05.0.tar.gz
-225a37b4a3a79ff0d7a3e74b997f6e5547e270d02c58e65ccb5ea2d81771c489378727bd6abf2f445ea94c2e7717e2991da9fb4cab74327fd57c0e6218143cc3  runc-9c2d8d184e5da67c95d601382adf14862e4f2228.tar.gz
-b7d56adaac26c9f0fd0900467fb5f8500472b602d7ce2373704c08ae6a0b852051e469a4fa51c8db475499872a51fcdd65c2adc4124102e66b8ca86cc5b2ff2f  containerd-9048e5e50717ea4497b757314bad98ea3763c145.tar.gz
-6bd82d64d2847a01feb6004ad180f77e767d4a27ca742a66c411f2824f50ca4439974010e32a18a6b03bc1f6186ee7a7c5f86f6c9cbbd8c275fb7fdd345b7bc1  libnetwork-7b2b1feb1de4817d522cc372af149ff48d25028e.tar.gz
+sha512sums="c34164983021e7de9872510f739446f372444147e336e928b1b4d7bd87876440ec2358206bf0fcc231ead03c0171a8bde0b897f044d9bd696ac5f1cf203fc9db  docker-17.07.0.tar.gz
+4c86946a8200db67b3c914dd5e52e64e27d417b1fd2fdecd57d12de76798d554ed05acd761b58020d262fda2f98f15e45385ae621666952b1d82a28f7dd7918a  runc-2d41c047c83e09a6d61d464906feb2a2f3c52aa4.tar.gz
+cc8cdfbac5b2ea671d96a9016d53a510bd2d7854d9d8cdd551929568a47eaaed044f2ae1152acf83a487aa2f7df8b61ffb00de3d4f837d93eee383d96929ace4  containerd-3addd840653146c90a254301d6c3a663c7fd6429.tar.gz
+673ea638fa5c560d8238d7c1d88f114430f9d8efe701804bfe30044d0c059a688cbf6b62922be50834e16ee055ef6cf015f6232f76f0d942768f9e84e95496cd  libnetwork-7b2b1feb1de4817d522cc372af149ff48d25028e.tar.gz
 b6c1454f734662adf2fdedcb75cb7cdc82f4cf5b4c41fadf6891a670fa26d49b789034f4af8bf920b9e1ff1c3536123637ade9471f4ae2c1ef6c534e839b9f27  tini-949e6facb77383876aeff8a6944dde66b3089574.tar.gz
+4fe8c193b1d1f64d9fce656842d47a9beba672b947c29e2f2ae50a7d13a13b8ac5c22ed2a4c76c4df3cc384282b79496067f27046800ebbb2c957c00a7eaed9a  go-md2man.tar.gz
+31b71f60505c6442a9b048a8346c6a990cf334774e6c9172181a8123ab513ac37bfef01d86cc866a0dec8ba97d61ed064a3b3f4a15b23715b9a7d81a1395ef80  cobra.tar.gz
 8296b1bc88ef3dec4f9038c4e0bf83120ac5870860f6662eac9f9f8850ea8b7596bcd2b47932551e804ae8b6f6f26ad3bc4ce6d49600cc8eaf0a3016c15a9ccf  docker-openrc-fixes.patch
 29a343848d0aa14864c6bfc87c2a6fd408f546f0114e12f7035fb4678ee769fe728872a5d283803177990a61d7e02c4916017d5e45380ad3b0a2dffa3e746857  tini-cmake-fixes.patch
 9b24dc0c50904c3d12bb04c1a7df169651043ddbc258018647010a5aa01d8a19ad54d10ca79dce6d6283c81f4fa0cc8de417f6180dd824c5a588b22b23546cb5  docker-openrc-busybox-ash.patch"
-- 
2.14.1

---
Unsubscribe:  [email-masked]
Help:         [email-masked]
---

---

From: Natanael Copa <[email-masked]>
Date: Thu, 28 Sep 2017 10:21:47 +0200

On Sun, 17 Sep 2017 00:06:35 +0100

> +++ b/community/docker/APKBUILD

the libltdl dependency is not needed as abuild will autodetect it.
I removed it and pushed.

Thanks!

-nc

---