Accepting request 387351 from Virtualization:containers

1

OBS-URL: https://build.opensuse.org/request/show/387351
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/docker?expand=0&rev=32
This commit is contained in:
Dominique Leuenberger 2016-04-12 17:38:27 +00:00 committed by Git OBS Bridge
commit 08173f430d
4 changed files with 81 additions and 37 deletions

View File

@ -1,3 +1,17 @@
-------------------------------------------------------------------
Fri Apr 8 13:27:55 UTC 2016 - dmueller@suse.com
- use go-lang for aarch64:
- drop fix_platform_type_arm.patch (works around a gcc-go bug, so
unnecessary)
-------------------------------------------------------------------
Thu Apr 7 09:35:40 UTC 2016 - asarai@suse.de
- Add patch from upstream (https://github.com/docker/docker/pull/21723) to fix
compilation on Factory and Tumbleweed (which have btrfsprogs >= 4.5).
+ fix-btrfs-ioctl-structure.patch bnc#974208
-------------------------------------------------------------------
Tue Mar 22 15:27:26 UTC 2016 - fcastelli@suse.com

View File

@ -21,7 +21,7 @@
%define docker_migration_testfile %{docker_store}/.suse-image-migration-v1to2-complete
%define git_version 9e83765
%define go_arches %ix86 x86_64
%define go_arches %ix86 x86_64 aarch64
Name: docker
Version: 1.10.3
Release: 0
@ -45,10 +45,12 @@ Source7: README_SUSE.md
Source8: docker-audit.rules
# TODO: remove once we figure out what is wrong with iptables on ppc64le
Source100: sysconfig.docker.ppc64le
Patch0: fix_platform_type_arm.patch
Patch1: gcc5_socket_workaround.patch
Patch2: fix-docker-init.patch
Patch3: fix-apparmor.patch
# TODO: Remove this once we update to Docker 1.11.0. This has been merged in
# https://github.com/docker/docker/pull/21723
Patch4: fix-btrfs-ioctl-structure.patch
# Required to overcome some limitations of gcc-go: https://groups.google.com/forum/#!msg/golang-nuts/SlGCPYkjxo4/4DjcjXRCqAkJ
# Right now docker passes the sha1sum of the dockerinit binary to the docker binary at build time
# We cannot do that, right now a quick and really dirty way to get it running is
@ -153,7 +155,6 @@ Test package for docker. It contains the source code and the tests.
%prep
%setup -q -n %{name}-%{version}
%patch0 -p1
# 1330 is Tumbleweed after leap has been released
# gcc5-go in Tumbleweed includes this commit
# https://github.com/golang/gofrontend/commit/a850225433a66a58613c22185c3b09626f5545eb
@ -166,6 +167,7 @@ Test package for docker. It contains the source code and the tests.
%endif
%patch2 -p1
%patch3 -p1
%patch4 -p1
%ifnarch %go_arches
%patch101 -p1
%patch102 -p1

View File

@ -0,0 +1,48 @@
From a038cccf88998814249a7a40b71a33a680e3f02f Mon Sep 17 00:00:00 2001
From: Julio Montes <imc.coder@gmail.com>
Date: Fri, 1 Apr 2016 08:58:29 -0600
Subject: [PATCH] Fix compilation errors with btrfs-progs-4.5
btrfs-progs-4.5 introduces device delete by devid
for this reason btrfs_ioctl_vol_args_v2's name was encapsulated
in a union
this patch is for setting btrfs_ioctl_vol_args_v2's name
using a C function in order to preserve compatibility
with all btrfs-progs versions
Signed-off-by: Julio Montes <imc.coder@gmail.com>
Signed-off-by: Aleksa Sarai <asarai@suse.de>
---
daemon/graphdriver/btrfs/btrfs.go | 11 ++++++++---
1 file changed, 8 insertions(+), 3 deletions(-)
Index: docker-1.10.3/daemon/graphdriver/btrfs/btrfs.go
===================================================================
--- docker-1.10.3.orig/daemon/graphdriver/btrfs/btrfs.go
+++ docker-1.10.3/daemon/graphdriver/btrfs/btrfs.go
@@ -7,6 +7,10 @@ package btrfs
#include <dirent.h>
#include <btrfs/ioctl.h>
#include <btrfs/ctree.h>
+
+static void set_name_btrfs_ioctl_vol_args_v2(struct btrfs_ioctl_vol_args_v2* btrfs_struct, const char* value) {
+ snprintf(btrfs_struct->name, BTRFS_SUBVOL_NAME_MAX, "%s", value);
+}
*/
import "C"
@@ -160,9 +164,10 @@ func subvolSnapshot(src, dest, name stri
var args C.struct_btrfs_ioctl_vol_args_v2
args.fd = C.__s64(getDirFd(srcDir))
- for i, c := range []byte(name) {
- args.name[i] = C.char(c)
- }
+
+ var cs = C.CString(name)
+ C.set_name_btrfs_ioctl_vol_args_v2(&args, cs)
+ C.free(unsafe.Pointer(cs))
_, _, errno := syscall.Syscall(syscall.SYS_IOCTL, getDirFd(destDir), C.BTRFS_IOC_SNAP_CREATE_V2,
uintptr(unsafe.Pointer(&args)))

View File

@ -1,20 +0,0 @@
diff --git a/pkg/platform/utsname_int8.go b/pkg/platform/utsname_int8.go
index 5dcbadf..a022a35 100644
--- a/pkg/platform/utsname_int8.go
+++ b/pkg/platform/utsname_int8.go
@@ -1,4 +1,4 @@
-// +build linux,386 linux,amd64 linux,arm64
+// +build linux,386 linux,amd64
// see golang's sources src/syscall/ztypes_linux_*.go that use int8
package platform
diff --git a/pkg/platform/utsname_uint8.go b/pkg/platform/utsname_uint8.go
index c9875cf..0ee937a 100644
--- a/pkg/platform/utsname_uint8.go
+++ b/pkg/platform/utsname_uint8.go
@@ -1,4 +1,4 @@
-// +build linux,arm linux,ppc64 linux,ppc64le s390x
+// +build linux,arm linux,ppc64 linux,ppc64le s390x linux,arm64 linux,aarch64
// see golang's sources src/syscall/ztypes_linux_*.go that use uint8
package platform