From f1c537f80a9c829785aaaefdfb2f04f46db565fd Mon Sep 17 00:00:00 2001 From: Christian Stewart Date: Tue, 9 May 2017 17:22:43 -0400 Subject: [PATCH] tini: new package Tini is a minimal init process to act as PID 1 for containers. Tini can be used to satisfy docker-engine's docker-init binary requirement. Signed-off-by: Christian Stewart --- Changes since v2: - Upgraded to v0.18.0 - Added hash for license file --- package/Config.in | 1 + package/tini/Config.in | 16 ++++++++++++++++ package/tini/tini.hash | 3 +++ package/tini/tini.mk | 35 +++++++++++++++++++++++++++++++++++ 4 files changed, 55 insertions(+) create mode 100644 package/tini/Config.in create mode 100644 package/tini/tini.hash create mode 100644 package/tini/tini.mk diff --git a/package/Config.in b/package/Config.in index a114c90..28e0caf 100644 --- a/package/Config.in +++ b/package/Config.in @@ -1923,6 +1923,7 @@ comment "Utilities" source "package/sudo/Config.in" source "package/terminology/Config.in" source "package/time/Config.in" + source "package/tini/Config.in" source "package/tmux/Config.in" source "package/which/Config.in" source "package/xmlstarlet/Config.in" diff --git a/package/tini/Config.in b/package/tini/Config.in new file mode 100644 index 0000000..235fc1a --- /dev/null +++ b/package/tini/Config.in @@ -0,0 +1,16 @@ +config BR2_PACKAGE_TINI + bool "tini" + help + tini is a simple but valid init binary to + act as PID 1 for containers. + + https://github.com/krallin/tini + +if BR2_PACKAGE_TINI + +config BR2_PACKAGE_TINI_MINIMAL + bool "build minimal variant" + help + Disables argument parsing and verbose output. + +endif diff --git a/package/tini/tini.hash b/package/tini/tini.hash new file mode 100644 index 0000000..c4f85c4 --- /dev/null +++ b/package/tini/tini.hash @@ -0,0 +1,3 @@ +# Locally computed +sha256 1097675352d6317b547e73f9dc7c6839fd0bb0d96dafc2e5c95506bb324049a2 tini-v0.18.0.tar.gz +sha256 e5f46bca81266bdd511cf08018d66866870531794569c04f9b45f50dd23c28b0 LICENSE diff --git a/package/tini/tini.mk b/package/tini/tini.mk new file mode 100644 index 0000000..9f9d986 --- /dev/null +++ b/package/tini/tini.mk @@ -0,0 +1,35 @@ +################################################################################ +# +# tini +# +################################################################################ + +TINI_VERSION = v0.18.0 +TINI_SITE = $(call github,krallin,tini,$(TINI_VERSION)) + +TINI_LICENSE = MIT +TINI_LICENSE_FILES = LICENSE + +TINI_CFLAGS = $(TARGET_CFLAGS) -DTINI_VERSION=\"$(TINI_VERSION)\" -DTINI_GIT=\"\" +TINI_CFLAGS += -static + +ifeq ($(BR2_PACKAGE_TINI_MINIMAL),y) +TINI_CFLAGS += -DTINI_MINIMAL +endif + +define TINI_CONFIGURE_CMDS + printf "#pragma once\n" > $(@D)/src/tiniConfig.h +endef + +define TINI_BUILD_CMDS + $(TARGET_CC) \ + $(TINI_CFLAGS) \ + -o $(@D)/tini $(@D)/src/tini.c +endef + +define TINI_INSTALL_TARGET_CMDS + $(INSTALL) -D -m 0755 $(@D)/tini $(TARGET_DIR)/usr/bin/tini +endef + +# Tini's CMakeLists.txt is not suitable for Buildroot. +$(eval $(generic-package)) -- 2.9.0.windows.1