[arch-commits] Commit in docker/repos (5 files)
Sébastien Luttringer
seblu at archlinux.org
Mon Sep 14 12:11:53 UTC 2015
Date: Monday, September 14, 2015 @ 14:11:53
Author: seblu
Revision: 140084
archrelease: copy trunk to community-testing-x86_64
Added:
docker/repos/community-testing-x86_64/
docker/repos/community-testing-x86_64/01-golang15.patch
(from rev 140083, docker/trunk/01-golang15.patch)
docker/repos/community-testing-x86_64/PKGBUILD
(from rev 140083, docker/trunk/PKGBUILD)
docker/repos/community-testing-x86_64/docker.install
(from rev 140083, docker/trunk/docker.install)
docker/repos/community-testing-x86_64/docker.sysusers
(from rev 140083, docker/trunk/docker.sysusers)
-------------------+
01-golang15.patch | 87 ++++++++++++++++++++++++++++++++++++++++++++++++++++
PKGBUILD | 63 +++++++++++++++++++++++++++++++++++++
docker.install | 13 +++++++
docker.sysusers | 1
4 files changed, 164 insertions(+)
Copied: docker/repos/community-testing-x86_64/01-golang15.patch (from rev 140083, docker/trunk/01-golang15.patch)
===================================================================
--- community-testing-x86_64/01-golang15.patch (rev 0)
+++ community-testing-x86_64/01-golang15.patch 2015-09-14 12:11:53 UTC (rev 140084)
@@ -0,0 +1,87 @@
+From 0a426878b52e9eaa243df117ece0608804c28d29 Mon Sep 17 00:00:00 2001
+From: Vincent Batts <vbatts at redhat.com>
+Date: Fri, 7 Aug 2015 10:18:20 -0400
+Subject: [PATCH] devicemapper: fix zero-sized field access
+
+Fixes: #15279
+
+Due to
+https://github.com/golang/go/commit/7904946eeb35faece61bbf6f5b3cc8be2f519c17
+the devices field is dropped.
+
+This solution works on go1.4 and go1.5
+
+Signed-off-by: Vincent Batts <vbatts at redhat.com>
+
+Vincent Batts <vbatts at redhat.com>
+---
+ daemon/graphdriver/devmapper/deviceset.go | 14 +++++++++-----
+ pkg/devicemapper/devmapper_wrapper.go | 18 +++++++++++++++---
+ 2 files changed, 24 insertions(+), 8 deletions(-)
+
+diff --git a/daemon/graphdriver/devmapper/deviceset.go b/daemon/graphdriver/devmapper/deviceset.go
+index 3c90fed..e3106fc 100644
+--- a/daemon/graphdriver/devmapper/deviceset.go
++++ b/daemon/graphdriver/devmapper/deviceset.go
+@@ -1485,12 +1485,16 @@ func (devices *DeviceSet) deactivatePool() error {
+ if err != nil {
+ return err
+ }
+- if d, err := devicemapper.GetDeps(devname); err == nil {
+- // Access to more Debug output
+- logrus.Debugf("[devmapper] devicemapper.GetDeps() %s: %#v", devname, d)
++
++ if devinfo.Exists == 0 {
++ return nil
+ }
+- if devinfo.Exists != 0 {
+- return devicemapper.RemoveDevice(devname)
++ if err := devicemapper.RemoveDevice(devname); err != nil {
++ return err
++ }
++
++ if d, err := devicemapper.GetDeps(devname); err == nil {
++ logrus.Warnf("[devmapper] device %s still has %d active dependents", devname, d.Count)
+ }
+
+ return nil
+diff --git a/pkg/devicemapper/devmapper_wrapper.go b/pkg/devicemapper/devmapper_wrapper.go
+index 87c2003..44ca772 100644
+--- a/pkg/devicemapper/devmapper_wrapper.go
++++ b/pkg/devicemapper/devmapper_wrapper.go
+@@ -38,7 +38,10 @@ static void log_with_errno_init()
+ */
+ import "C"
+
+-import "unsafe"
++import (
++ "reflect"
++ "unsafe"
++)
+
+ type (
+ CDmTask C.struct_dm_task
+@@ -184,12 +187,21 @@ func dmTaskGetDepsFct(task *CDmTask) *Deps {
+ if Cdeps == nil {
+ return nil
+ }
++
++ // golang issue: https://github.com/golang/go/issues/11925
++ hdr := reflect.SliceHeader{
++ Data: uintptr(unsafe.Pointer(uintptr(unsafe.Pointer(Cdeps)) + unsafe.Sizeof(*Cdeps))),
++ Len: int(Cdeps.count),
++ Cap: int(Cdeps.count),
++ }
++ devices := *(*[]C.uint64_t)(unsafe.Pointer(&hdr))
++
+ deps := &Deps{
+ Count: uint32(Cdeps.count),
+ Filler: uint32(Cdeps.filler),
+ }
+- for _, device := range Cdeps.device {
+- deps.Device = append(deps.Device, (uint64)(device))
++ for _, device := range devices {
++ deps.Device = append(deps.Device, uint64(device))
+ }
+ return deps
+ }
Copied: docker/repos/community-testing-x86_64/PKGBUILD (from rev 140083, docker/trunk/PKGBUILD)
===================================================================
--- community-testing-x86_64/PKGBUILD (rev 0)
+++ community-testing-x86_64/PKGBUILD 2015-09-14 12:11:53 UTC (rev 140084)
@@ -0,0 +1,63 @@
+# $Id$
+# Maintainer: Sébastien "Seblu" Luttringer
+
+pkgname=docker
+pkgver=1.8.2
+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')
+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
+source=("git+https://github.com/docker/docker.git#tag=v$pkgver"
+ "$pkgname.sysusers"
+ '01-golang15.patch')
+md5sums=('SKIP'
+ '8cf9900ebada61f352a03465a088da34'
+ '0511f2bbc52219a960dc91ea9c2d9e44')
+
+prepare() {
+ patch -p1 -d docker < 01-golang15.patch
+}
+
+build() {
+ cd docker
+ export AUTO_GOPATH=1
+ hack/make.sh dynbinary
+ # man pages
+ man/md2man-all.sh
+}
+
+#check() {
+# cd docker
+# ./hack/make.sh dyntest
+#}
+
+package() {
+ cd 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"
+ 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 "$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:
Copied: docker/repos/community-testing-x86_64/docker.install (from rev 140083, docker/trunk/docker.install)
===================================================================
--- community-testing-x86_64/docker.install (rev 0)
+++ community-testing-x86_64/docker.install 2015-09-14 12:11:53 UTC (rev 140084)
@@ -0,0 +1,13 @@
+# Arg 1: the new package version
+post_install() {
+ # create docker group (FS#38029)
+ systemd-sysusers docker.conf
+}
+
+# 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
+}
+
+# vim:set ts=2 sw=2 et:
Copied: docker/repos/community-testing-x86_64/docker.sysusers (from rev 140083, docker/trunk/docker.sysusers)
===================================================================
--- community-testing-x86_64/docker.sysusers (rev 0)
+++ community-testing-x86_64/docker.sysusers 2015-09-14 12:11:53 UTC (rev 140084)
@@ -0,0 +1 @@
+g docker - -
More information about the arch-commits
mailing list