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 <[email protected]>
+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 <[email protected]>
+
+Vincent Batts <[email protected]>
+---
+ 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 - -

Reply via email to