From mboxrd@z Thu Jan 1 00:00:00 1970 From: Romain Naour Date: Mon, 4 Jul 2016 18:29:17 +0200 Subject: [Buildroot] [PATCH v6 1/3] runc: new package In-Reply-To: <1464475578-22239-2-git-send-email-christian@paral.in> References: <1464475578-22239-1-git-send-email-christian@paral.in> <1464475578-22239-2-git-send-email-christian@paral.in> Message-ID: <7eda6705-c7de-693c-b24e-6e61e0631241@gmail.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: buildroot@busybox.net Hi Christian, Le 29/05/2016 ? 00:46, Christian Stewart a ?crit : > 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 Verified License and License file, build test. Reviewed-by: Romain Naour Best regards, Romain > > --- > > Changes since v1: > - use call github to generate source url > Changes since v3: > - fix indentation in Config.in > - add dep on threads in Config.in > - break gopath into separate variable > - use HOST_GO_TARGET_ENV > Changes since v4: > - use RUNC_VERSION instead of commit hash > - only show comment when build is possible with threads enabled > > --- > 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 9d668bf..6c513ba 100644 > --- a/package/Config.in > +++ b/package/Config.in > @@ -1664,6 +1664,7 @@ endif > if BR2_PACKAGE_BUSYBOX_SHOW_OTHERS > source "package/rsyslog/Config.in" > endif > + 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 0000000..1802e59 > --- /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 0000000..c109c33 > --- /dev/null > +++ b/package/runc/runc.hash > @@ -0,0 +1,2 @@ > +# Locally computed > +sha256 f9955daed1e73e842b2f28a258fba51f4e72a6b4b64cc3fc06415481d55ce000 runc-v0.1.1.tar.gz > diff --git a/package/runc/runc.mk b/package/runc/runc.mk > new file mode 100644 > index 0000000..72b194d > --- /dev/null > +++ b/package/runc/runc.mk > @@ -0,0 +1,46 @@ > +################################################################################ > +# > +# runc > +# > +################################################################################ > + > +RUNC_VERSION = v0.1.1 > +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)) >