aboutsummarylogtreecommitdiffstats
path: root/PKGBUILD
diff options
context:
space:
mode:
authorChris Fordham2017-02-18 14:28:16 +1100
committerChris Fordham2017-02-18 14:28:16 +1100
commit9ccab9ced87d56ea5377bb1de2b20c97b590760f (patch)
tree96cedba894c2fdb036793370184fdf308d77a3fa /PKGBUILD
parent625b2a846cf9d4154b455f56e84611be06fd784f (diff)
downloadaur-9ccab9ced87d56ea5377bb1de2b20c97b590760f.tar.gz
Build and include runc and containerd using specific commits sourced from the hack.
Diffstat (limited to 'PKGBUILD')
-rw-r--r--PKGBUILD111
1 files changed, 80 insertions, 31 deletions
diff --git a/PKGBUILD b/PKGBUILD
index 6b0b46d1d0f4..0332384e2b55 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,4 +1,5 @@
-# $Id: bfc54885f6617a81b35939f12f0a9f02199bb6d8 $
+# $Id$
+
# Maintainer: Ido Rosen <ido@kernel.org>
# Co-maintainer: Chris Fordham <chris [at] fordham-nagy [dot] [id] [dot] [au]> aka flaccid
# Contributor: Sébastien "Seblu" Luttringer
@@ -17,28 +18,29 @@
pkgname=docker-git
_pkgname=docker
-pkgver=1.14.0.dev.30820.40dbbd3f9b
+pkgver=17.04.0.dev.31005.cf449cf69c
pkgrel=1
epoch=1
pkgdesc='Pack, ship and run any application as a lightweight container.'
arch=('i686' 'x86_64')
url="https://github.com/docker/docker"
license=('Apache License Version 2.0')
-depends=('runc-git' 'containerd-git' 'bridge-utils' 'iproute2' 'device-mapper' 'sqlite' 'systemd')
-makedepends=('git' 'go' 'btrfs-progs' 'go-md2man')
+depends=('bridge-utils' 'iproute2' 'device-mapper' 'sqlite' 'systemd')
+makedepends=('glibc' 'git' 'go' 'btrfs-progs' 'go-md2man')
provides=('docker')
-conflicts=('docker')
+conflicts=('docker' 'containerd' 'containerd-git' 'runc' 'runc-git')
+replaces=('docker' 'containerd' 'containerd-git' 'runc' 'runc-git')
+install='docker.install'
# don't strip binaries! A sha1 is used to check binary consistency.
options=('!strip')
-source=("git+https://github.com/docker/docker.git"
- 'docker.install'
- )
+source=('docker::git+https://github.com/docker/docker.git'
+ 'containerd::git+https://github.com/docker/containerd.git#commit=78fb8f45890a601e0fd9051cf9f9f74923e950fd'
+ 'runc::git+https://github.com/docker/runc.git#commit=51371867a01c467f08af739783b8beafc154c4d7'
+ 'docker.install')
md5sums=('SKIP'
- '1a8e60447794b3c4f87a2272cc9f144f'
- )
-install='docker.install'
-# magic harcoded path
-#_magic=src/github.com/dotcloud
+ 'SKIP'
+ 'SKIP'
+ '1a8e60447794b3c4f87a2272cc9f144f')
pkgver() {
cd "${srcdir}/docker"
@@ -47,31 +49,78 @@ pkgver() {
}
prepare() {
- #mkdir -p "$_magic"
- #ln -sfn "../../../docker" "$_magic/docker"
- #cd "$_magic/docker"
- cd docker
+ mkdir -p "$srcdir/go/src/github.com/docker"
+ export GOPATH="$srcdir/go"
+
+ # update specific commits used
+ # https://github.com/docker/docker/blob/master/hack/dockerfile/binaries-commits
+ . "$srcdir/docker/hack/dockerfile/binaries-commits"
+ pushd "$srcdir/runc"
+ git checkout -q "$RUNC_COMMIT"
+ popd
+ pushd "$srcdir/containerd"
+ git checkout -q "$CONTAINERD_COMMIT"
+ popd
+
+ # apply any patches for runc
+ pushd "$srcdir/runc"
+ # 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
+ :
+ popd
}
build() {
- #cd "$_magic/docker"
- #export GOPATH="$srcdir:$srcdir/$_magic/docker/vendor"
- cd docker
- export AUTO_GOPATH=1
- ./hack/make.sh dynbinary
- for i in man/*.md; do
- go-md2man -in "$i" -out "${i%.md}"
- done
+ # runc
+ ln -svf "$srcdir/runc" "$GOPATH/src/github.com/docker/"
+ pushd "$GOPATH/src/github.com/docker/runc"
+ make BUILDTAGS=""
+ man/md2man-all.sh 2>/dev/null
+ popd
+
+ # containerd
+ ln -svf "$srcdir/containerd" "$GOPATH/src/github.com/docker/"
+ pushd "$GOPATH/src/github.com/docker/containerd"
+ LDFLAGS= make
+ popd
+
+ # docker
+ pushd docker
+ export AUTO_GOPATH=1
+ ./hack/make.sh dynbinary
+ for i in man/*.md; do
+ go-md2man -in "$i" -out "${i%.md}"
+ done
+ popd
}
-#check() {
- #cd "$_magic/docker"
- # Will be added upstream soon
- #./hack/make.sh dyntest
-#}
+# TODO: complete tests for all
+# check() {
+# cd runc
+# make test
+# }
package() {
- #cd "$_magic/docker"
+ # runc binary and man pages
+ pushd "$GOPATH/src/github.com/docker/runc"
+ install -Dm755 runc "$pkgdir/usr/bin/runc"
+ install -dm755 "$pkgdir/usr/share/man"
+ mv man/man*/ "$pkgdir/usr/share/man"
+ popd
+
+ # containerd binaries
+ pushd "$GOPATH/src/github.com/docker/containerd/bin"
+ for file in $(find . -type f -print); do
+ install -Dm755 "$file" "$pkgdir/usr/bin/$file"
+ done
+ popd
+
cd docker
_dockerver="$(cat VERSION)"
install -Dm755 "bundles/$_dockerver/dynbinary-client/docker-$_dockerver" "$pkgdir/usr/bin/docker"