diff options
-rw-r--r-- | .SRCINFO | 33 | ||||
-rw-r--r-- | PKGBUILD | 71 | ||||
-rw-r--r-- | docker.install | 33 | ||||
-rw-r--r-- | docker.service | 11 |
4 files changed, 148 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO new file mode 100644 index 000000000000..56f8ac8e02f1 --- /dev/null +++ b/.SRCINFO @@ -0,0 +1,33 @@ +pkgbase = docker-git + pkgdesc = Pack, ship and run any application as a lightweight container + pkgver = 0.7.0.dev.4905.a8e99d9 + pkgrel = 1 + epoch = 1 + url = https://github.com/dotcloud/docker + install = docker.install + arch = x86_64 + arch = i686 + license = Apache + makedepends = git + makedepends = go + makedepends = device-mapper + depends = bridge-utils + depends = iproute2 + depends = device-mapper + depends = lxc + depends = sqlite + depends = systemd + provides = docker + conflicts = docker + conflicts = lxc-docker + replaces = lxc-docker-git + options = !strip + source = git+https://github.com/dotcloud/docker.git + source = docker.service + source = docker.install + md5sums = SKIP + md5sums = 3f7ccab915fb1942f06e18946c2811d2 + md5sums = 1a8e60447794b3c4f87a2272cc9f144f + +pkgname = docker-git + diff --git a/PKGBUILD b/PKGBUILD new file mode 100644 index 000000000000..7480b3761044 --- /dev/null +++ b/PKGBUILD @@ -0,0 +1,71 @@ +# $Id$ +# Maintainer: Ido Rosen <ido@kernel.org> +# Contributor: Sébastien "Seblu" Luttringer +# Contributor: Marcel Wysocki <maci@satgnu.net> +# +# NOTE: To request changes to this package, please submit a pull request +# to the GitHub repository at https://github.com/ido/packages-archlinux +# Otherwise, open a GitHub issue. Thank you! -Ido +# + +pkgname=docker-git +pkgver=0.7.0.dev.4905.a8e99d9 +pkgrel=1 +epoch=1 +pkgdesc='Pack, ship and run any application as a lightweight container' +arch=('x86_64' 'i686') +url="https://github.com/dotcloud/docker" +license=('Apache') +depends=('bridge-utils' 'iproute2' 'device-mapper' 'lxc' 'sqlite' 'systemd') +makedepends=('git' 'go' 'device-mapper') +provides=('docker') +conflicts=('docker' 'lxc-docker') +replaces=('lxc-docker-git') +# don't strip binaries! A sha1 is used to check binary consistency. +options=('!strip') +source=("git+https://github.com/dotcloud/docker.git" + 'docker.service' + 'docker.install') +md5sums=('SKIP' + '3f7ccab915fb1942f06e18946c2811d2' + '1a8e60447794b3c4f87a2272cc9f144f') +install='docker.install' +# magic harcoded path +_magic=src/github.com/dotcloud + +pkgver() { + cd "${srcdir}/docker" + _dockerver="$(cat VERSION)" + printf "%s.%s.%s" "${_dockerver//-/.}" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)" +} + +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" + _dockerver="$(cat VERSION)" + install -Dm755 "bundles/$_dockerver/dynbinary/docker-$_dockerver" "$pkgdir/usr/bin/docker" + install -Dm755 "bundles/$_dockerver/dynbinary/dockerinit-$_dockerver" "$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 "$srcdir/docker.service" "$pkgdir/usr/lib/systemd/system/docker.service" +} + +# vim:set ts=2 sw=2 et: diff --git a/docker.install b/docker.install new file mode 100644 index 000000000000..1ad012a398b4 --- /dev/null +++ b/docker.install @@ -0,0 +1,33 @@ +post_install() { + grep -q '^docker:' /etc/group || groupadd --system docker + systemctl daemon-reload + echo "To make Docker fully functional, consider performing the following actions:" + echo " + Start the docker daemon:" + echo " $ sudo systemctl start docker" + echo " + (OPTIONAL) Start the docker daemon at boot:" + echo " $ sudo systemctl enable docker" + echo " + Add your user to the docker group to run the docker client without sudo:" + echo " $ sudo usermod -a -G docker <username>" + echo " Login again for the change to take effect or run the following command" + echo " for a change affecting only the current shell:" + echo " $ newgrp docker" + echo " + Enable IPv4 forwarding to allow internet connections inside the containers." + echo " See /etc/sysctl.d/docker.conf for WARNING and instructions." +} + +pre_upgrade() { + systemctl stop docker +} + +post_upgrade() { + systemctl daemon-reload +} + +pre_remove() { + systemctl stop docker + grep -q '^docker:' /etc/group && groupdel docker +} + +post_remove() { + systemctl daemon-reload +} diff --git a/docker.service b/docker.service new file mode 100644 index 000000000000..b96d19ddb064 --- /dev/null +++ b/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 |