[meta-virtualization] [PATCH] nets, docker, runc, oci-*tools: go.bbclass compile fixes

Bruce Ashfield bruce.ashfield at gmail.com
Thu Sep 14 13:30:49 PDT 2017


merged.

Bruce

On Wed, Sep 13, 2017 at 3:39 PM, Jason Wessel <jason.wessel at windriver.com>
wrote:

> Recently in the oe-core the go.bbclass changed and requires the
> defition of the GO_IMPORT variable.  This was intended to simplify how
> the compilation works with go packages and it is still a work in
> progress.
>
> This patch set makes the recipes compatible to generate the same end
> result as before using the new go.bbclass from oe-core.
>
> Any patches that were included in the recipes had to have the paths
> adjusted because the new go.bbclass manipulates the notion of S to be
> S + "src" + "$GO_IMPORT" internally for the purpose of unpack, patch
> and compile.
>
> Signed-off-by: Jason Wessel <jason.wessel at windriver.com>
> ---
>  recipes-containers/docker/docker_git.bb            | 29
> +++++++++++-----------
>  ...-golang.org-x-net-pkg-until-we-move-to-go.patch | 20 +++++++--------
>  ...est-Recursively-remove-pre-existing-entri.patch |  4 +--
>  ...est-Split-unpackLayerEntry-into-its-own-f.patch |  4 +--
>  .../oci-image-tools/oci-image-tools_git.bb         | 16 ++++++------
>  .../oci-runtime-tools/oci-runtime-tools_git.bb     | 22 ++++++++--------
>  recipes-containers/riddler/riddler_git.bb          | 14 ++++++-----
>  ...untime-spec-198f23f827eea397d4331d7eb048d.patch |  8 +++---
>  .../0001-runc-Add-console-socket-dev-null.patch    |  4 +--
>  ...-Remove-Platform-as-no-longer-in-OCI-spec.patch |  8 +++---
>  ...date-memory-specs-to-use-int64-not-uint64.patch | 12 ++++-----
>  recipes-containers/runc/runc-docker_git.bb         |  2 ++
>  recipes-containers/runc/runc.inc                   | 13 +++++-----
>  recipes-networking/netns/netns_git.bb              | 14 ++++++-----
>  14 files changed, 88 insertions(+), 82 deletions(-)
>
> diff --git a/recipes-containers/docker/docker_git.bb
> b/recipes-containers/docker/docker_git.bb
> index 1ced8f4..4d6c17c 100644
> --- a/recipes-containers/docker/docker_git.bb
> +++ b/recipes-containers/docker/docker_git.bb
> @@ -32,7 +32,9 @@ SRC_URI = "\
>
>  # Apache-2.0 for docker
>  LICENSE = "Apache-2.0"
> -LIC_FILES_CHKSUM = "file://LICENSE;md5=9740d093a080530b5c5c6573df9af45a"
> +LIC_FILES_CHKSUM = "file://src/import/LICENSE;md5=
> 9740d093a080530b5c5c6573df9af45a"
> +
> +GO_IMPORT = "import"
>
>  S = "${WORKDIR}/git"
>
> @@ -81,18 +83,17 @@ do_compile() {
>         # Set GOPATH. See 'PACKAGERS.md'. Don't rely on
>         # docker to download its dependencies but rather
>         # use dependencies packaged independently.
> -       cd ${S}
> +       cd ${S}/src/import
>         rm -rf .gopath
>         mkdir -p .gopath/src/"$(dirname "${DOCKER_PKG}")"
>         ln -sf ../../../.. .gopath/src/"${DOCKER_PKG}"
>
>         mkdir -p .gopath/src/github.com/docker
> -       ln -sf ../../../../../libnetwork .gopath/src/github.com/docker/
> libnetwork
> -       ln -sf ../../../../../cli .gopath/src/github.com/docker/cli
> +       ln -sf ${WORKDIR}/libnetwork .gopath/src/github.com/docker/
> libnetwork
> +       ln -sf ${WORKDIR}/cli .gopath/src/github.com/docker/cli
>
> -       export GOPATH="${S}/.gopath:${S}/vendor:${STAGING_DIR_TARGET}/$
> {prefix}/local/go"
> +       export GOPATH="${S}/src/import/.gopath:${S}/src/import/vendor:
> ${STAGING_DIR_TARGET}/${prefix}/local/go"
>         export GOROOT="${STAGING_DIR_NATIVE}/
> ${nonarch_libdir}/${HOST_SYS}/go"
> -       cd -
>
>         # Pass the needed cflags/ldflags so that cgo
>         # can find the needed headers files and libraries
> @@ -109,10 +110,10 @@ do_compile() {
>           ./hack/make.sh dynbinary
>
>         # build the proxy
> -       go build -o ${S}/docker-proxy github.com/docker/libnetwork/
> cmd/proxy
> +       go build -o ${S}/src/import/docker-proxy
> github.com/docker/libnetwork/cmd/proxy
>
>          # build the cli
> -       go build -o ${S}/bundles/latest/dynbinary-client/docker
> github.com/docker/cli/cmd/docker
> +       go build -o ${S}/src/import/bundles/latest/dynbinary-client/docker
> github.com/docker/cli/cmd/docker
>  }
>
>  SYSTEMD_PACKAGES = "${@bb.utils.contains('DISTRO_
> FEATURES','systemd','${PN}','',d)}"
> @@ -126,15 +127,15 @@ INITSCRIPT_PARAMS_${PN} = "defaults"
>
>  do_install() {
>         mkdir -p ${D}/${bindir}
> -       cp ${S}/bundles/latest/dynbinary-client/docker
> ${D}/${bindir}/docker
> -       cp ${S}/bundles/latest/dynbinary-daemon/dockerd
> ${D}/${bindir}/dockerd
> -       cp ${S}/docker-proxy ${D}/${bindir}/docker-proxy
> +       cp ${S}/src/import/bundles/latest/dynbinary-client/docker
> ${D}/${bindir}/docker
> +       cp ${S}/src/import/bundles/latest/dynbinary-daemon/dockerd
> ${D}/${bindir}/dockerd
> +       cp ${S}/src/import/docker-proxy ${D}/${bindir}/docker-proxy
>
>         if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)};
> then
>                 install -d ${D}${systemd_unitdir}/system
> -               install -m 644 ${S}/contrib/init/systemd/docker.*
> ${D}/${systemd_unitdir}/system
> +               install -m 644 ${S}/src/import/contrib/init/systemd/docker.*
> ${D}/${systemd_unitdir}/system
>                 # replaces one copied from above with one that uses the
> local registry for a mirror
> -               install -m 644 ${S}/contrib/init/systemd/docker.service
> ${D}/${systemd_unitdir}/system
> +               install -m 644 ${S}/src/import/contrib/init/systemd/docker.service
> ${D}/${systemd_unitdir}/system
>         else
>                 install -d ${D}${sysconfdir}/init.d
>                 install -m 0755 ${WORKDIR}/docker.init
> ${D}${sysconfdir}/init.d/docker.init
> @@ -142,7 +143,7 @@ do_install() {
>
>         mkdir -p ${D}${datadir}/docker/
>         cp ${WORKDIR}/hi.Dockerfile ${D}${datadir}/docker/
> -       install -m 0755 ${S}/contrib/check-config.sh ${D}${datadir}/docker/
> +       install -m 0755 ${S}/src/import/contrib/check-config.sh
> ${D}${datadir}/docker/
>  }
>
>  inherit useradd
> diff --git a/recipes-containers/docker/files/context-use-golang.org-
> x-net-pkg-until-we-move-to-go.patch b/recipes-containers/docker/
> files/context-use-golang.org-x-net-pkg-until-we-move-to-go.patch
> index c43a7e7..7ed606f 100644
> --- a/recipes-containers/docker/files/context-use-golang.org-
> x-net-pkg-until-we-move-to-go.patch
> +++ b/recipes-containers/docker/files/context-use-golang.org-
> x-net-pkg-until-we-move-to-go.patch
> @@ -18,8 +18,8 @@ Signed-off-by: Mark Asselstine <
> mark.asselstine at windriver.com>
>   integration-cli/docker_cli_save_load_unix_test.go |    2 +-
>   5 files changed, 5 insertions(+), 5 deletions(-)
>
> ---- a/client/README.md
> -+++ b/client/README.md
> +--- a/src/import/client/README.md
> ++++ b/src/import/client/README.md
>  @@ -8,7 +8,7 @@ For example, to list running containers
>   package main
>
> @@ -29,8 +29,8 @@ Signed-off-by: Mark Asselstine <
> mark.asselstine at windriver.com>
>         "fmt"
>
>         "github.com/docker/docker/api/types"
> ---- a/client/client.go
> -+++ b/client/client.go
> +--- a/src/import/client/client.go
> ++++ b/src/import/client/client.go
>  @@ -19,7 +19,7 @@ For example, to list running containers
>         package main
>
> @@ -40,8 +40,8 @@ Signed-off-by: Mark Asselstine <
> mark.asselstine at windriver.com>
>                 "fmt"
>
>                 "github.com/docker/docker/api/types"
> ---- a/daemon/info_unix.go
> -+++ b/daemon/info_unix.go
> +--- a/src/import/daemon/info_unix.go
> ++++ b/src/import/daemon/info_unix.go
>  @@ -3,7 +3,7 @@
>   package daemon
>
> @@ -51,8 +51,8 @@ Signed-off-by: Mark Asselstine <
> mark.asselstine at windriver.com>
>         "os/exec"
>         "strings"
>
> ---- a/integration-cli/docker_api_attach_test.go
> -+++ b/integration-cli/docker_api_attach_test.go
> +--- a/src/import/integration-cli/docker_api_attach_test.go
> ++++ b/src/import/integration-cli/docker_api_attach_test.go
>  @@ -3,7 +3,7 @@ package main
>   import (
>         "bufio"
> @@ -62,8 +62,8 @@ Signed-off-by: Mark Asselstine <
> mark.asselstine at windriver.com>
>         "io"
>         "net"
>         "net/http"
> ---- a/integration-cli/docker_cli_save_load_unix_test.go
> -+++ b/integration-cli/docker_cli_save_load_unix_test.go
> +--- a/src/import/integration-cli/docker_cli_save_load_unix_test.go
> ++++ b/src/import/integration-cli/docker_cli_save_load_unix_test.go
>  @@ -3,7 +3,7 @@
>   package main
>
> diff --git a/recipes-containers/oci-image-tools/files/0001-image-
> manifest-Recursively-remove-pre-existing-entri.patch
> b/recipes-containers/oci-image-tools/files/0001-image-
> manifest-Recursively-remove-pre-existing-entri.patch
> index d2cacc2..5594f97 100644
> --- a/recipes-containers/oci-image-tools/files/0001-image-
> manifest-Recursively-remove-pre-existing-entri.patch
> +++ b/recipes-containers/oci-image-tools/files/0001-image-
> manifest-Recursively-remove-pre-existing-entri.patch
> @@ -40,8 +40,8 @@ Signed-off-by: W. Trevor King <wking at tremily.us>
>
>  diff --git a/image/manifest.go b/image/manifest.go
>  index 8834c1e5f2f0..144bd4f62219 100644
> ---- a/image/manifest.go
> -+++ b/image/manifest.go
> +--- a/src/import/image/manifest.go
> ++++ b/src/import/image/manifest.go
>  @@ -253,11 +253,27 @@ loop:
>                         continue loop
>                 }
> diff --git a/recipes-containers/oci-image-tools/files/0002-image-
> manifest-Split-unpackLayerEntry-into-its-own-f.patch
> b/recipes-containers/oci-image-tools/files/0002-image-manifest-Split-
> unpackLayerEntry-into-its-own-f.patch
> index 9cf513e..69bdcdb 100644
> --- a/recipes-containers/oci-image-tools/files/0002-image-manifest-Split-
> unpackLayerEntry-into-its-own-f.patch
> +++ b/recipes-containers/oci-image-tools/files/0002-image-manifest-Split-
> unpackLayerEntry-into-its-own-f.patch
> @@ -18,8 +18,8 @@ Signed-off-by: W. Trevor King <wking at tremily.us>
>
>  diff --git a/image/manifest.go b/image/manifest.go
>  index 144bd4f62219..dfd5a83f70e4 100644
> ---- a/image/manifest.go
> -+++ b/image/manifest.go
> +--- a/src/import/image/manifest.go
> ++++ b/src/import/image/manifest.go
>  @@ -218,116 +218,131 @@ loop:
>                         return errors.Wrapf(err, "error advancing tar
> stream")
>                 }
> diff --git a/recipes-containers/oci-image-tools/oci-image-tools_git.bb
> b/recipes-containers/oci-image-tools/oci-image-tools_git.bb
> index 393bd7b..37ac087 100644
> --- a/recipes-containers/oci-image-tools/oci-image-tools_git.bb
> +++ b/recipes-containers/oci-image-tools/oci-image-tools_git.bb
> @@ -18,8 +18,7 @@ SRC_URI = "git://github.com/
> opencontainers/image-tools.git \
>
>  SRCREV = "d0c8533b0a2c68344ff2c8aff03d7fc2dff3a108"
>  PV = "0.1.0+git${SRCPV}"
> -
> -S = "${WORKDIR}/git"
> +GO_IMPORT = "import"
>
>  inherit goarch
>  inherit go
> @@ -38,11 +37,11 @@ do_compile() {
>         #
>         # We also need to link in the ipallocator directory as that is not
> under
>         # a src directory.
> -       ln -sfn . "${S}/vendor/src"
> -       mkdir -p "${S}/vendor/src/github.com/opencontainers/image-tools/"
> -       ln -sfn "${S}/image" "${S}/vendor/src/github.com/
> opencontainers/image-tools/image"
> -       ln -sfn "${S}/version" "${S}/vendor/src/github.com/
> opencontainers/image-tools/version"
> -       export GOPATH="${S}/vendor"
> +       ln -sfn . "${S}/src/import/vendor/src"
> +       mkdir -p "${S}/src/import/vendor/src/gi
> thub.com/opencontainers/image-tools/"
> +       ln -sfn "${S}/src/import/image" "${S}/src/import/vendor/src/gi
> thub.com/opencontainers/image-tools/image"
> +       ln -sfn "${S}/src/import/version" "${S}/src/import/vendor/src/gi
> thub.com/opencontainers/image-tools/version"
> +       export GOPATH="${S}/src/import/vendor"
>
>         # Pass the needed cflags/ldflags so that cgo
>         # can find the needed headers files and libraries
> @@ -51,13 +50,14 @@ do_compile() {
>         export LDFLAGS=""
>         export CGO_CFLAGS="${BUILDSDK_CFLAGS} --sysroot=${STAGING_DIR_
> TARGET}"
>         export CGO_LDFLAGS="${BUILDSDK_LDFLAGS} --sysroot=${STAGING_DIR_
> TARGET}"
> +       cd ${S}/src/import
>
>         oe_runmake tool
>  }
>
>  do_install() {
>         install -d ${D}/${sbindir}
> -       install ${S}/oci-image-tool ${D}/${sbindir}/
> +       install ${S}/src/import/oci-image-tool ${D}/${sbindir}/
>  }
>
>  INSANE_SKIP_${PN} += "ldflags"
> diff --git a/recipes-containers/oci-runtime-tools/oci-runtime-tools_git.bb
> b/recipes-containers/oci-runtime-tools/oci-runtime-tools_git.bb
> index d73edfe..0d9c6e6 100644
> --- a/recipes-containers/oci-runtime-tools/oci-runtime-tools_git.bb
> +++ b/recipes-containers/oci-runtime-tools/oci-runtime-tools_git.bb
> @@ -1,14 +1,13 @@
>  HOMEPAGE = "https://github.com/opencontainers/runtime-tools"
>  SUMMARY = "oci-runtime-tool is a collection of tools for working with the
> OCI runtime specification"
>  LICENSE = "GPLv2"
> -LIC_FILES_CHKSUM = "file://LICENSE;md5=b355a61a394a504dacde901c958f662c"
> +LIC_FILES_CHKSUM = "file://src/import/LICENSE;md5=
> b355a61a394a504dacde901c958f662c"
>
>  SRC_URI = "git://github.com/opencontainers/runtime-tools.git"
>
>  SRCREV = "15ec1df3f6607f4223ab3915547c184cf60a30dd"
>  PV = "0.0.1+git${SRCPV}"
> -
> -S = "${WORKDIR}/git"
> +GO_IMPORT = "import"
>
>  INSANE_SKIP_${PN} += "ldflags"
>
> @@ -18,7 +17,7 @@ inherit go
>  do_compile() {
>         export GOARCH="${TARGET_GOARCH}"
>         export GOROOT="${STAGING_LIBDIR_NATIVE}/${TARGET_SYS}/go"
> -       export GOPATH="${S}:${S}/vendor"
> +       export GOPATH="${S}/src/import:${S}/src/import/vendor"
>
>         # Pass the needed cflags/ldflags so that cgo
>         # can find the needed headers files and libraries
> @@ -29,17 +28,18 @@ do_compile() {
>         export CGO_LDFLAGS="${BUILDSDK_LDFLAGS} --sysroot=${STAGING_DIR_
> TARGET}"
>
>         # link fixups for compilation
> -       rm -f ${S}/vendor/src
> -       ln -sf ./ ${S}/vendor/src
> -       mkdir -p ${S}/vendor/github.com/opencontainers/runtime-tools
> -       ln -sf ../../../../generate ${S}/vendor/github.com/
> opencontainers/runtime-tools/generate
> -       ln -sf ../../../../validate ${S}/vendor/github.com/
> opencontainers/runtime-tools/validate
> -       ln -sf ../../../../cmd ${S}/vendor/github.com/
> opencontainers/runtime-tools/cmd
> +       rm -f ${S}/src/import/vendor/src
> +       ln -sf ./ ${S}/src/import/vendor/src
> +       mkdir -p ${S}/src/import/vendor/github.com/opencontainers/runtime-
> tools
> +       ln -sf ../../../../generate ${S}/src/import/vendor/github.
> com/opencontainers/runtime-tools/generate
> +       ln -sf ../../../../validate ${S}/src/import/vendor/github.
> com/opencontainers/runtime-tools/validate
> +       ln -sf ../../../../cmd ${S}/src/import/vendor/github.
> com/opencontainers/runtime-tools/cmd
> +       cd ${S}/src/import
>
>         oe_runmake
>  }
>
>  do_install() {
>         install -d ${D}/${sbindir}
> -       install ${S}/oci-runtime-tool ${D}/${sbindir}/oci-runtime-tool
> +       install ${S}/src/import/oci-runtime-tool
> ${D}/${sbindir}/oci-runtime-tool
>  }
> diff --git a/recipes-containers/riddler/riddler_git.bb
> b/recipes-containers/riddler/riddler_git.bb
> index ae6c5ec..9f7fe6b 100644
> --- a/recipes-containers/riddler/riddler_git.bb
> +++ b/recipes-containers/riddler/riddler_git.bb
> @@ -1,11 +1,12 @@
>  HOMEPAGE = "https://github.com/jfrazelle/riddler"
>  SUMMARY = "Convert `docker inspect` to opencontainers (OCI compatible)
> runc spec."
>  LICENSE = "MIT"
> -LIC_FILES_CHKSUM = "file://LICENSE;md5=20ce4c6a4f32d6ee4a68e3a7506db3f1"
> +LIC_FILES_CHKSUM = "file://src/import/LICENSE;md5=
> 20ce4c6a4f32d6ee4a68e3a7506db3f1"
>
>  SRC_URI = "git://github.com/jfrazelle/riddler;branch=master"
>  SRCREV = "23befa0b232877b5b502b828e24161d801bd67f6"
>  PV = "0.1.0+git${SRCPV}"
> +GO_IMPORT = "import"
>
>  S = "${WORKDIR}/git"
>
> @@ -26,10 +27,10 @@ do_compile() {
>         #
>         # We also need to link in the ipallocator directory as that is not
> under
>         # a src directory.
> -       ln -sfn . "${S}/vendor/src"
> -       mkdir -p "${S}/vendor/src/github.com/jessfraz/riddler"
> -       ln -sfn "${S}/parse" "${S}/vendor/src/github.com/
> jessfraz/riddler/parse"
> -       export GOPATH="${S}/vendor"
> +       ln -sfn . "${S}/src/import/vendor/src"
> +       mkdir -p "${S}/src/import/vendor/src/github.com/jessfraz/riddler"
> +       ln -sfn "${S}/src/import/parse" "${S}/src/import/vendor/src/gi
> thub.com/jessfraz/riddler/parse"
> +       export GOPATH="${S}/src/import/vendor"
>
>         # Pass the needed cflags/ldflags so that cgo
>         # can find the needed headers files and libraries
> @@ -38,11 +39,12 @@ do_compile() {
>         export LDFLAGS=""
>         export CGO_CFLAGS="${BUILDSDK_CFLAGS} --sysroot=${STAGING_DIR_
> TARGET}"
>         export CGO_LDFLAGS="${BUILDSDK_LDFLAGS} --sysroot=${STAGING_DIR_
> TARGET}"
> +       cd ${S}/src/import
>
>         oe_runmake static
>  }
>
>  do_install() {
>         install -d ${D}/${sbindir}
> -       install ${S}/riddler ${D}/${sbindir}/riddler
> +       install ${S}/src/import/riddler ${D}/${sbindir}/riddler
>  }
> diff --git a/recipes-containers/runc/runc-docker/0001-Update-to-
> runtime-spec-198f23f827eea397d4331d7eb048d.patch
> b/recipes-containers/runc/runc-docker/0001-Update-to-runtime-spec-
> 198f23f827eea397d4331d7eb048d.patch
> index bc1e9a2..bcc76fc 100644
> --- a/recipes-containers/runc/runc-docker/0001-Update-to-runtime-spec-
> 198f23f827eea397d4331d7eb048d.patch
> +++ b/recipes-containers/runc/runc-docker/0001-Update-to-runtime-spec-
> 198f23f827eea397d4331d7eb048d.patch
> @@ -14,8 +14,8 @@ Signed-off-by: Justin Cormack <justin.cormack at docker.com
> >
>
>  diff --git a/vendor.conf b/vendor.conf
>  index e23e7ea7..09a8a924 100644
> ---- a/vendor.conf
> -+++ b/vendor.conf
> +--- a/src/import/vendor.conf
> ++++ b/src/import/vendor.conf
>  @@ -1,7 +1,7 @@
>   # OCI runtime-spec. When updating this, make sure you use a version tag
> rather
>   # than a commit ID so it's much more obvious what version of the spec we
> are
> @@ -27,8 +27,8 @@ index e23e7ea7..09a8a924 100644
>   github.com/opencontainers/selinux v1.0.0-rc1
>  diff --git a/vendor/github.com/opencontainers/runtime-spec/
> specs-go/config.go b/vendor/github.com/opencontainers/runtime-spec/
> specs-go/config.go
>  index 8bf8d924..68ab112e 100644
> ---- a/vendor/github.com/opencontainers/runtime-spec/specs-go/config.go
> -+++ b/vendor/github.com/opencontainers/runtime-spec/specs-go/config.go
> +--- a/src/import/vendor/github.com/opencontainers/runtime-
> spec/specs-go/config.go
> ++++ b/src/import/vendor/github.com/opencontainers/runtime-
> spec/specs-go/config.go
>  @@ -6,8 +6,6 @@ import "os"
>   type Spec struct {
>         // Version of the Open Container Runtime Specification with which
> the bundle complies.
> diff --git a/recipes-containers/runc/runc-docker/0001-runc-Add-console-socket-dev-null.patch
> b/recipes-containers/runc/runc-docker/0001-runc-Add-
> console-socket-dev-null.patch
> index f49adfb..48c1250 100644
> --- a/recipes-containers/runc/runc-docker/0001-runc-Add-
> console-socket-dev-null.patch
> +++ b/recipes-containers/runc/runc-docker/0001-runc-Add-
> console-socket-dev-null.patch
> @@ -14,8 +14,8 @@ Signed-off-by: Jason Wessel <jason.wessel at windriver.com>
>
>  diff --git a/utils_linux.go b/utils_linux.go
>  index 8085f7fe..e6d31b35 100644
> ---- a/utils_linux.go
> -+++ b/utils_linux.go
> +--- a/src/import/utils_linux.go
> ++++ b/src/import/utils_linux.go
>  @@ -227,6 +227,11 @@ type runner struct {
>   }
>
> diff --git a/recipes-containers/runc/runc-docker/0002-Remove-
> Platform-as-no-longer-in-OCI-spec.patch b/recipes-containers/runc/
> runc-docker/0002-Remove-Platform-as-no-longer-in-OCI-spec.patch
> index 6ec286a..7970dec 100644
> --- a/recipes-containers/runc/runc-docker/0002-Remove-
> Platform-as-no-longer-in-OCI-spec.patch
> +++ b/recipes-containers/runc/runc-docker/0002-Remove-
> Platform-as-no-longer-in-OCI-spec.patch
> @@ -13,8 +13,8 @@ Signed-off-by: Justin Cormack <justin.cormack at docker.com
> >
>
>  diff --git a/libcontainer/specconv/example.go b/libcontainer/specconv/
> example.go
>  index 33134116..d6621194 100644
> ---- a/libcontainer/specconv/example.go
> -+++ b/libcontainer/specconv/example.go
> +--- a/src/import/libcontainer/specconv/example.go
> ++++ b/src/import/libcontainer/specconv/example.go
>  @@ -2,7 +2,6 @@ package specconv
>
>   import (
> @@ -36,8 +36,8 @@ index 33134116..d6621194 100644
>                         Readonly: true,
>  diff --git a/spec.go b/spec.go
>  index 92d38f57..876937d2 100644
> ---- a/spec.go
> -+++ b/spec.go
> +--- a/src/import/spec.go
> ++++ b/src/import/spec.go
>  @@ -7,7 +7,6 @@ import (
>         "fmt"
>         "io/ioutil"
> diff --git a/recipes-containers/runc/runc-docker/0003-Update-
> memory-specs-to-use-int64-not-uint64.patch b/recipes-containers/runc/
> runc-docker/0003-Update-memory-specs-to-use-int64-not-uint64.patch
> index 9cb3492..50a9b7f 100644
> --- a/recipes-containers/runc/runc-docker/0003-Update-
> memory-specs-to-use-int64-not-uint64.patch
> +++ b/recipes-containers/runc/runc-docker/0003-Update-
> memory-specs-to-use-int64-not-uint64.patch
> @@ -20,8 +20,8 @@ Signed-off-by: Justin Cormack <justin.cormack at docker.com
> >
>
>  diff --git a/libcontainer/cgroups/fs/memory.go b/libcontainer/cgroups/fs/
> memory.go
>  index da2cc9f8..b739c631 100644
> ---- a/libcontainer/cgroups/fs/memory.go
> -+++ b/libcontainer/cgroups/fs/memory.go
> +--- a/src/import/libcontainer/cgroups/fs/memory.go
> ++++ b/src/import/libcontainer/cgroups/fs/memory.go
>  @@ -73,14 +73,14 @@ func EnableKernelMemoryAccounting(path string) error
> {
>         // until a limit is set on the cgroup and limit cannot be set once
> the
>         // cgroup has children, or if there are already tasks in the
> cgroup.
> @@ -123,8 +123,8 @@ index da2cc9f8..b739c631 100644
>         }
>  diff --git a/libcontainer/configs/cgroup_linux.go
> b/libcontainer/configs/cgroup_linux.go
>  index 3e0509de..e15a662f 100644
> ---- a/libcontainer/configs/cgroup_linux.go
> -+++ b/libcontainer/configs/cgroup_linux.go
> +--- a/src/import/libcontainer/configs/cgroup_linux.go
> ++++ b/src/import/libcontainer/configs/cgroup_linux.go
>  @@ -43,19 +43,19 @@ type Resources struct {
>         Devices []*Device `json:"devices"`
>
> @@ -152,8 +152,8 @@ index 3e0509de..e15a662f 100644
>         CpuShares uint64 `json:"cpu_shares"`
>  diff --git a/update.go b/update.go
>  index 0ea90d60..133be999 100644
> ---- a/update.go
> -+++ b/update.go
> +--- a/src/import/update.go
> ++++ b/src/import/update.go
>  @@ -124,11 +124,11 @@ other options are ignored.
>
>                 r := specs.LinuxResources{
> diff --git a/recipes-containers/runc/runc-docker_git.bb
> b/recipes-containers/runc/runc-docker_git.bb
> index f412c84..9735325 100644
> --- a/recipes-containers/runc/runc-docker_git.bb
> +++ b/recipes-containers/runc/runc-docker_git.bb
> @@ -10,6 +10,8 @@ SRC_URI = "git://github.com/docker/runc.
> git;nobranch=1;name=runc-docker \
>             file://0001-runc-Add-console-socket-dev-null.patch \
>            "
>
> +GO_IMPORT = "import"
> +
>  RUNC_VERSION = "1.0.0-rc3"
>  PROVIDES += "virtual/runc"
>  RPROVIDES_${PN} = "virtual/runc"
> diff --git a/recipes-containers/runc/runc.inc b/recipes-containers/runc/
> runc.inc
> index dbc83c2..83d5f86 100644
> --- a/recipes-containers/runc/runc.inc
> +++ b/recipes-containers/runc/runc.inc
> @@ -4,7 +4,7 @@ DESCRIPTION = "runc is a CLI tool for spawning and running
> containers according
>
>  # Apache-2.0 for containerd
>  LICENSE = "Apache-2.0"
> -LIC_FILES_CHKSUM = "file://LICENSE;md5=435b266b3899aa8a959f17d41c56def8"
> +LIC_FILES_CHKSUM = "file://src/import/LICENSE;md5=
> 435b266b3899aa8a959f17d41c56def8"
>
>  S = "${WORKDIR}/git"
>
> @@ -26,20 +26,19 @@ do_compile() {
>         # Set GOPATH. See 'PACKAGERS.md'. Don't rely on
>         # docker to download its dependencies but rather
>         # use dependencies packaged independently.
> -       cd ${S}
> +       cd ${S}/src/import
>         rm -rf .gopath
>         dname=`dirname "${LIBCONTAINER_PACKAGE}"`
>         bname=`basename "${LIBCONTAINER_PACKAGE}"`
>         mkdir -p .gopath/src/${dname}
>
>         (cd .gopath/src/${dname}; ln -sf ../../../../../${bname} ${bname})
> -       export GOPATH="${S}/.gopath:${S}/vendor:${STAGING_DIR_TARGET}/$
> {prefix}/local/go"
> +       export GOPATH="${S}/src/import/.gopath:${S}/src/import/vendor:
> ${STAGING_DIR_TARGET}/${prefix}/local/go"
>         export GOROOT="${STAGING_DIR_NATIVE}/
> ${nonarch_libdir}/${HOST_SYS}/go"
> -       cd -
>
>         # Fix up symlink for go-cross compiler
> -       rm -f ${S}/vendor/src
> -       ln -sf ./ ${S}/vendor/src
> +       rm -f ${S}/src/import/vendor/src
> +       ln -sf ./ ${S}/src/import/vendor/src
>
>         # Pass the needed cflags/ldflags so that cgo
>         # can find the needed headers files and libraries
> @@ -55,7 +54,7 @@ do_compile() {
>  do_install() {
>         mkdir -p ${D}/${bindir}
>
> -       cp ${S}/runc ${D}/${bindir}/runc
> +       cp ${S}/src/import/runc ${D}/${bindir}/runc
>         ln -sf runc ${D}/${bindir}/docker-runc
>  }
>
> diff --git a/recipes-networking/netns/netns_git.bb
> b/recipes-networking/netns/netns_git.bb
> index 641d55f..8e771f5 100644
> --- a/recipes-networking/netns/netns_git.bb
> +++ b/recipes-networking/netns/netns_git.bb
> @@ -1,11 +1,12 @@
>  HOMEPAGE = "https://github.com/jfrazelle/netns"
>  SUMMARY = "Runc hook for setting up default bridge networking."
>  LICENSE = "MIT"
> -LIC_FILES_CHKSUM = "file://LICENSE;md5=20ce4c6a4f32d6ee4a68e3a7506db3f1"
> +LIC_FILES_CHKSUM = "file://src/import/LICENSE;md5=
> 20ce4c6a4f32d6ee4a68e3a7506db3f1"
>
>  SRC_URI = "git://github.com/jessfraz/netns;branch=master"
>  SRCREV = "85b1ab9fcccbaa404a2636b52a48bbde02437cf7"
>  PV = "0.1.0+git${SRCPV}"
> +GO_IMPORT = "import"
>
>  S = "${WORKDIR}/git"
>
> @@ -22,10 +23,10 @@ do_compile() {
>         #
>         # We also need to link in the ipallocator directory as that is not
> under
>         # a src directory.
> -       ln -sfn . "${S}/vendor/src"
> -       mkdir -p "${S}/vendor/src/github.com/jessfraz/netns"
> -       ln -sfn "${S}/ipallocator" "${S}/vendor/src/github.com/
> jessfraz/netns/ipallocator"
> -       export GOPATH="${S}/vendor"
> +       ln -sfn . "${S}/src/import/vendor/src"
> +       mkdir -p "${S}/src/import/vendor/src/github.com/jessfraz/netns"
> +       ln -sfn "${S}/src/import/ipallocator" "${S}/src/import/vendor/src/
> github.com/jessfraz/netns/ipallocator"
> +       export GOPATH="${S}/src/import/vendor"
>
>         # Pass the needed cflags/ldflags so that cgo
>         # can find the needed headers files and libraries
> @@ -35,10 +36,11 @@ do_compile() {
>         export CGO_CFLAGS="${BUILDSDK_CFLAGS} --sysroot=${STAGING_DIR_
> TARGET}"
>         export CGO_LDFLAGS="${BUILDSDK_LDFLAGS} --sysroot=${STAGING_DIR_
> TARGET}"
>
> +       cd ${S}/src/import
>         oe_runmake static
>  }
>
>  do_install() {
>         install -d ${D}/${sbindir}
> -       install ${S}/netns ${D}/${sbindir}/netns
> +       install ${S}/src/import/netns ${D}/${sbindir}/netns
>  }
> --
> 2.11.0
>
> --
> _______________________________________________
> meta-virtualization mailing list
> meta-virtualization at yoctoproject.org
> https://lists.yoctoproject.org/listinfo/meta-virtualization
>



-- 
"Thou shalt not follow the NULL pointer, for chaos and madness await thee
at its end"
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.yoctoproject.org/pipermail/meta-virtualization/attachments/20170914/bfb55e50/attachment-0001.html>


More information about the meta-virtualization mailing list