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
