summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--package/Config.in1
-rw-r--r--package/runc/Config.in13
-rw-r--r--package/runc/runc.hash2
-rw-r--r--package/runc/runc.mk46
4 files changed, 62 insertions, 0 deletions
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))
OpenPOWER on IntegriCloud