Date: Friday, May 5, 2017 @ 21:01:57 Author: seblu Revision: 227177 upgpkg: docker 1:17.05.0-1
Modified: docker/trunk/PKGBUILD ----------+ PKGBUILD | 156 ++++++++++++++++++++++++++++++++++--------------------------- 1 file changed, 89 insertions(+), 67 deletions(-) Modified: PKGBUILD =================================================================== --- PKGBUILD 2017-05-05 20:52:21 UTC (rev 227176) +++ PKGBUILD 2017-05-05 21:01:57 UTC (rev 227177) @@ -2,7 +2,7 @@ # Maintainer: Sébastien "Seblu" Luttringer pkgname=docker -pkgver=17.04.0 +pkgver=17.05.0 pkgrel=1 epoch=1 pkgdesc='Pack, ship and run any application as a lightweight container' @@ -11,7 +11,7 @@ license=('Apache') depends=('glibc' 'bridge-utils' 'iproute2' 'device-mapper' 'sqlite' 'libsystemd' 'libseccomp') -makedepends=('git' 'go' 'btrfs-progs' 'go-md2man' 'cmake') +makedepends=('git' 'go' 'btrfs-progs' 'cmake') optdepends=('btrfs-progs: btrfs backend support' 'lxc: lxc backend support') # don't strip binaries! A sha1 is used to check binary consistency. @@ -20,14 +20,16 @@ # https://github.com/docker/containerd/issues/299#issuecomment-240745119 # see commit in hack/dockerfile/binaries-commits _RUNC_COMMIT=9c2d8d184e5da67c95d601382adf14862e4f2228 -_CONTAINERD_COMMIT=422e31ce907fd9c3833a38d7b8fdd023e5a76e73 +_CONTAINERD_COMMIT=9048e5e50717ea4497b757314bad98ea3763c145 +_TINI_COMMIT=949e6facb77383876aeff8a6944dde66b3089574 _LIBNETWORK_COMMIT=7b2b1feb1de4817d522cc372af149ff48d25028e -_TINI_COMMIT=949e6facb77383876aeff8a6944dde66b3089574 -source=("git+https://github.com/docker/docker.git#tag=v$pkgver-ce" +source=("git+https://github.com/moby/moby.git#tag=v$pkgver-ce" "git+https://github.com/docker/runc.git#commit=$_RUNC_COMMIT" - "git+https://github.com/docker/containerd.git#commit=$_CONTAINERD_COMMIT" + "git+https://github.com/containerd/containerd.git#commit=$_CONTAINERD_COMMIT" "git+https://github.com/docker/libnetwork.git#commit=$_LIBNETWORK_COMMIT" "git+https://github.com/krallin/tini.git#commit=$_TINI_COMMIT" + "git+https://github.com/spf13/cobra.git" + "git+https://github.com/cpuguy83/go-md2man.git" "$pkgname.sysusers") md5sums=('SKIP' 'SKIP' @@ -34,26 +36,15 @@ 'SKIP' 'SKIP' 'SKIP' + 'SKIP' + 'SKIP' '9a8b2744db23b14ca3cd350fdf73c179') -prepare() { - cd docker - # apply patch from the source array (should be a pacman feature) - local filename - for filename in "${source[@]}"; do - if [[ "$filename" =~ \.patch$ ]]; then - msg2 "Applying patch ${filename##*/}" - patch -p1 -N -i "$srcdir/${filename##*/}" - fi - done - : -} - build() { - # check packager mistake on commit version + ### check my mistakes on commit version msg2 'Checking commit mismatch' local _cfile _commit _pkgbuild _dockerfile - _cfile="$srcdir"/docker/hack/dockerfile/binaries-commits + _cfile="$srcdir"/moby/hack/dockerfile/binaries-commits . "$_cfile" for _commit in RUNC CONTAINERD LIBNETWORK TINI; do _pkgbuild=_${_commit}_COMMIT @@ -65,77 +56,108 @@ fi done - # go + ### go magics export GOPATH="$srcdir" + export PATH="$GOPATH/bin:$PATH" - # runc + ### docker binary + msg2 'Building docker' + # projects still reference import with github.com/docker + mkdir -p src/github.com/docker + ln -rsfT moby src/github.com/docker/docker + pushd src/github.com/docker/docker >/dev/null + DOCKER_BUILDTAGS='seccomp' hack/make.sh dynbinary + popd >/dev/null + + ### go-md2man (used for manpages) + msg2 'Building go-md2man' + mkdir -p src/github.com/cpuguy83 + ln -rsf go-md2man src/github.com/cpuguy83 + pushd src/github.com/cpuguy83/go-md2man >/dev/null + go get -v ./... + popd >/dev/null + + ### docker man pages + msg2 'Building man pages' + # cobra (used for manpages) + mkdir -p src/github.com/spf13 + ln -rsf cobra src/github.com/spf13 + # generate + pushd src/github.com/docker/docker >/dev/null + man/generate.sh 2>/dev/null + popd >/dev/null + + ### runc msg2 'Building runc' - mkdir -p src/github.com/opencontainers - ln -rsf "$srcdir/runc" src/github.com/opencontainers/runc - cd src/github.com/opencontainers/runc + pushd runc >/dev/null make BUILDTAGS='seccomp' + popd >/dev/null - # containerd + ### containerd msg2 'Building containerd' - cd "$srcdir" - mkdir -p src/github.com/docker - ln -rsf containerd src/github.com/docker - cd src/github.com/docker/containerd + ln -rsfT containerd src/github.com/docker/containerd + pushd src/github.com/docker/containerd >/dev/null LDFLAGS= make + popd >/dev/null - # docker proxy + ### docker proxy msg2 'Building docker-proxy' - cd "$srcdir" ln -rsf libnetwork src/github.com/docker - cd src/github.com/docker/libnetwork + pushd src/github.com/docker/libnetwork >/dev/null go build -ldflags='-linkmode=external' github.com/docker/libnetwork/cmd/proxy + popd >/dev/null - # docker-init + ### docker-init msg2 'Building docker-init' - cd "$srcdir/tini" + pushd tini >/dev/null cmake . # we must use the static binary because it's started in a foreign os make tini-static - - # docker - msg2 'Building docker' - cd "$srcdir"/docker - export AUTO_GOPATH=1 DOCKER_BUILDTAGS='seccomp' - hack/make.sh dynbinary - # man pages - man/md2man-all.sh 2>/dev/null + popd >/dev/null } package() { - # runc + ### runc install -Dm755 runc/runc "$pkgdir/usr/bin/docker-runc" - # docker-containerd + ### docker-containerd install -Dm755 containerd/bin/containerd "$pkgdir/usr/bin/docker-containerd" - install -Dm755 containerd/bin/containerd-shim "$pkgdir/usr/bin/docker-containerd-shim" + install -Dm755 containerd/bin/containerd-shim \ + "$pkgdir/usr/bin/docker-containerd-shim" install -Dm755 containerd/bin/ctr "$pkgdir/usr/bin/docker-containerd-ctr" - # docker-proxy + ### docker-proxy install -Dm755 libnetwork/proxy "$pkgdir/usr/bin/docker-proxy" - # docker-init + ### docker-init install -Dm755 tini/tini-static "$pkgdir/usr/bin/docker-init" - # docker binary - cd docker - install -Dm755 "bundles/latest/dynbinary-client/docker" "$pkgdir/usr/bin/docker" - install -Dm755 "bundles/latest/dynbinary-daemon/dockerd" "$pkgdir/usr/bin/dockerd" - # completion - install -Dm644 'contrib/completion/bash/docker' "$pkgdir/usr/share/bash-completion/completions/docker" - install -Dm644 'contrib/completion/zsh/_docker' "$pkgdir/usr/share/zsh/site-functions/_docker" - install -Dm644 'contrib/completion/fish/docker.fish' "$pkgdir/usr/share/fish/vendor_completions.d/docker.fish" - # systemd - install -Dm644 'contrib/init/systemd/docker.service' "$pkgdir/usr/lib/systemd/system/docker.service" - install -Dm644 'contrib/init/systemd/docker.socket' "$pkgdir/usr/lib/systemd/system/docker.socket" - install -Dm644 'contrib/udev/80-docker.rules' "$pkgdir/usr/lib/udev/rules.d/80-docker.rules" - install -Dm644 "$srcdir/$pkgname.sysusers" "$pkgdir/usr/lib/sysusers.d/$pkgname.conf" - # vim syntax - install -Dm644 'contrib/syntax/vim/syntax/dockerfile.vim' "$pkgdir/usr/share/vim/vimfiles/syntax/dockerfile.vim" - install -Dm644 'contrib/syntax/vim/ftdetect/dockerfile.vim' "$pkgdir/usr/share/vim/vimfiles/ftdetect/dockerfile.vim" - # man + ### docker binary + cd moby + install -Dm755 "bundles/latest/dynbinary-client/docker" \ + "$pkgdir/usr/bin/docker" + install -Dm755 "bundles/latest/dynbinary-daemon/dockerd" \ + "$pkgdir/usr/bin/dockerd" + ### completion + install -Dm644 'contrib/completion/bash/docker' \ + "$pkgdir/usr/share/bash-completion/completions/docker" + install -Dm644 'contrib/completion/zsh/_docker' \ + "$pkgdir/usr/share/zsh/site-functions/_docker" + install -Dm644 'contrib/completion/fish/docker.fish' \ + "$pkgdir/usr/share/fish/vendor_completions.d/docker.fish" + ### systemd + install -Dm644 'contrib/init/systemd/docker.service' \ + "$pkgdir/usr/lib/systemd/system/docker.service" + install -Dm644 'contrib/init/systemd/docker.socket' \ + "$pkgdir/usr/lib/systemd/system/docker.socket" + install -Dm644 'contrib/udev/80-docker.rules' \ + "$pkgdir/usr/lib/udev/rules.d/80-docker.rules" + install -Dm644 "$srcdir/$pkgname.sysusers" \ + "$pkgdir/usr/lib/sysusers.d/$pkgname.conf" + ### vim syntax + install -Dm644 'contrib/syntax/vim/syntax/dockerfile.vim' \ + "$pkgdir/usr/share/vim/vimfiles/syntax/dockerfile.vim" + install -Dm644 'contrib/syntax/vim/ftdetect/dockerfile.vim' \ + "$pkgdir/usr/share/vim/vimfiles/ftdetect/dockerfile.vim" + ### man install -dm755 "$pkgdir/usr/share/man" - mv man/man* "$pkgdir/usr/share/man" + cp -r man/man* "$pkgdir/usr/share/man" } # vim:set ts=2 sw=2 et: