From 6e09a909dacb8fa1b6f213cf49286d5018062558 Mon Sep 17 00:00:00 2001 From: Christian Stewart Date: Mon, 4 Jul 2016 15:30:31 -0700 Subject: [PATCH] runc: new package runC is a CLI tool for spawning and running containers according to the OCP specification. runC is used by the latest Docker engine versions, however, runc itself is standalone and has no other dependencies. https://runc.io/ Signed-off-by: Christian Stewart Reviewed-by: Romain Naour Signed-off-by: Thomas Petazzoni --- package/Config.in | 1 + package/runc/Config.in | 13 ++++++++++++ package/runc/runc.hash | 2 ++ package/runc/runc.mk | 46 ++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 62 insertions(+) create mode 100644 package/runc/Config.in create mode 100644 package/runc/runc.hash create mode 100644 package/runc/runc.mk diff --git a/package/Config.in b/package/Config.in index 9d20f6ba68..711f09eff0 100644 --- a/package/Config.in +++ b/package/Config.in @@ -1666,6 +1666,7 @@ menu "System tools" source "package/pwgen/Config.in" source "package/quota/Config.in" source "package/rsyslog/Config.in" + source "package/runc/Config.in" source "package/scrub/Config.in" source "package/scrypt/Config.in" source "package/smack/Config.in" diff --git a/package/runc/Config.in b/package/runc/Config.in new file mode 100644 index 0000000000..1802e5944c --- /dev/null +++ b/package/runc/Config.in @@ -0,0 +1,13 @@ +config BR2_PACKAGE_RUNC + bool "runc" + depends on BR2_PACKAGE_HOST_GO_ARCH_SUPPORTS + depends on BR2_TOOLCHAIN_HAS_THREADS + help + runC is a CLI tool for spawning and running containers + according to the OCP specification. + + https://github.com/opencontainers/runc + +comment "runc needs a toolchain w/ threads" + depends on BR2_PACKAGE_HOST_GO_ARCH_SUPPORTS + depends on !BR2_TOOLCHAIN_HAS_THREADS diff --git a/package/runc/runc.hash b/package/runc/runc.hash new file mode 100644 index 0000000000..e6ec483ac2 --- /dev/null +++ b/package/runc/runc.hash @@ -0,0 +1,2 @@ +# Locally computed +sha256 77f9d4df1657fecc939be0261fcccccd34d5b22c02b8a49abad23fac33b4059a runc-v1.0.0-rc1.tar.gz diff --git a/package/runc/runc.mk b/package/runc/runc.mk new file mode 100644 index 0000000000..6a0c88ce99 --- /dev/null +++ b/package/runc/runc.mk @@ -0,0 +1,46 @@ +################################################################################ +# +# runc +# +################################################################################ + +RUNC_VERSION = v1.0.0-rc1 +RUNC_SITE = $(call github,opencontainers,runc,$(RUNC_VERSION)) +RUNC_LICENSE = Apache-2.0 +RUNC_LICENSE_FILES = LICENSE + +RUNC_DEPENDENCIES = host-go + +RUNC_GOPATH = "$(@D)/Godeps/_workspace" +RUNC_MAKE_ENV = $(HOST_GO_TARGET_ENV) \ + CGO_ENABLED=1 \ + GOBIN="$(@D)/bin" \ + GOPATH="$(RUNC_GOPATH)" + +RUNC_GLDFLAGS = \ + -X main.gitCommit=$(RUNC_VERSION) \ + -extldflags '-static' + +RUNC_GOTAGS = cgo static_build + +ifeq ($(BR2_PACKAGE_LIBSECCOMP),y) +RUNC_GOTAGS += seccomp +RUNC_DEPENDENCIES += libseccomp +endif + +define RUNC_CONFIGURE_CMDS + mkdir -p $(RUNC_GOPATH)/src/github.com/opencontainers + ln -s $(@D) $(RUNC_GOPATH)/src/github.com/opencontainers/runc +endef + +define RUNC_BUILD_CMDS + cd $(@D) && $(RUNC_MAKE_ENV) $(HOST_DIR)/usr/bin/go \ + build -v -o $(@D)/bin/runc \ + -tags "$(RUNC_GOTAGS)" -ldflags "$(RUNC_GLDFLAGS)" . +endef + +define RUNC_INSTALL_TARGET_CMDS + $(INSTALL) -D -m 0755 $(@D)/bin/runc $(TARGET_DIR)/usr/bin/runc +endef + +$(eval $(generic-package)) -- 2.30.2