From patchwork Tue Jun 5 13:16:17 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Refik TUZAKLI X-Patchwork-Id: 925471 Return-Path: X-Original-To: incoming-buildroot@patchwork.ozlabs.org Delivered-To: patchwork-incoming-buildroot@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=busybox.net (client-ip=140.211.166.133; helo=hemlock.osuosl.org; envelope-from=buildroot-bounces@busybox.net; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=savronik.com.tr Received: from hemlock.osuosl.org (smtp2.osuosl.org [140.211.166.133]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 410XcF3270z9s0x for ; Tue, 5 Jun 2018 23:25:33 +1000 (AEST) Received: from localhost (localhost [127.0.0.1]) by hemlock.osuosl.org (Postfix) with ESMTP id E32848A862; Tue, 5 Jun 2018 13:25:29 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from hemlock.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id tbjHm-QcpkvR; Tue, 5 Jun 2018 13:25:28 +0000 (UTC) Received: from ash.osuosl.org (ash.osuosl.org [140.211.166.34]) by hemlock.osuosl.org (Postfix) with ESMTP id 5D68D8A851; Tue, 5 Jun 2018 13:25:28 +0000 (UTC) X-Original-To: buildroot@lists.busybox.net Delivered-To: buildroot@osuosl.org Received: from hemlock.osuosl.org (smtp2.osuosl.org [140.211.166.133]) by ash.osuosl.org (Postfix) with ESMTP id 88E291C0BF6 for ; Tue, 5 Jun 2018 13:25:27 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by hemlock.osuosl.org (Postfix) with ESMTP id 8653D8A856 for ; Tue, 5 Jun 2018 13:25:27 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from hemlock.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id kp5AkPbR2nQX for ; Tue, 5 Jun 2018 13:25:26 +0000 (UTC) X-Greylist: from auto-whitelisted by SQLgrey-1.7.6 Received: from EXCSRV.savronikelectronics.com (mail.savronik.com.tr [193.109.135.142]) by hemlock.osuosl.org (Postfix) with ESMTPS id C9CB48A851 for ; Tue, 5 Jun 2018 13:25:25 +0000 (UTC) Received: from [192.168.100.18] (193.109.135.154) by EXCSRV.savronikelectronics.com (193.109.135.142) with Microsoft SMTP Server (TLS) id 14.1.218.12; Tue, 5 Jun 2018 16:16:16 +0300 To: From: =?utf-8?q?Refik_Tuzakl=C4=B1?= Message-ID: <651f579d-07ad-afc4-4515-0061016dfc02@savronik.com.tr> Date: Tue, 5 Jun 2018 16:16:17 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.8.0 MIME-Version: 1.0 Content-Language: en-US X-Originating-IP: [193.109.135.154] Subject: [Buildroot] [BUILDROOT][PATCHv2 1/3] balena: new package X-BeenThere: buildroot@busybox.net X-Mailman-Version: 2.1.24 Precedence: list List-Id: Discussion and development of buildroot List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Thomas Petazzoni Errors-To: buildroot-bounces@busybox.net Sender: "buildroot" From 65b90eefab3fd936b5eec0e3004e5ec370c7d3b9 Mon Sep 17 00:00:00 2001 From: Refik Tuzakli Date: Tue, 5 Jun 2018 15:58:39 +0300 Subject: [PATCHv2 1/3] balena new package v2 This patch adds balena; Moby-based Container Engine for Embedded, IoT, and Edge uses. Signed-off-by: Refik Tuzakli --- Changes v1 -> v2     -converted to golang infrastructure and removed unnecessary variables \         suggested by Thomas Petazzoni  DEVELOPERS                 |  3 +++  package/Config.in          |  1 +  package/balena/Config.in   | 18 +++++++++++++++  package/balena/balena.hash |  2 ++  package/balena/balena.mk   | 56 ++++++++++++++++++++++++++++++++++++++++++++++  5 files changed, 80 insertions(+)  create mode 100644 package/balena/Config.in  create mode 100644 package/balena/balena.hash  create mode 100644 package/balena/balena.mk + +$(eval $(golang-package)) diff --git a/DEVELOPERS b/DEVELOPERS index 1ad3edc..ae3abe1 100644 --- a/DEVELOPERS +++ b/DEVELOPERS @@ -1613,6 +1613,9 @@ N:    Rahul Jain  F:    package/uhttpd/  F:    package/ustream-ssl/ +N:    Refik Tuzakli +F:    package/balena/ +  N:    Renaud Aubin  F:    package/libhttpparser/ diff --git a/package/Config.in b/package/Config.in index 1730201..21c980c 100644 --- a/package/Config.in +++ b/package/Config.in @@ -1984,6 +1984,7 @@ menu "System tools"      source "package/atop/Config.in"      source "package/attr/Config.in"      source "package/audit/Config.in" +    source "package/balena/Config.in"      source "package/bootutils/Config.in"      source "package/cgroupfs-mount/Config.in"      source "package/circus/Config.in" diff --git a/package/balena/Config.in b/package/balena/Config.in new file mode 100644 index 0000000..1323cf2 --- /dev/null +++ b/package/balena/Config.in @@ -0,0 +1,18 @@ +config BR2_PACKAGE_BALENA +    bool "balena" +    depends on BR2_PACKAGE_HOST_GO_ARCH_SUPPORTS +    depends on BR2_PACKAGE_HOST_GO_CGO_LINKING_SUPPORTS +    depends on BR2_TOOLCHAIN_HAS_THREADS +    depends on BR2_INIT_SYSTEMD +    depends on BR2_TOOLCHAIN_HAS_THREADS +    depends on BR2_USE_MMU # needs fork() +    depends on !BR2_STATIC_LIBS # It fails to build statically +    select BR2_PACKAGE_LVM2 +    select BR2_PACKAGE_LVM2_STANDARD_INSTALL +    help +      Moby-based Container Engine for Embedded, IoT, and Edge uses + +      https://github.com/resin-os/balena + +comment "balena needs systemd" +    depends on !BR2_INIT_SYSTEMD diff --git a/package/balena/balena.hash b/package/balena/balena.hash new file mode 100644 index 0000000..9d40895 --- /dev/null +++ b/package/balena/balena.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 ae07affea7f50d9754957d972c9957f42938998dffc48cc57fca37e0b187359a balena-17.06-resin.tar.gz diff --git a/package/balena/balena.mk b/package/balena/balena.mk new file mode 100644 index 0000000..01e5ddf --- /dev/null +++ b/package/balena/balena.mk @@ -0,0 +1,56 @@ +################################################################################ +# +# balena +# +################################################################################ + +BALENA_VERSION = 17.06-resin +BALENA_COMMIT = 73136d1985f28a34705f537e90636cf208734048 +BALENA_SITE = $(call github,resin-os,balena,$(BALENA_VERSION)) + +BALENA_LICENSE = Apache-2.0 +BALENA_LICENSE_FILES = LICENSE + +BALENA_DEPENDENCIES = host-pkgconf systemd lvm2 + +BALENA_GOPATH = $(@D)/_gopath + +BALENA_CONFIGURE_ENV = GOPATH=${BALENA_GOPATH} \ +    $(TARGET_MAKE_ENV) \ +    $(HOST_GO_TARGET_ENV) \ +    DOCKER_GITCOMMIT=${BALENA_COMMIT} \ +    DOCKER_BUILDTAGS='exclude_graphdriver_btrfs exclude_graphdirver_zfs exclude_graphdriver_devicemapper' + +BALENA_MAKE_ENV = GOPATH=$(BALENA_GOPATH) + +BALENA_LDFLAGS += -extldflags '-static' + +BALENA_SRC_SUBDIR = github.com/docker/docker + +define BALENA_MAKE_DYNBINARY_BALENA +    cd $(@D) && \ +        $(BALENA_CONFIGURE_ENV) \ +        bash ./hack/make.sh dynbinary-balena +endef + +BALENA_POST_CONFIGURE_HOOKS += BALENA_MAKE_DYNBINARY_BALENA + +define BALENA_BUILD_CMDS +    cd $(@D)/_gopath/src/github.com/docker/docker/cmd/mobynit; \ +    $(BALENA_MAKE_ENV) \ +    $(HOST_DIR)/bin/go build -v\ +        -ldflags "$(BALENA_LDFLAGS)" +endef + +define BALENA_INSTALL_TARGET_CMDS +    $(INSTALL) -D -m 0755 $(@D)/bundles/17.06.0-dev/dynbinary-balena/balena \ +        $(TARGET_DIR)/usr/bin/balena +    ln -sf balena $(TARGET_DIR)/usr/bin/balenad +    ln -sf balena $(TARGET_DIR)/usr/bin/balena-containerd +    ln -sf balena $(TARGET_DIR)/usr/bin/balena-containerd-shim +    ln -sf balena $(TARGET_DIR)/usr/bin/balena-containerd-ctr +    ln -sf balena $(TARGET_DIR)/usr/bin/balena-runc +    ln -sf balena $(TARGET_DIR)/usr/bin/balena-proxy +endef