diff --git a/community/docker/PKGBUILD b/community/docker/PKGBUILD new file mode 100644 index 000000000..34236f505 --- /dev/null +++ b/community/docker/PKGBUILD @@ -0,0 +1,52 @@ +# $Id$ +# Maintainer: Sébastien "Seblu" Luttringer + +# No changes for ALARM + +pkgname=docker +pkgver=0.7.2 +pkgrel=1 +epoch=1 +pkgdesc='Pack, ship and run any application as a lightweight container' +arch=('x86_64') +url='http://www.docker.io/' +license=('Apache') +depends=('bridge-utils' 'iproute2' 'device-mapper' 'lxc' 'sqlite' 'systemd') +makedepends=('git' 'go') +# don't strip binaries! A sha1 is used to check binary consistency. +options=('!strip') +install=$pkgname.install +source=("git+https://github.com/dotcloud/docker.git#tag=v$pkgver") +md5sums=('SKIP') +# magic harcoded path +_magic=src/github.com/dotcloud + +prepare() { + mkdir -p "$_magic" + ln -sfn "../../../docker" "$_magic/docker" +} + +build() { + cd "$_magic/docker" + export GOPATH="$srcdir:$srcdir/$_magic/docker/vendor" + ./hack/make.sh dynbinary +} + +check() { + cd "$_magic/docker" + # Will be added upstream soon + #./hack/make.sh dyntest +} + +package() { + cd "$_magic/docker" + install -Dm755 "bundles/$pkgver/dynbinary/docker-$pkgver" "$pkgdir/usr/bin/docker" + install -Dm755 "bundles/$pkgver/dynbinary/dockerinit-$pkgver" "$pkgdir/usr/lib/docker/dockerinit" + # 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 "contrib/init/systemd/docker.service" "$pkgdir/usr/lib/systemd/system/docker.service" +} + +# vim:set ts=2 sw=2 et: diff --git a/community/docker/docker.install b/community/docker/docker.install new file mode 100644 index 000000000..f730503de --- /dev/null +++ b/community/docker/docker.install @@ -0,0 +1,18 @@ +# arg 1: the new package version +post_install() { + # create docker group (FS#38029) + getent group docker >/dev/null || groupadd -g 142 docker +} + +# arg 1: the new package version +# arg 2: the old package version +post_upgrade() { + (( $(vercmp $2 '1:0.7.1-1') < 0 )) && post_install "$1" || true +} + +# arg 1: the old package version +post_remove() { + groupdel docker >/dev/null 2>&1 || true +} + +# vim:set ts=2 sw=2 et: diff --git a/community/docker/docker.service b/community/docker/docker.service new file mode 100644 index 000000000..b96d19ddb --- /dev/null +++ b/community/docker/docker.service @@ -0,0 +1,11 @@ +[Unit] +Description=Docker Application Container Engine +Documentation=http://docs.docker.io +After=network.target + +[Service] +ExecStartPre=/usr/bin/mount --make-rprivate / +ExecStart=/usr/bin/docker -d + +[Install] +WantedBy=multi-user.target