diff --git a/packages/addons/addon-depends/containerd/package.mk b/packages/addons/addon-depends/containerd/package.mk index 1ba5a271ca..51c7f420df 100644 --- a/packages/addons/addon-depends/containerd/package.mk +++ b/packages/addons/addon-depends/containerd/package.mk @@ -1,12 +1,13 @@ # SPDX-License-Identifier: GPL-2.0-or-later # Copyright (C) 2009-2016 Lukas Rusak (lrusak@libreelec.tv) +# Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv) PKG_NAME="containerd" -PKG_VERSION="06b9cb3" -PKG_SHA256="4d2b6e30bcc6c4bb901d6b9f19b5ac1d4a2d9b17075a9b1f110102920d01f64a" +PKG_VERSION="c4446665cb9c30056f4998ed953e6d4ff22c7c39" # v1.2.0 +PKG_SHA256="0bd3370f769c25f077445b77266a0afba6fe60b9caa443153e604d8727f2a891" PKG_LICENSE="APL" PKG_SITE="https://containerd.tools/" -PKG_URL="https://github.com/docker/containerd/archive/${PKG_VERSION}.tar.gz" +PKG_URL="https://github.com/containerd/containerd/archive/$PKG_VERSION.tar.gz" PKG_DEPENDS_TARGET="toolchain go:host" PKG_LONGDESC="A daemon to control runC, built for performance and density." PKG_TOOLCHAIN="manual" @@ -37,7 +38,11 @@ pre_make_target() { export CGO_ENABLED=1 export CGO_NO_EMULATION=1 export CGO_CFLAGS=$CFLAGS - export LDFLAGS="-w -extldflags -static -X github.com/docker/containerd.GitCommit=${PKG_VERSION} -extld $CC" + # Update CONTAINERD_VERSION if you update the PKG_VERSION + export CONTAINERD_VERSION=v1.2.0 + export CONTAINERD_REVISION=$PKG_VERSION + export CONTAINERD_PKG=github.com/containerd/containerd + export LDFLAGS="-w -extldflags -static -X ${CONTAINERD_PKG}/version.Version=${CONTAINERD_VERSION} -X ${CONTAINERD_PKG}/version.Revision=${CONTAINERD_REVISION} -X ${CONTAINERD_PKG}/version.Package=${CONTAINERD_PKG} -extld $CC" export GOLANG=$TOOLCHAIN/lib/golang/bin/go export GOPATH=$PKG_BUILD/.gopath export GOROOT=$TOOLCHAIN/lib/golang @@ -53,6 +58,6 @@ pre_make_target() { make_target() { mkdir -p bin - $GOLANG build -v -o bin/containerd -a -tags "static_build" -ldflags "$LDFLAGS" ./containerd - $GOLANG build -v -o bin/containerd-shim -a -tags "static_build" -ldflags "$LDFLAGS" ./containerd-shim + $GOLANG build -v -o bin/containerd -a -tags "static_build no_btrfs" -ldflags "$LDFLAGS" ./cmd/containerd + $GOLANG build -v -o bin/containerd-shim -a -tags "static_build no_btrfs" -ldflags "$LDFLAGS" ./cmd/containerd-shim } diff --git a/packages/addons/addon-depends/go/package.mk b/packages/addons/addon-depends/go/package.mk index 17b08e8c56..39b8b602b1 100644 --- a/packages/addons/addon-depends/go/package.mk +++ b/packages/addons/addon-depends/go/package.mk @@ -1,9 +1,10 @@ # SPDX-License-Identifier: GPL-2.0-or-later # Copyright (C) 2009-2016 Lukas Rusak (lrusak@libreelec.tv) +# Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv) PKG_NAME="go" -PKG_VERSION="1.9.2" -PKG_SHA256="5fb19c45d5230a7c2380232c9fb5b7e8d6f45015003f63b1485f78c20f96bce4" +PKG_VERSION="1.10.5" +PKG_SHA256="afe38b3c6a91e7e6c2bae0cf7427d1080ed3b7d8c044504400db56c3b72bb082" PKG_LICENSE="BSD" PKG_SITE="https://golang.org" PKG_URL="https://github.com/golang/go/archive/${PKG_NAME}${PKG_VERSION}.tar.gz" diff --git a/packages/addons/addon-depends/libnetwork/package.mk b/packages/addons/addon-depends/libnetwork/package.mk index c8ca3bb1b7..4f89dcefc1 100644 --- a/packages/addons/addon-depends/libnetwork/package.mk +++ b/packages/addons/addon-depends/libnetwork/package.mk @@ -1,9 +1,10 @@ # SPDX-License-Identifier: GPL-2.0-or-later # Copyright (C) 2009-2016 Lukas Rusak (lrusak@libreelec.tv) +# Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv) PKG_NAME="libnetwork" -PKG_VERSION="7b2b1fe" -PKG_SHA256="2eee331b6ded567a36e7db708405b34032b93938682cf049025f48b96d755bf6" +PKG_VERSION="3ac297bc7fd0afec9051bbb47024c9bc1d75bf5b" +PKG_SHA256="572ce85f2c51a21c1cd55056cf8cb9ef1d447c2de9c82485233be9f851284299" PKG_LICENSE="APL" PKG_SITE="https://github.com/docker/libnetwork" PKG_URL="https://github.com/docker/libnetwork/archive/${PKG_VERSION}.tar.gz" @@ -39,9 +40,16 @@ pre_make_target() { export CGO_CFLAGS=$CFLAGS export LDFLAGS="-extld $CC" export GOLANG=$TOOLCHAIN/lib/golang/bin/go - export GOPATH=$PKG_BUILD.gopath + export GOPATH=$PKG_BUILD/.gopath export GOROOT=$TOOLCHAIN/lib/golang export PATH=$PATH:$GOROOT/bin + + mkdir -p $PKG_BUILD/.gopath + if [ -d $PKG_BUILD/vendor ]; then + mv $PKG_BUILD/vendor $PKG_BUILD/.gopath/src + fi + + ln -fs $PKG_BUILD $PKG_BUILD/.gopath/src/github.com/docker/libnetwork } make_target() { diff --git a/packages/addons/addon-depends/runc/package.mk b/packages/addons/addon-depends/runc/package.mk index b2f4dafb42..19070e0f5a 100644 --- a/packages/addons/addon-depends/runc/package.mk +++ b/packages/addons/addon-depends/runc/package.mk @@ -1,9 +1,10 @@ # SPDX-License-Identifier: GPL-2.0-or-later # Copyright (C) 2009-2016 Lukas Rusak (lrusak@libreelec.tv) +# Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv) PKG_NAME="runc" -PKG_VERSION="0351df1" -PKG_SHA256="f3c59d337e52808da93e2514ddac829dd81a2b4f19529a35301819ae2524434e" +PKG_VERSION="69663f0bd4b60df09991c08812a60108003fa340" +PKG_SHA256="994a3a0447fcbf7e37614b02aa5604d2d6b9fdb41e6870d8d3ff1138ed6e61ef" PKG_LICENSE="APL" PKG_SITE="https://github.com/opencontainers/runc" PKG_URL="https://github.com/opencontainers/runc/archive/${PKG_VERSION}.tar.gz" diff --git a/packages/addons/addon-depends/tini/package.mk b/packages/addons/addon-depends/tini/package.mk index 147cbee81b..3a5c8c573b 100644 --- a/packages/addons/addon-depends/tini/package.mk +++ b/packages/addons/addon-depends/tini/package.mk @@ -1,9 +1,10 @@ # SPDX-License-Identifier: GPL-2.0-or-later # Copyright (C) 2009-2016 Lukas Rusak (lrusak@libreelec.tv) +# Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv) PKG_NAME="tini" -PKG_VERSION="949e6fa" -PKG_SHA256="7d1ac577b44a1bd097d6684ec5090b749cdf94962f38f3ed7b46d6ec0e25c209" +PKG_VERSION="fec3683b971d9c3ef73f284f176672c44b448662" +PKG_SHA256="20ee672afa8be72f5a8334044d8c2ce31bc6f2347fa240cac9c84b6c7dbc684c" PKG_LICENSE="MIT" PKG_SITE="https://github.com/krallin/tini" PKG_URL="https://github.com/krallin/tini/archive/${PKG_VERSION}.tar.gz" diff --git a/packages/addons/service/docker/changelog.txt b/packages/addons/service/docker/changelog.txt index a820db316b..fd73503bf7 100644 --- a/packages/addons/service/docker/changelog.txt +++ b/packages/addons/service/docker/changelog.txt @@ -1,3 +1,6 @@ +118 +- Update to docker 18.06.1-ce + 117 - Update to docker 17.10 diff --git a/packages/addons/service/docker/package.mk b/packages/addons/service/docker/package.mk index 5df64f75d3..a8f33ccfe1 100644 --- a/packages/addons/service/docker/package.mk +++ b/packages/addons/service/docker/package.mk @@ -3,9 +3,9 @@ # Copyright (C) 2017-present Team LibreELEC (https://libreelec.tv) PKG_NAME="docker" -PKG_VERSION="17.10.0" -PKG_SHA256="90f54b988d5241ee0472800e139e0628ae8a58dac168bb32fdb031383f3b46be" -PKG_REV="117" +PKG_VERSION="18.06.1" +PKG_SHA256="153cb489033686260dfe7a42acbdd1753d56f7a9c2d7ad90633f0c8cce563b23" +PKG_REV="119" PKG_ARCH="any" PKG_ADDON_PROJECTS="any !WeTek_Core !WeTek_Play" PKG_LICENSE="ASL" @@ -56,22 +56,36 @@ configure_target() { export CGO_CFLAGS=$CFLAGS export LDFLAGS="-w -linkmode external -extldflags -Wl,--unresolved-symbols=ignore-in-shared-libs -extld $CC" export GOLANG=$TOOLCHAIN/lib/golang/bin/go - export GOPATH=$PKG_BUILD/.gopath:$PKG_BUILD/.gopath_cli + export GOPATH=$PKG_BUILD/.gopath_cli:$PKG_BUILD/.gopath export GOROOT=$TOOLCHAIN/lib/golang export PATH=$PATH:$GOROOT/bin mkdir -p $PKG_BUILD/.gopath mkdir -p $PKG_BUILD/.gopath_cli + PKG_ENGINE_PATH=$PKG_BUILD/components/engine PKG_CLI_PATH=$PKG_BUILD/components/cli + if [ -d $PKG_ENGINE_PATH/vendor ]; then mv $PKG_ENGINE_PATH/vendor $PKG_BUILD/.gopath/src fi + if [ -d $PKG_CLI_PATH/vendor ]; then mv $PKG_CLI_PATH/vendor $PKG_BUILD/.gopath_cli/src fi - ln -fs $PKG_ENGINE_PATH $PKG_BUILD/.gopath/src/github.com/docker/docker - ln -fs $PKG_CLI_PATH $PKG_BUILD/.gopath_cli/src/github.com/docker/cli + + cp -rf $PKG_BUILD/.gopath/src/* $PKG_BUILD/.gopath_cli/src + + mkdir -p $PKG_BUILD/.gopath_cli/src/github.com/docker/docker/builder + cp -rf $PKG_ENGINE_PATH/builder/* $PKG_BUILD/.gopath_cli/src/github.com/docker/docker/builder + + if [ ! -L $PKG_BUILD/.gopath/src/github.com/docker/docker ];then + ln -fs $PKG_ENGINE_PATH $PKG_BUILD/.gopath/src/github.com/docker/docker + fi + + if [ ! -L $PKG_BUILD/.gopath_cli/src/github.com/docker/cli ];then + ln -fs $PKG_CLI_PATH $PKG_BUILD/.gopath_cli/src/github.com/docker/cli + fi # used for docker version export GITCOMMIT=${PKG_VERSION}-ce diff --git a/packages/addons/service/docker/patches/docker-001-use-addon-storage-location.patch b/packages/addons/service/docker/patches/docker-001-use-addon-storage-location.patch index 2d9710ddc5..7ee7ea0444 100644 --- a/packages/addons/service/docker/patches/docker-001-use-addon-storage-location.patch +++ b/packages/addons/service/docker/patches/docker-001-use-addon-storage-location.patch @@ -1,8 +1,13 @@ +From 9979cbaa4d0108da552fd452294788a042766995 Mon Sep 17 00:00:00 2001 +From: 5schatten +Date: Wed, 7 Nov 2018 12:22:23 +0100 +Subject: [PATCH] use Kodi addon storage location + diff --git a/components/cli/vendor/github.com/docker/docker/registry/config_unix.go b/components/cli/vendor/github.com/docker/docker/registry/config_unix.go -index b81d24933c..954d4fa0f1 100644 +index 20fb47bcae..a023df7895 100644 --- a/components/cli/vendor/github.com/docker/docker/registry/config_unix.go +++ b/components/cli/vendor/github.com/docker/docker/registry/config_unix.go -@@ -4,7 +4,7 @@ package registry +@@ -4,7 +4,7 @@ package registry // import "github.com/docker/docker/registry" var ( // CertsDir is the directory where certificates are stored @@ -12,7 +17,7 @@ index b81d24933c..954d4fa0f1 100644 // cleanPath is used to ensure that a directory name is valid on the target diff --git a/components/cli/vendor/github.com/docker/docker/registry/endpoint_v1.go b/components/cli/vendor/github.com/docker/docker/registry/endpoint_v1.go -index d6a51bfaf7..f615521008 100644 +index 832fdb95a4..606ddfaf96 100644 --- a/components/cli/vendor/github.com/docker/docker/registry/endpoint_v1.go +++ b/components/cli/vendor/github.com/docker/docker/registry/endpoint_v1.go @@ -49,7 +49,7 @@ func validateEndpoint(endpoint *V1Endpoint) error { @@ -24,24 +29,11 @@ index d6a51bfaf7..f615521008 100644 } // If registry is insecure and HTTPS failed, fallback to HTTP. -diff --git a/components/engine/cmd/dockerd/daemon_solaris.go b/components/engine/cmd/dockerd/daemon_solaris.go -index 9ee18dad7d..f33ff4d3fe 100644 ---- a/components/engine/cmd/dockerd/daemon_solaris.go -+++ b/components/engine/cmd/dockerd/daemon_solaris.go -@@ -26,7 +26,7 @@ func setDefaultUmask() error { - } - - func getDaemonConfDir(_ string) string { -- return "/etc/docker" -+ return "/storage/.kodi/userdata/addon_data/service.system.docker/config" - } - - // setupConfigReloadTrap configures the USR2 signal to reload the configuration. diff --git a/components/engine/cmd/dockerd/daemon_unix.go b/components/engine/cmd/dockerd/daemon_unix.go -index 7909d98da5..eface33226 100644 +index 7b03e28594..74fc0cfe24 100644 --- a/components/engine/cmd/dockerd/daemon_unix.go +++ b/components/engine/cmd/dockerd/daemon_unix.go -@@ -17,7 +17,7 @@ import ( +@@ -19,7 +19,7 @@ import ( "golang.org/x/sys/unix" ) @@ -50,7 +42,7 @@ index 7909d98da5..eface33226 100644 // setDefaultUmask sets the umask to 0022 to avoid problems // caused by custom umask -@@ -32,7 +32,7 @@ func setDefaultUmask() error { +@@ -34,7 +34,7 @@ func setDefaultUmask() error { } func getDaemonConfDir(_ string) string { @@ -58,76 +50,22 @@ index 7909d98da5..eface33226 100644 + return "/storage/.kodi/userdata/addon_data/service.system.docker/config" } - // setupConfigReloadTrap configures the USR2 signal to reload the configuration. -diff --git a/components/engine/contrib/selinux-fedora-24/docker-engine-selinux/docker.fc b/components/engine/contrib/selinux-fedora-24/docker-engine-selinux/docker.fc -index d6cb0e5792..699eb9259b 100644 ---- a/components/engine/contrib/selinux-fedora-24/docker-engine-selinux/docker.fc -+++ b/components/engine/contrib/selinux-fedora-24/docker-engine-selinux/docker.fc -@@ -7,7 +7,7 @@ - /usr/lib/systemd/system/docker.service -- gen_context(system_u:object_r:docker_unit_file_t,s0) - /usr/lib/systemd/system/docker-novolume-plugin.service -- gen_context(system_u:object_r:docker_unit_file_t,s0) - --/etc/docker(/.*)? gen_context(system_u:object_r:docker_config_t,s0) -+/storage/.kodi/userdata/addon_data/service.system.docker/config(/.*)? gen_context(system_u:object_r:docker_config_t,s0) - - /var/lib/docker(/.*)? gen_context(system_u:object_r:docker_var_lib_t,s0) - /var/lib/kublet(/.*)? gen_context(system_u:object_r:docker_var_lib_t,s0) -diff --git a/components/engine/contrib/selinux-oraclelinux-7/docker-engine-selinux/docker.fc b/components/engine/contrib/selinux-oraclelinux-7/docker-engine-selinux/docker.fc -index 467d659604..1b5d574a3c 100644 ---- a/components/engine/contrib/selinux-oraclelinux-7/docker-engine-selinux/docker.fc -+++ b/components/engine/contrib/selinux-oraclelinux-7/docker-engine-selinux/docker.fc -@@ -4,7 +4,7 @@ - - /usr/lib/systemd/system/docker.service -- gen_context(system_u:object_r:docker_unit_file_t,s0) - --/etc/docker(/.*)? gen_context(system_u:object_r:docker_config_t,s0) -+/storage/.kodi/userdata/addon_data/service.system.docker/config(/.*)? gen_context(system_u:object_r:docker_config_t,s0) - - /var/lib/docker(/.*)? gen_context(system_u:object_r:docker_var_lib_t,s0) - -diff --git a/components/engine/hack/Jenkins/W2L/setup.sh b/components/engine/hack/Jenkins/W2L/setup.sh -index a3d86b857a..7bf9f6be23 100644 ---- a/components/engine/hack/Jenkins/W2L/setup.sh -+++ b/components/engine/hack/Jenkins/W2L/setup.sh -@@ -49,8 +49,8 @@ if [ -n "$DOCKER_TLS_VERIFY" ]; then - fi - certs=$(echo ~/.docker/machine/machines/$DOCKER_MACHINE_NAME) - curlopts="--cacert $certs/ca.pem --cert $certs/cert.pem --key $certs/key.pem" -- run_extra_args="-v tlscerts:/etc/docker" -- daemon_extra_args="--tlsverify --tlscacert /etc/docker/ca.pem --tlscert /etc/docker/server.pem --tlskey /etc/docker/server-key.pem" -+ run_extra_args="-v tlscerts:/storage/.kodi/userdata/addon_data/service.system.docker/config" -+ daemon_extra_args="--tlsverify --tlscacert /storage/.kodi/userdata/addon_data/service.system.docker/config/ca.pem --tlscert /storage/.kodi/userdata/addon_data/service.system.docker/config/server.pem --tlskey /storage/.kodi/userdata/addon_data/service.system.docker/config/server-key.pem" - else - protocol=http - fi -diff --git a/components/engine/integration-cli/docker_cli_authz_unix_test.go b/components/engine/integration-cli/docker_cli_authz_unix_test.go -index 8a1bd023ea..fbd650082a 100644 ---- a/components/engine/integration-cli/docker_cli_authz_unix_test.go -+++ b/components/engine/integration-cli/docker_cli_authz_unix_test.go -@@ -148,10 +148,10 @@ func (s *DockerAuthzSuite) SetUpSuite(c *check.C) { - w.Write(b) - }) - -- err := os.MkdirAll("/etc/docker/plugins", 0755) -+ err := os.MkdirAll("/storage/.kodi/userdata/addon_data/service.system.docker/config/plugins", 0755) - c.Assert(err, checker.IsNil) - -- fileName := fmt.Sprintf("/etc/docker/plugins/%s.spec", testAuthZPlugin) -+ fileName := fmt.Sprintf("/storage/.kodi/userdata/addon_data/service.system.docker/config/plugins/%s.spec", testAuthZPlugin) - err = ioutil.WriteFile(fileName, []byte(s.server.URL), 0644) - c.Assert(err, checker.IsNil) - } -@@ -200,7 +200,7 @@ func (s *DockerAuthzSuite) TearDownSuite(c *check.C) { - - s.server.Close() - -- err := os.RemoveAll("/etc/docker/plugins") -+ err := os.RemoveAll("/storage/.kodi/userdata/addon_data/service.system.docker/config/plugins") - c.Assert(err, checker.IsNil) - } - + func (cli *DaemonCli) getPlatformContainerdDaemonOpts() ([]supervisor.DaemonOpt, error) { +diff --git a/components/engine/daemon/config/config_test.go b/components/engine/daemon/config/config_test.go +index 6998ed3312..c255b62146 100644 +--- a/components/engine/daemon/config/config_test.go ++++ b/components/engine/daemon/config/config_test.go +@@ -463,7 +463,7 @@ func TestReloadSetConfigFileNotExist(t *testing.T) { + func TestReloadDefaultConfigNotExist(t *testing.T) { + skip.If(t, os.Getuid() != 0, "skipping test that requires root") + reloaded := false +- configFile := "/etc/docker/daemon.json" ++ configFile := "/storage/.kodi/userdata/addon_data/service.system.docker/config/daemon.json" + flags := pflag.NewFlagSet("test", pflag.ContinueOnError) + flags.String("config-file", configFile, "") + err := Reload(configFile, flags, func(c *Config) { diff --git a/components/engine/integration-cli/docker_cli_daemon_test.go b/components/engine/integration-cli/docker_cli_daemon_test.go -index ccf50543e9..8fe34d67d2 100644 +index 986cc27530..7a0c2805cd 100644 --- a/components/engine/integration-cli/docker_cli_daemon_test.go +++ b/components/engine/integration-cli/docker_cli_daemon_test.go @@ -546,11 +546,11 @@ func (s *DockerDaemonSuite) TestDaemonAllocatesListeningPort(c *check.C) { @@ -144,7 +82,7 @@ index ccf50543e9..8fe34d67d2 100644 if err != nil { c.Fatalf("Error opening key file") } -@@ -1199,12 +1199,12 @@ func (s *DockerDaemonSuite) TestDaemonWithWrongkey(c *check.C) { +@@ -1198,12 +1198,12 @@ func (s *DockerDaemonSuite) TestDaemonWithWrongkey(c *check.C) { Y string `json:"y"` } @@ -159,7 +97,7 @@ index ccf50543e9..8fe34d67d2 100644 if err != nil { c.Fatalf("Error reading key.json file: %s", err) } -@@ -1224,11 +1224,11 @@ func (s *DockerDaemonSuite) TestDaemonWithWrongkey(c *check.C) { +@@ -1223,11 +1223,11 @@ func (s *DockerDaemonSuite) TestDaemonWithWrongkey(c *check.C) { } // write back @@ -173,40 +111,11 @@ index ccf50543e9..8fe34d67d2 100644 if err := s.d.StartWithError(); err == nil { c.Fatalf("It should not be successful to start daemon with wrong key: %v", err) -diff --git a/components/engine/integration-cli/docker_cli_external_graphdriver_unix_test.go b/components/engine/integration-cli/docker_cli_external_graphdriver_unix_test.go -index 8e766bcc31..dc560610f1 100644 ---- a/components/engine/integration-cli/docker_cli_external_graphdriver_unix_test.go -+++ b/components/engine/integration-cli/docker_cli_external_graphdriver_unix_test.go -@@ -330,10 +330,10 @@ func (s *DockerExternalGraphdriverSuite) setUpPlugin(c *check.C, name string, ex - respond(w, &graphDriverResponse{Size: size}) - }) - -- err = os.MkdirAll("/etc/docker/plugins", 0755) -- c.Assert(err, check.IsNil, check.Commentf("error creating /etc/docker/plugins")) -+ err = os.MkdirAll("/storage/.kodi/userdata/addon_data/service.system.docker/config/plugins", 0755) -+ c.Assert(err, check.IsNil, check.Commentf("error creating /storage/.kodi/userdata/addon_data/service.system.docker/config/plugins")) - -- specFile := "/etc/docker/plugins/" + name + "." + ext -+ specFile := "/storage/.kodi/userdata/addon_data/service.system.docker/config/plugins/" + name + "." + ext - err = ioutil.WriteFile(specFile, b, 0644) - c.Assert(err, check.IsNil, check.Commentf("error writing to %s", specFile)) - } -@@ -342,8 +342,8 @@ func (s *DockerExternalGraphdriverSuite) TearDownSuite(c *check.C) { - s.server.Close() - s.jserver.Close() - -- err := os.RemoveAll("/etc/docker/plugins") -- c.Assert(err, check.IsNil, check.Commentf("error removing /etc/docker/plugins")) -+ err := os.RemoveAll("/storage/.kodi/userdata/addon_data/service.system.docker/config/plugins") -+ c.Assert(err, check.IsNil, check.Commentf("error removing /storage/.kodi/userdata/addon_data/service.system.docker/config/plugins")) - } - - func (s *DockerExternalGraphdriverSuite) TestExternalGraphDriver(c *check.C) { diff --git a/components/engine/integration-cli/docker_cli_external_volume_driver_unix_test.go b/components/engine/integration-cli/docker_cli_external_volume_driver_unix_test.go -index 2e2de972d5..a5c0b71b2b 100644 +index da8bb7e011..605a162e79 100644 --- a/components/engine/integration-cli/docker_cli_external_volume_driver_unix_test.go +++ b/components/engine/integration-cli/docker_cli_external_volume_driver_unix_test.go -@@ -268,10 +268,10 @@ func newVolumePlugin(c *check.C, name string) *volumePlugin { +@@ -267,10 +267,10 @@ func newVolumePlugin(c *check.C, name string) *volumePlugin { send(w, `{"Capabilities": { "Scope": "global" }}`) }) @@ -219,7 +128,7 @@ index 2e2de972d5..a5c0b71b2b 100644 c.Assert(err, checker.IsNil) return s } -@@ -279,7 +279,7 @@ func newVolumePlugin(c *check.C, name string) *volumePlugin { +@@ -278,7 +278,7 @@ func newVolumePlugin(c *check.C, name string) *volumePlugin { func (s *DockerExternalVolumeSuite) TearDownSuite(c *check.C) { s.volumePlugin.Close() @@ -228,7 +137,7 @@ index 2e2de972d5..a5c0b71b2b 100644 c.Assert(err, checker.IsNil) } -@@ -372,7 +372,7 @@ func hostVolumePath(name string) string { +@@ -371,7 +371,7 @@ func hostVolumePath(name string) string { // Make sure a request to use a down driver doesn't block other requests func (s *DockerExternalVolumeSuite) TestExternalVolumeDriverLookupNotBlocked(c *check.C) { @@ -238,10 +147,10 @@ index 2e2de972d5..a5c0b71b2b 100644 c.Assert(err, check.IsNil) defer os.RemoveAll(specPath) diff --git a/components/engine/integration-cli/docker_cli_network_unix_test.go b/components/engine/integration-cli/docker_cli_network_unix_test.go -index 4762e3993c..634deff67c 100644 +index d3d6256a75..a0f0ae973d 100644 --- a/components/engine/integration-cli/docker_cli_network_unix_test.go +++ b/components/engine/integration-cli/docker_cli_network_unix_test.go -@@ -209,14 +209,14 @@ func setupRemoteNetworkDrivers(c *check.C, mux *http.ServeMux, url, netDrv, ipam +@@ -208,14 +208,14 @@ func setupRemoteNetworkDrivers(c *check.C, mux *http.ServeMux, url, netDrv, ipam } }) @@ -259,7 +168,7 @@ index 4762e3993c..634deff67c 100644 err = ioutil.WriteFile(ipamFileName, []byte(url), 0644) c.Assert(err, checker.IsNil) } -@@ -228,7 +228,7 @@ func (s *DockerNetworkSuite) TearDownSuite(c *check.C) { +@@ -227,7 +227,7 @@ func (s *DockerNetworkSuite) TearDownSuite(c *check.C) { s.server.Close() @@ -269,10 +178,10 @@ index 4762e3993c..634deff67c 100644 } diff --git a/components/engine/integration-cli/docker_cli_swarm_test.go b/components/engine/integration-cli/docker_cli_swarm_test.go -index 3f32f37447..888e80dbc8 100644 +index 9f99d0c849..2d9a4b088e 100644 --- a/components/engine/integration-cli/docker_cli_swarm_test.go +++ b/components/engine/integration-cli/docker_cli_swarm_test.go -@@ -784,14 +784,14 @@ func setupRemoteGlobalNetworkPlugin(c *check.C, mux *http.ServeMux, url, netDrv, +@@ -783,14 +783,14 @@ func setupRemoteGlobalNetworkPlugin(c *check.C, mux *http.ServeMux, url, netDrv, } }) @@ -290,7 +199,7 @@ index 3f32f37447..888e80dbc8 100644 err = ioutil.WriteFile(ipamFileName, []byte(url), 0644) c.Assert(err, checker.IsNil) } -@@ -803,7 +803,7 @@ func (s *DockerSwarmSuite) TestSwarmNetworkPlugin(c *check.C) { +@@ -802,7 +802,7 @@ func (s *DockerSwarmSuite) TestSwarmNetworkPlugin(c *check.C) { setupRemoteGlobalNetworkPlugin(c, mux, s.server.URL, globalNetworkPlugin, globalIPAMPlugin) defer func() { s.server.Close() @@ -299,18 +208,67 @@ index 3f32f37447..888e80dbc8 100644 c.Assert(err, checker.IsNil) }() +diff --git a/components/engine/integration/plugin/authz/authz_plugin_test.go b/components/engine/integration/plugin/authz/authz_plugin_test.go +index d0f5d8a783..ba626c6310 100644 +--- a/components/engine/integration/plugin/authz/authz_plugin_test.go ++++ b/components/engine/integration/plugin/authz/authz_plugin_test.go +@@ -55,15 +55,15 @@ func setupTestV1(t *testing.T) func() { + ctrl = &authorizationController{} + teardown := setupTest(t) + +- err := os.MkdirAll("/etc/docker/plugins", 0755) ++ err := os.MkdirAll("/storage/.kodi/userdata/addon_data/service.system.docker/config/plugins", 0755) + assert.NilError(t, err) + +- fileName := fmt.Sprintf("/etc/docker/plugins/%s.spec", testAuthZPlugin) ++ fileName := fmt.Sprintf("/storage/.kodi/userdata/addon_data/service.system.docker/config/plugins/%s.spec", testAuthZPlugin) + err = ioutil.WriteFile(fileName, []byte(server.URL), 0644) + assert.NilError(t, err) + + return func() { +- err := os.RemoveAll("/etc/docker/plugins") ++ err := os.RemoveAll("/storage/.kodi/userdata/addon_data/service.system.docker/config/plugins") + assert.NilError(t, err) + + teardown() +diff --git a/components/engine/integration/plugin/graphdriver/external_test.go b/components/engine/integration/plugin/graphdriver/external_test.go +index 99ce60ceef..53242b1ee0 100644 +--- a/components/engine/integration/plugin/graphdriver/external_test.go ++++ b/components/engine/integration/plugin/graphdriver/external_test.go +@@ -79,7 +79,7 @@ func TestExternalGraphDriver(t *testing.T) { + + sserver.Close() + jserver.Close() +- err := os.RemoveAll("/etc/docker/plugins") ++ err := os.RemoveAll("/storage/.kodi/userdata/addon_data/service.system.docker/config/plugins") + assert.NilError(t, err) + } + +@@ -344,10 +344,10 @@ func setupPlugin(t *testing.T, ec map[string]*graphEventsCounter, ext string, mu + respond(w, &graphDriverResponse{Size: size}) + }) + +- err = os.MkdirAll("/etc/docker/plugins", 0755) ++ err = os.MkdirAll("/storage/.kodi/userdata/addon_data/service.system.docker/config/plugins", 0755) + assert.NilError(t, err) + +- specFile := "/etc/docker/plugins/" + name + "." + ext ++ specFile := "/storage/.kodi/userdata/addon_data/service.system.docker/config/plugins/" + name + "." + ext + err = ioutil.WriteFile(specFile, b, 0644) + assert.NilError(t, err) + } diff --git a/components/engine/pkg/plugins/discovery_unix.go b/components/engine/pkg/plugins/discovery_unix.go -index 693a47e394..9903633a5d 100644 +index 58058f2828..a7b449ca25 100644 --- a/components/engine/pkg/plugins/discovery_unix.go +++ b/components/engine/pkg/plugins/discovery_unix.go @@ -2,4 +2,4 @@ - package plugins + package plugins // import "github.com/docker/docker/pkg/plugins" -var specsPaths = []string{"/etc/docker/plugins", "/usr/lib/docker/plugins"} +var specsPaths = []string{"/storage/.kodi/userdata/addon_data/service.system.docker/config/plugins", "/usr/lib/docker/plugins"} diff --git a/components/engine/pkg/plugins/plugins.go b/components/engine/pkg/plugins/plugins.go -index f9033ed1bc..f7df06592a 100644 +index 28c06ff693..c24cad2b63 100644 --- a/components/engine/pkg/plugins/plugins.go +++ b/components/engine/pkg/plugins/plugins.go @@ -4,7 +4,7 @@ @@ -323,10 +281,10 @@ index f9033ed1bc..f7df06592a 100644 // its name if it exists. // diff --git a/components/engine/registry/config_unix.go b/components/engine/registry/config_unix.go -index b81d24933c..954d4fa0f1 100644 +index 20fb47bcae..a023df7895 100644 --- a/components/engine/registry/config_unix.go +++ b/components/engine/registry/config_unix.go -@@ -4,7 +4,7 @@ package registry +@@ -4,7 +4,7 @@ package registry // import "github.com/docker/docker/registry" var ( // CertsDir is the directory where certificates are stored @@ -336,7 +294,7 @@ index b81d24933c..954d4fa0f1 100644 // cleanPath is used to ensure that a directory name is valid on the target diff --git a/components/engine/registry/endpoint_v1.go b/components/engine/registry/endpoint_v1.go -index d6a51bfaf7..f615521008 100644 +index 832fdb95a4..606ddfaf96 100644 --- a/components/engine/registry/endpoint_v1.go +++ b/components/engine/registry/endpoint_v1.go @@ -49,7 +49,7 @@ func validateEndpoint(endpoint *V1Endpoint) error { diff --git a/packages/addons/service/docker/patches/docker-002-use-short-expected-commit-values.patch b/packages/addons/service/docker/patches/docker-002-use-short-expected-commit-values.patch deleted file mode 100644 index 0935af7399..0000000000 --- a/packages/addons/service/docker/patches/docker-002-use-short-expected-commit-values.patch +++ /dev/null @@ -1,22 +0,0 @@ -diff --git a/components/engine/daemon/info_unix.go b/components/engine/daemon/info_unix.go -index f43af6274f..a2c578e58b 100644 ---- a/components/engine/daemon/info_unix.go -+++ b/components/engine/daemon/info_unix.go -@@ -28,7 +28,7 @@ func (daemon *Daemon) FillPlatformInfo(v *types.Info, sysInfo *sysinfo.SysInfo) - v.DefaultRuntime = daemon.configStore.GetDefaultRuntimeName() - v.InitBinary = daemon.configStore.GetInitPath() - -- v.ContainerdCommit.Expected = dockerversion.ContainerdCommitID -+ v.ContainerdCommit.Expected = dockerversion.ContainerdCommitID[0:7] - if sv, err := daemon.containerd.GetServerVersion(context.Background()); err == nil { - v.ContainerdCommit.ID = sv.Revision - } else { -@@ -36,7 +36,7 @@ func (daemon *Daemon) FillPlatformInfo(v *types.Info, sysInfo *sysinfo.SysInfo) - v.ContainerdCommit.ID = "N/A" - } - -- v.RuncCommit.Expected = dockerversion.RuncCommitID -+ v.RuncCommit.Expected = dockerversion.RuncCommitID[0:7] - defaultRuntimeBinary := daemon.configStore.GetRuntime(daemon.configStore.GetDefaultRuntimeName()).Path - if rv, err := exec.Command(defaultRuntimeBinary, "--version").Output(); err == nil { - parts := strings.Split(strings.TrimSpace(string(rv)), "\n") diff --git a/packages/addons/service/docker/source/config/docker.conf b/packages/addons/service/docker/source/config/docker.conf index dd42259fbf..1153af8d14 100644 --- a/packages/addons/service/docker/source/config/docker.conf +++ b/packages/addons/service/docker/source/config/docker.conf @@ -1,2 +1,2 @@ -DOCKER_DAEMON_OPTS="--graph=/storage/.kodi/userdata/addon_data/service.system.docker/docker" +DOCKER_DAEMON_OPTS="--data-root=/storage/.kodi/userdata/addon_data/service.system.docker/docker" DOCKER_STORAGE_OPTS="--storage-driver=overlay2 --storage-opt overlay2.override_kernel_check=1"