[meta-virtualization] [PATCH] netns: New recipe

Paul Barker paul at paulbarker.me.uk
Sun Jun 19 01:48:46 PDT 2016


netns is a runc hook for setting up simple bridge networking within containers.

See README.md (or https://github.com/jfrazelle/netns/blob/master/README.md) for
instructions on how to use netns.

Signed-off-by: Paul Barker <paul at paulbarker.me.uk>
---
 recipes-networking/netns/netns_git.bb | 44 +++++++++++++++++++++++++++++++++++
 1 file changed, 44 insertions(+)
 create mode 100644 recipes-networking/netns/netns_git.bb

diff --git a/recipes-networking/netns/netns_git.bb b/recipes-networking/netns/netns_git.bb
new file mode 100644
index 0000000..073022e
--- /dev/null
+++ b/recipes-networking/netns/netns_git.bb
@@ -0,0 +1,44 @@
+HOMEPAGE = "https://github.com/jfrazelle/netns"
+SUMMARY = "Runc hook for setting up default bridge networking."
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=20ce4c6a4f32d6ee4a68e3a7506db3f1"
+DEPENDS = "go-cross"
+
+SRC_URI = "git://github.com/jfrazelle/netns;branch=master"
+SRCREV = "2804050eeab661bfa75c3aa06bdcf60273b02ca7"
+PV = "0.1.0+git${SRCPV}"
+
+S = "${WORKDIR}/git"
+
+inherit go-osarchmap
+
+do_compile() {
+	export GOARCH="${TARGET_GOARCH}"
+
+	# Setup vendor directory so that it can be used in GOPATH.
+	#
+	# Go looks in a src directory under any directory in GOPATH but netns
+	# uses 'vendor' instead of 'vendor/src'. We can fix this with a symlink.
+	#
+	# 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/jfrazelle/netns"
+	ln -sfn "${S}/ipallocator" "${S}/vendor/src/github.com/jfrazelle/netns/ipallocator"
+	export GOPATH="${S}/vendor"
+
+	# Pass the needed cflags/ldflags so that cgo
+	# can find the needed headers files and libraries
+	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}"
+
+	oe_runmake static
+}
+
+do_install() {
+	install -d ${D}/${sbindir}
+	install ${S}/netns ${D}/${sbindir}/netns
+}
-- 
2.1.4



More information about the meta-virtualization mailing list