Browse code

Fix compilation on 32 bit systems

* Update runc commit to ad0f525
* Update buildkit to dbf67a6

Signed-off-by: Eli Uriegas <eli.uriegas@docker.com>

Eli Uriegas authored on 2018/06/16 03:19:55
Showing 6 changed files
... ...
@@ -26,7 +26,7 @@ github.com/imdario/mergo v0.3.5
26 26
 golang.org/x/sync fd80eb99c8f653c847d294a001bdf2a3a6f768f5
27 27
 
28 28
 # buildkit
29
-github.com/moby/buildkit b062a2d8ddbaa477c25c63d68a9cffbb43f6e474
29
+github.com/moby/buildkit dbf67a691ce77023a0a5ce9b005298631f8bbb4e
30 30
 github.com/tonistiigi/fsutil 8abad97ee3969cdf5e9c367f46adba2c212b3ddb
31 31
 github.com/grpc-ecosystem/grpc-opentracing 8e809c8a86450a29b90dcc9efbf062d0fe6d9746
32 32
 github.com/opentracing/opentracing-go 1361b9cd60be79c4c3a7fa9841b3c132e40066a7
... ...
@@ -75,7 +75,7 @@ github.com/pborman/uuid v1.0
75 75
 google.golang.org/grpc v1.12.0
76 76
 
77 77
 # This does not need to match RUNC_COMMIT as it is used for helper packages but should be newer or equal
78
-github.com/opencontainers/runc 0e561642f81e84ebd0b3afd6ec510c75a2ccb71b
78
+github.com/opencontainers/runc ad0f5255060d36872be04de22f8731f38ef2d7b1
79 79
 github.com/opencontainers/runtime-spec v1.0.1
80 80
 github.com/opencontainers/image-spec v1.0.1
81 81
 github.com/seccomp/libseccomp-golang 32f571b70023028bd57d9288c20efbcb237f3ce0
