diff --git a/community/docker/02-fix-unified-cgroup.patch b/community/docker/02-fix-unified-cgroup.patch new file mode 100644 index 000000000..d0e295d0a --- /dev/null +++ b/community/docker/02-fix-unified-cgroup.patch @@ -0,0 +1,13 @@ +diff --git a/contrib/init/systemd/docker.service b/contrib/init/systemd/docker.service +index f09c2d3..ab5bc8f 100644 +--- a/contrib/init/systemd/docker.service ++++ b/contrib/init/systemd/docker.service +@@ -6,7 +6,7 @@ Requires=docker.socket + + [Service] + Type=notify +-ExecStart=/usr/bin/docker daemon -H fd:// ++ExecStart=/usr/bin/docker daemon -H fd:// --exec-opt native.cgroupdriver=cgroupfs + MountFlags=slave + LimitNOFILE=1048576 + LimitNPROC=1048576 diff --git a/community/docker/PKGBUILD b/community/docker/PKGBUILD index 0d0ac2a16..c942b5f26 100644 --- a/community/docker/PKGBUILD +++ b/community/docker/PKGBUILD @@ -1,13 +1,16 @@ # $Id$ # Maintainer: Sébastien "Seblu" Luttringer +# ALARM: Kevin Mihelich +# - backport BoltDB fixes for AArch64 + pkgname=docker -pkgver=1.7.1 -pkgrel=2 +pkgver=1.9.0 +pkgrel=1 epoch=1 pkgdesc='Pack, ship and run any application as a lightweight container' arch=('x86_64') -url='http://www.docker.io/' +url='https://www.docker.com/' license=('Apache') depends=('bridge-utils' 'iproute2' 'device-mapper' 'sqlite' 'systemd') makedepends=('git' 'go' 'btrfs-progs' 'go-md2man') @@ -17,9 +20,20 @@ optdepends=('btrfs-progs: btrfs backend support' options=('!strip') install=$pkgname.install source=("git+https://github.com/docker/docker.git#tag=v$pkgver" - "$pkgname.sysusers") + "$pkgname.sysusers" + '02-fix-unified-cgroup.patch' + 'aarch64.patch') md5sums=('SKIP' - '4324edeb9adc210a2c22f44eb4cb8a74') + '8cf9900ebada61f352a03465a088da34' + '7fd0504057a60e1275b8ce3e06d53c53' + '1e8d574b55c43a76d5a1d69a7c557d4f') + +prepare() { + for _f in "${source[@]}"; do + [[ "$_f" =~ \.patch$ ]] && { msg2 "$_f"; patch -p1 -d docker < "$_f"; } + done + : +} build() { cd docker diff --git a/community/docker/aarch64.patch b/community/docker/aarch64.patch new file mode 100644 index 000000000..fbdff63d6 --- /dev/null +++ b/community/docker/aarch64.patch @@ -0,0 +1,61 @@ +diff --git a/vendor/src/github.com/boltdb/bolt/bolt_386.go b/vendor/src/github.com/boltdb/bolt/bolt_386.go +index 856f401..d2e04a0 100644 +--- a/vendor/src/github.com/boltdb/bolt/bolt_386.go ++++ b/vendor/src/github.com/boltdb/bolt/bolt_386.go +@@ -2,3 +2,6 @@ package bolt + + // maxMapSize represents the largest mmap size supported by Bolt. + const maxMapSize = 0xFFFFFFF // 256MB ++ ++// maxAllocSize is the size used when creating array pointers. ++const maxAllocSize = 0xFFFFFFF +diff --git a/vendor/src/github.com/boltdb/bolt/bolt_amd64.go b/vendor/src/github.com/boltdb/bolt/bolt_amd64.go +index 4262932..cca6b7e 100644 +--- a/vendor/src/github.com/boltdb/bolt/bolt_amd64.go ++++ b/vendor/src/github.com/boltdb/bolt/bolt_amd64.go +@@ -2,3 +2,6 @@ package bolt + + // maxMapSize represents the largest mmap size supported by Bolt. + const maxMapSize = 0xFFFFFFFFFFFF // 256TB ++ ++// maxAllocSize is the size used when creating array pointers. ++const maxAllocSize = 0x7FFFFFFF +diff --git a/vendor/src/github.com/boltdb/bolt/bolt_arm.go b/vendor/src/github.com/boltdb/bolt/bolt_arm.go +index 856f401..d2e04a0 100644 +--- a/vendor/src/github.com/boltdb/bolt/bolt_arm.go ++++ b/vendor/src/github.com/boltdb/bolt/bolt_arm.go +@@ -2,3 +2,6 @@ package bolt + + // maxMapSize represents the largest mmap size supported by Bolt. + const maxMapSize = 0xFFFFFFF // 256MB ++ ++// maxAllocSize is the size used when creating array pointers. ++const maxAllocSize = 0xFFFFFFF +diff --git a/vendor/src/github.com/boltdb/bolt/bolt_arm64.go b/vendor/src/github.com/boltdb/bolt/bolt_arm64.go +new file mode 100644 +index 0000000..6d23093 +--- /dev/null ++++ b/vendor/src/github.com/boltdb/bolt/bolt_arm64.go +@@ -0,0 +1,9 @@ ++// +build arm64 ++ ++package bolt ++ ++// maxMapSize represents the largest mmap size supported by Bolt. ++const maxMapSize = 0xFFFFFFFFFFFF // 256TB ++ ++// maxAllocSize is the size used when creating array pointers. ++const maxAllocSize = 0x7FFFFFFF +diff --git a/vendor/src/github.com/boltdb/bolt/page.go b/vendor/src/github.com/boltdb/bolt/page.go +index b3dc473..58e43c4 100644 +--- a/vendor/src/github.com/boltdb/bolt/page.go ++++ b/vendor/src/github.com/boltdb/bolt/page.go +@@ -8,7 +8,6 @@ import ( + + const pageHeaderSize = int(unsafe.Offsetof(((*page)(nil)).ptr)) + +-const maxAllocSize = 0xFFFFFFF + const minKeysPerPage = 2 + + const branchPageElementSize = int(unsafe.Sizeof(branchPageElement{})) + diff --git a/community/docker/docker.sysusers b/community/docker/docker.sysusers index b5125af9c..0f62654dc 100644 --- a/community/docker/docker.sysusers +++ b/community/docker/docker.sysusers @@ -1 +1 @@ -g docker 2 - +g docker - -