Message ID | 1467660382-6317-1-git-send-email-christian@paral.in |
---|---|
State | Superseded |
Headers | show |
Hi Christian, Thanks for this new series. Le 04/07/2016 à 21:26, 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 <christian@paral.in> > > --- > > 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 > Changes since v5: > - bump to v1.0.0-rc1 > > --- > > Signed-off-by: Christian Stewart <christian@paral.in> > --- > 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 2c4c196..078436e 100644 > --- a/package/Config.in > +++ b/package/Config.in > @@ -1665,6 +1665,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 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..e6ec483 > --- /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 0000000..3f352bd > --- /dev/null > +++ b/package/runc/runc.mk > @@ -0,0 +1,46 @@ > +################################################################################ > +# > +# runc > +# > +################################################################################ > + > +RUNC_VERSION = v1.0.0-rc1 Usually we prefer a stable release but ok for this new package. Reviewed-by: Romain Naour <romain.naour@gmail.com> Best regards, Romain > +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)) >
Romain, On Mon, Jul 4, 2016 1:05 PM, Romain Naour romain.naour@gmail.com wrote: Usually we prefer a stable release but ok for this new package. Unfortunately they haven't spun a release in ages and Docker is using a commit pin as well. It's a bit of a weird setup they have going. I have it pinned to a newer release because some aarch64 fixes are in there. Best, Christian
Le 04/07/2016 à 22:09, Christian Stewart a écrit : > Romain, > > On Mon, Jul 4, 2016 1:05 PM, Romain Naour romain.naour@gmail.com > <mailto:romain.naour@gmail.com> wrote: > > Usually we prefer a stable release but ok for this new package. > > > Unfortunately they haven't spun a release in ages and Docker is using a commit > pin as well. It's a bit of a weird setup they have going. > > I have it pinned to a newer release because some aarch64 fixes are in there. I asked to Thomas about using -rc version and he say that it's fine for a new package and to avoid carrying to much patches in Buildroot. Best regards, Romain > > Best, > Christian >
diff --git a/package/Config.in b/package/Config.in index 2c4c196..078436e 100644 --- a/package/Config.in +++ b/package/Config.in @@ -1665,6 +1665,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 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..e6ec483 --- /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 0000000..3f352bd --- /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))