... ...
@@ -1,5 +1,3 @@
1
-### Important: This repository is in an early development phase
2
-
3 1
 [![asciicinema example](https://asciinema.org/a/gPEIEo1NzmDTUu2bEPsUboqmU.png)](https://asciinema.org/a/gPEIEo1NzmDTUu2bEPsUboqmU)
4 2
 
5 3
 
... ...
@@ -29,6 +27,16 @@ Read the proposal from https://github.com/moby/moby/issues/32925
29 29
 
30 30
 Introductory blog post https://blog.mobyproject.org/introducing-buildkit-17e056cc5317
31 31
 
32
+### Used by
33
+
34
+[Moby](https://github.com/moby/moby/pull/37151)
35
+
36
+[img](https://github.com/genuinetools/img)
37
+
38
+[OpenFaaS Cloud](https://github.com/openfaas/openfaas-cloud)
39
+
40
+[container build interface](https://github.com/containerbuilding/cbi)
41
+
32 42
 ### Quick start
33 43
 
34 44
 Dependencies:
... ...
@@ -83,7 +83,7 @@ func ToRootlessWithContext(ctx RootlessContext, spec *specs.Spec, opts *Rootless
83 83
 
84 84
 	// Add mappings for the current user.
85 85
 	if ctx.InUserNS {
86
-		uNextContainerID := 0
86
+		uNextContainerID := int64(0)
87 87
 		sort.Sort(idmapSorter(ctx.UIDMap))
88 88
 		for _, uidmap := range ctx.UIDMap {
89 89
 			spec.Linux.UIDMappings = append(spec.Linux.UIDMappings,
... ...
@@ -94,7 +94,7 @@ func ToRootlessWithContext(ctx RootlessContext, spec *specs.Spec, opts *Rootless
94 94
 				})
95 95
 			uNextContainerID += uidmap.Count
96 96
 		}
97
-		gNextContainerID := 0
97
+		gNextContainerID := int64(0)
98 98
 		sort.Sort(idmapSorter(ctx.GIDMap))
99 99
 		for _, gidmap := range ctx.GIDMap {
100 100
 			spec.Linux.GIDMappings = append(spec.Linux.GIDMappings,
... ...
@@ -118,7 +118,7 @@ func ToRootlessWithContext(ctx RootlessContext, spec *specs.Spec, opts *Rootless
118 118
 			Size:        1,
119 119
 		}}
120 120
 		if opts.MapSubUIDGID {
121
-			uNextContainerID := 1
121
+			uNextContainerID := int64(1)
122 122
 			sort.Sort(subIDSorter(ctx.SubUIDs))
123 123
 			for _, subuid := range ctx.SubUIDs {
124 124
 				spec.Linux.UIDMappings = append(spec.Linux.UIDMappings,
... ...
@@ -129,7 +129,7 @@ func ToRootlessWithContext(ctx RootlessContext, spec *specs.Spec, opts *Rootless
129 129
 					})
130 130
 				uNextContainerID += subuid.Count
131 131
 			}
132
-			gNextContainerID := 1
132
+			gNextContainerID := int64(1)
133 133
 			sort.Sort(subIDSorter(ctx.SubGIDs))
134 134
 			for _, subgid := range ctx.SubGIDs {
135 135
 				spec.Linux.GIDMappings = append(spec.Linux.GIDMappings,
... ...
@@ -18,7 +18,7 @@ github.com/gogo/googleapis 08a7655d27152912db7aaf4f983275eaf8d128ef
18 18
 github.com/golang/protobuf v1.1.0
19 19
 github.com/containerd/continuity d3c23511c1bf5851696cba83143d9cbcd666869b
20 20
 github.com/opencontainers/image-spec v1.0.1
21
-github.com/opencontainers/runc 0e561642f81e84ebd0b3afd6ec510c75a2ccb71b
21
+github.com/opencontainers/runc ad0f5255060d36872be04de22f8731f38ef2d7b1
22 22
 github.com/Microsoft/go-winio v0.4.7
23 23
 github.com/containerd/fifo 3d5202aec260678c48179c56f40e6f38a095738c
24 24
 github.com/opencontainers/runtime-spec v1.0.1
... ...
@@ -63,5 +63,5 @@ github.com/opentracing-contrib/go-stdlib b1a47cfbdd7543e70e9ef3e73d0802ad306cc1c
63 63
 github.com/opencontainers/selinux 74a747aeaf2d66097b6908f572794f49f07dda2c
64 64
 
65 65
 # used by dockerfile tests
66
-github.com/gotestyourself/gotestyourself cf3a5ab914a2efa8bc838d09f5918c1d44d029
66
+gotest.tools v2.1.0
67 67
 github.com/google/go-cmp v0.2.0
... ...
@@ -123,8 +123,8 @@ func UIDMapInUserNS(uidmap []user.IDMap) bool {
123 123
 }
124 124
 
125 125
 // GetParentNSeuid returns the euid within the parent user namespace
126
-func GetParentNSeuid() int {
127
-	euid := os.Geteuid()
126
+func GetParentNSeuid() int64 {
127
+	euid := int64(os.Geteuid())
128 128
 	uidmap, err := user.CurrentProcessUIDMap()
129 129
 	if err != nil {
130 130
 		// This kernel-provided file only exists if user namespaces are supported
... ...
@@ -78,15 +78,15 @@ func groupFromOS(g *user.Group) (Group, error) {
78 78
 // SubID represents an entry in /etc/sub{u,g}id
79 79
 type SubID struct {
80 80
 	Name  string
81
-	SubID int
82
-	Count int
81
+	SubID int64
82
+	Count int64
83 83
 }
84 84
 
85 85
 // IDMap represents an entry in /proc/PID/{u,g}id_map
86 86
 type IDMap struct {
87
-	ID       int
88
-	ParentID int
89
-	Count    int
87
+	ID       int64
88
+	ParentID int64
89
+	Count    int64
90 90
 }
91 91
 
92 92
 func parseLine(line string, v ...interface{}) {
... ...
@@ -113,6 +113,8 @@ func parseParts(parts []string, v ...interface{}) {
113 113
 		case *int:
114 114
 			// "numbers", with conversion errors ignored because of some misbehaving configuration files.
115 115
 			*e, _ = strconv.Atoi(p)
116
+		case *int64:
117
+			*e, _ = strconv.ParseInt(p, 10, 64)
116 118
 		case *[]string:
117 119
 			// Comma-separated lists.
118 120
 			if p != "" {
... ...
@@ -122,7 +124,7 @@ func parseParts(parts []string, v ...interface{}) {
122 122
 			}
123 123
 		default:
124 124
 			// Someone goof'd when writing code using this function. Scream so they can hear us.
125
-			panic(fmt.Sprintf("parseLine only accepts {*string, *int, *[]string} as arguments! %#v is not a pointer!", e))
125
+			panic(fmt.Sprintf("parseLine only accepts {*string, *int, *int64, *[]string} as arguments! %#v is not a pointer!", e))
126 126
 		}
127 127
 	}
128 128
 }