# $Id$ # Maintainer: Sébastien "Seblu" Luttringer # ALARM: Kevin Mihelich pkgname=docker pkgver=1.12.3 pkgrel=1 epoch=1 pkgdesc='Pack, ship and run any application as a lightweight container' arch=('x86_64') url='https://www.docker.com/' license=('Apache') depends=('bridge-utils' 'iproute2' 'device-mapper' 'sqlite' 'systemd' 'libseccomp') makedepends=('git' 'go' 'btrfs-progs' 'go-md2man') optdepends=('btrfs-progs: btrfs backend support' 'lxc: lxc backend support') # don't strip binaries! A sha1 is used to check binary consistency. options=('!strip') install=$pkgname.install # Use exact commit version from Dockerfile for runc and containerd until 1.0.0 # https://github.com/docker/containerd/issues/299#issuecomment-240745119 source=("git+https://github.com/docker/docker.git#tag=v$pkgver" 'git+https://github.com/opencontainers/runc.git#commit=cc29e3dded8e27ba8f65738f40d251c885030a28' 'git+https://github.com/docker/containerd.git#commit=0ac3cd1be170d180b2baed755e8f0da547ceb267' "$pkgname.sysusers") md5sums=('SKIP' 'SKIP' 'SKIP' '8cf9900ebada61f352a03465a088da34') 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() { export GOPATH="$srcdir" # 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 make BUILDTAGS='seccomp' # 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 LDFLAGS= make # 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 } #check() { # cd docker # ./hack/make.sh dyntest #} package() { # runc & 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/ctr "$pkgdir/usr/bin/docker-containerd-ctr" install -Dm755 runc/runc "$pkgdir/usr/bin/docker-runc" # docker binary cd docker install -Dm755 "bundles/$pkgver/dynbinary-client/docker-$pkgver" "$pkgdir/usr/bin/docker" install -Dm755 "bundles/$pkgver/dynbinary-daemon/docker-proxy-$pkgver" "$pkgdir/usr/bin/docker-proxy" install -Dm755 "bundles/$pkgver/dynbinary-daemon/dockerd-$pkgver" "$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" } # vim:set ts=2 sw=2 et: