Yocto 2.4
Move OpenBMC to Yocto 2.4(rocko)
Tested: Built and verified Witherspoon and Palmetto images
Change-Id: I12057b18610d6fb0e6903c60213690301e9b0c67
Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>
diff --git a/import-layers/meta-virtualization/recipes-containers/containerd/containerd-docker_git.bb b/import-layers/meta-virtualization/recipes-containers/containerd/containerd-docker_git.bb
index f6dcaec..b18a9bb 100644
--- a/import-layers/meta-virtualization/recipes-containers/containerd/containerd-docker_git.bb
+++ b/import-layers/meta-virtualization/recipes-containers/containerd/containerd-docker_git.bb
@@ -1,10 +1,14 @@
+SRCREV = "3addd840653146c90a254301d6c3a663c7fd6429"
+SRC_URI = "\
+ git://github.com/docker/containerd.git;branch=v0.2.x;destsuffix=git/src/github.com/containerd/containerd \
+ "
+
include containerd.inc
-SRCREV = "03e5862ec0d8d3b3f750e19fca3ee367e13c090e"
-SRC_URI = "\
- git://github.com/docker/containerd.git;branch=docker-1.13.x \
- "
-CONTAINERD_VERSION = "0.2.3"
+CONTAINERD_VERSION = "v0.2.x"
+S = "${WORKDIR}/git/src/github.com/containerd/containerd"
PROVIDES += "virtual/containerd"
RPROVIDES_${PN} = "virtual/containerd"
+
+DEPENDS += "btrfs-tools"
diff --git a/import-layers/meta-virtualization/recipes-containers/containerd/containerd.inc b/import-layers/meta-virtualization/recipes-containers/containerd/containerd.inc
index b143979..e7a3719 100644
--- a/import-layers/meta-virtualization/recipes-containers/containerd/containerd.inc
+++ b/import-layers/meta-virtualization/recipes-containers/containerd/containerd.inc
@@ -8,30 +8,23 @@
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE.code;md5=aadc30f9c14d876ded7bedc0afd2d3d7"
+SRC_URI += "file://containerd.service"
+
S = "${WORKDIR}/git"
PV = "${CONTAINERD_VERSION}+git${SRCREV}"
inherit go
+inherit goarch
RRECOMMENDS_${PN} = "lxc docker"
-CONTAINERD_PKG="github.com/docker/containerd"
+CONTAINERD_PKG="github.com/containerd/containerd"
+
+INSANE_SKIP_${PN} += "ldflags"
do_configure[noexec] = "1"
do_compile() {
- export GOARCH="${TARGET_ARCH}"
- # supported amd64, 386, arm arm64
- if [ "${TARGET_ARCH}" = "x86_64" ]; then
- export GOARCH="amd64"
- fi
- if [ "${TARGET_ARCH}" = "aarch64" ]; then
- export GOARCH="arm64"
- fi
- if [ "${TARGET_ARCH}" = "i586" ]; then
- export GOARCH="386"
- fi
-
# Set GOPATH. See 'PACKAGERS.md'. Don't rely on
# docker to download its dependencies but rather
# use dependencies packaged independently.
@@ -39,17 +32,19 @@
rm -rf .gopath
mkdir -p .gopath/src/"$(dirname "${CONTAINERD_PKG}")"
ln -sf ../../../.. .gopath/src/"${CONTAINERD_PKG}"
- export GOPATH="${S}/.gopath:${S}/vendor:${STAGING_DIR_TARGET}/${prefix}/local/go"
- export GOROOT="${STAGING_DIR_NATIVE}/${nonarch_libdir}/${HOST_SYS}/go"
- cd -
+
+ export GOPATH="${WORKDIR}/git/"
+ export GOROOT="${STAGING_LIBDIR_NATIVE}/${TARGET_SYS}/go"
# Pass the needed cflags/ldflags so that cgo
# can find the needed headers files and libraries
+ export GOARCH="${TARGET_GOARCH}"
export CGO_ENABLED="1"
export CFLAGS=""
export LDFLAGS=""
export CGO_CFLAGS="${BUILDSDK_CFLAGS} --sysroot=${STAGING_DIR_TARGET}"
export CGO_LDFLAGS="${BUILDSDK_LDFLAGS} --sysroot=${STAGING_DIR_TARGET}"
+ export GO_GCFLAGS=""
export CC_FOR_TARGET="${TARGET_PREFIX}gcc ${TARGET_CC_ARCH} --sysroot=${STAGING_DIR_TARGET}"
export CXX_FOR_TARGET="${TARGET_PREFIX}g++ ${TARGET_CC_ARCH} --sysroot=${STAGING_DIR_TARGET}"
@@ -74,9 +69,9 @@
if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then
install -d ${D}${systemd_unitdir}/system
- install -m 644 ${S}/hack/containerd.service ${D}/${systemd_unitdir}/system
+ install -m 644 ${WORKDIR}/containerd.service ${D}/${systemd_unitdir}/system
# adjust from /usr/local/bin to /usr/bin/
- sed -e "s:/usr/local/bin/containerd:${bindir}/docker-containerd -l \"unix\:///var/run/docker/libcontainerd/docker-containerd.sock\":g" -i ${D}/${systemd_unitdir}/system/containerd.service
+ sed -e "s:/usr/local/bin/containerd:${bindir}/docker-containerd:g" -i ${D}/${systemd_unitdir}/system/containerd.service
fi
}
diff --git a/import-layers/meta-virtualization/recipes-containers/containerd/files/containerd.service b/import-layers/meta-virtualization/recipes-containers/containerd/files/containerd.service
new file mode 100644
index 0000000..23633b0
--- /dev/null
+++ b/import-layers/meta-virtualization/recipes-containers/containerd/files/containerd.service
@@ -0,0 +1,11 @@
+[Unit]
+Description=containerd
+Documentation=https://containerd.tools
+After=network.target
+
+[Service]
+ExecStart=/usr/local/bin/containerd
+Delegate=yes
+
+[Install]
+WantedBy=multi-user.target