aboutsummarylogtreecommitdiffstats
path: root/PKGBUILD
blob: 42c14b70e6e2624bc741eea7c113d5219b1b66db (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
# This PKGBUILD and other config files are based on ones from docker-git created by Ido Rosen <ido@kernel.org>

# Important upstream docs:
# https://github.com/docker/docker/blob/master/project/PACKAGERS.md

pkgname=docker-git-x86
pkgver=1.11.0
pkgrel=1
epoch=1
pkgdesc='Pack, ship and run any application as a lightweight container.'
arch=('i686')
url="https://github.com/docker/docker"
license=('Apache License Version 2.0')
depends=('bridge-utils' 'iproute2' 'device-mapper' 'sqlite' 'systemd')
makedepends=('git' 'go' 'btrfs-progs' 'go-md2man' 'apparmor-libapparmor')
backup=(etc/sysctl.d/docker.conf)
provides=('docker')
conflicts=('docker')
# don't strip binaries! A sha1 is used to check binary consistency.
options=('!strip')
source=("git+https://github.com/docker/docker.git"
        "git+https://github.com/docker/containerd.git"
        "git+https://github.com/opencontainers/runc.git"
        'docker.service'
        'docker.install'
        docker.conf
        )
md5sums=('SKIP'
         'SKIP'
         'SKIP'
         'f95610c9cb86cb617371040dad5b95d3'
         '1a8e60447794b3c4f87a2272cc9f144f'
         '9bce988683771fb8262197f2d8196202')
install='docker.install'

prepare() {
  cd docker
}

build() {
  export GOPATH=${PWD}/go
  export OLD_LDFLAGS=${LDFLAGS}
  export LDFLAGS=""

  # runc
  export RUNC_COMMIT=e87436998478d222be209707503c27f6f91be0c5
  mkdir -p $GOPATH/src/github.com/opencontainers/
  ln -s ${PWD}/runc $GOPATH/src/github.com/opencontainers/runc
  pushd "$GOPATH/src/github.com/opencontainers/runc"
  git checkout -q "$RUNC_COMMIT" 
  make BUILDTAGS="seccomp apparmor selinux" 
  popd

  # containerd
  export CONTAINERD_COMMIT=d2f03861c91edaafdcb3961461bf82ae83785ed7
  mkdir -p $GOPATH/src/github.com/docker/
  ln -s ${PWD}/containerd $GOPATH/src/github.com/docker/containerd 
  pushd "$GOPATH/src/github.com/docker/containerd"
  pwd
  git checkout -q "$CONTAINERD_COMMIT"
  make static
 
  export LDFLAGS=${OLD_LDFLAGS}
  popd
  #cd "$_magic/docker"
  #export GOPATH="$srcdir:$srcdir/$_magic/docker/vendor"
  cd docker
  git checkout -q v1.11.0
  export AUTO_GOPATH=1
  ./hack/make.sh dynbinary
  for i in man/*.md; do
    go-md2man -in "$i" -out "${i%.md}"
  done
}

#check() {
  #cd "$_magic/docker"
  # Will be added upstream soon
  #./hack/make.sh dyntest
#}

package() {
  #cd "$_magic/docker"
  install -Dm755 "runc/runc" "$pkgdir/usr/local/bin/docker-runc"

  install -Dm755 "containerd/bin/containerd" "$pkgdir/usr/local/bin/docker-containerd"
  install -Dm755 "containerd/bin/containerd-shim" "$pkgdir/usr/local/bin/docker-containerd-shim"
  install -Dm755 "containerd/bin/ctr" "$pkgdir/usr/local/bin/docker-containerd-ctr"

  cd docker
  _dockerver="$(cat VERSION)"
  install -Dm755 "bundles/$_dockerver/dynbinary/docker-$_dockerver" "$pkgdir/usr/bin/docker"

  # 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"

  # systemd
  install -Dm644 "$srcdir/docker.service" "$pkgdir/usr/lib/systemd/system/docker.service"
  install -Dm644 "$srcdir/docker.conf" "$pkgdir/etc/sysctl.d/docker.conf"

  cd man
  for section in 1 5; do
    for i in *.$section; do
      install -Dm644 "$i" "$pkgdir/usr/share/man/man$section/$i"
    done
  done
}

# vim:set ts=2 sw=2 et: