Git-Url: 
http://git.frugalware.org/gitweb/gitweb.cgi?p=frugalware-current.git;a=commitdiff;h=6b00a69458799e7a898ef47434dd7c304a6174ce

commit 6b00a69458799e7a898ef47434dd7c304a6174ce
Author: DeX77 <[email protected]>
Date:   Wed Oct 14 10:36:20 2015 +0200

docker-1.8.3-1-x86_64

* version bump

diff --git a/source/apps-extra/docker/FrugalBuild 
b/source/apps-extra/docker/FrugalBuild
index 88b8581..8120a02 100644
--- a/source/apps-extra/docker/FrugalBuild
+++ b/source/apps-extra/docker/FrugalBuild
@@ -1,11 +1,9 @@
# Compiling Time: 0.33 SBU
# Maintainer: DeX77 <[email protected]>

-options+=('asneeded')
-
pkgname=docker
-pkgver=1.8.1
-pkgextraver="d12ea79"
+pkgver=1.8.3
+pkgextraver="f4bf5c7"
pkgrel=1
pkgdesc="Docker - the Linux container runtime"
archs=('i686' 'x86_64')
@@ -26,16 +24,22 @@ Finclude github systemd
source=(${source[@]} \

https://raw.githubusercontent.com/felixr/docker-zsh-completion/master/_docker\
-        ${pkgname}.service)
-sha1sums=('5f18bfae488279afc02b05df73231f8974c3b00e' \
+        ${pkgname}.service \
+       fix_zero-sized_field_access.patch)
+sha1sums=('b0f5a9e214c327f13309b591717bf651a1d63412' \
'9c0a8bbf4a55d58ae5f823c0595eb4b535222da6' \
-          '28c77e8cf1ce9691089d19b010631743d55587bb')
+          '28c77e8cf1ce9691089d19b010631743d55587bb' \
+          '7976779c62a2d8359f8195b8a3b416611b418770')

build() {
+       Fcd
+       Fpatchall
+
export 
GOPATH="$Fsrcdir/gopath:$Fsrcdir/gopath/src/github.com/docker/docker/vendor"

Fexec mkdir -p $Fsrcdir/gopath/src/github.com/docker
-        Fexec mv $_F_github_name-$pkgver 
$Fsrcdir/gopath/src/github.com/docker/docker
+       Fexec rm -rf $Fsrcdir/gopath/src/github.com/docker/docker
+        Fexec mv $Fsrcdir/$_F_github_name-$pkgver/ 
$Fsrcdir/gopath/src/github.com/docker/docker/

Fcd gopath/src/github.com/docker/docker
export DOCKER_GITCOMMIT=$pkgextraver
@@ -63,3 +67,5 @@ build() {
#       usr/share/doc/docker-${pkgver}

}
+
+# optimization OK
diff --git a/source/apps-extra/docker/fix_zero-sized_field_access.patch 
b/source/apps-extra/docker/fix_zero-sized_field_access.patch
new file mode 100644
index 0000000..a5777a8
--- /dev/null
+++ b/source/apps-extra/docker/fix_zero-sized_field_access.patch
@@ -0,0 +1,85 @@
+From 63b75226adcdb6c1ca663eb1dbca4f25552ed179 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]>
+---
+ 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 2eee330..a80736a 100644
+--- a/daemon/graphdriver/devmapper/deviceset.go
++++ b/daemon/graphdriver/devmapper/deviceset.go
+@@ -1482,12 +1482,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
+ }
_______________________________________________
Frugalware-git mailing list
[email protected]
http://frugalware.org/mailman/listinfo/frugalware-git

Reply via email to