From patchwork Sun May 16 01:05:21 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Christian Stewart X-Patchwork-Id: 1478952 Return-Path: X-Original-To: incoming-buildroot@patchwork.ozlabs.org Delivered-To: patchwork-incoming-buildroot@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=busybox.net (client-ip=140.211.166.133; helo=smtp2.osuosl.org; envelope-from=buildroot-bounces@busybox.net; receiver=) Received: from smtp2.osuosl.org (smtp2.osuosl.org [140.211.166.133]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 4FjPGC0Y62z9sWH for ; Sun, 16 May 2021 11:05:55 +1000 (AEST) Received: from localhost (localhost [127.0.0.1]) by smtp2.osuosl.org (Postfix) with ESMTP id 38FE4401D4; Sun, 16 May 2021 01:05:53 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from smtp2.osuosl.org ([127.0.0.1]) by localhost (smtp2.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id a8ZbkmqoS4p7; Sun, 16 May 2021 01:05:52 +0000 (UTC) Received: from ash.osuosl.org (ash.osuosl.org [140.211.166.34]) by smtp2.osuosl.org (Postfix) with ESMTP id 7E7A5401CD; Sun, 16 May 2021 01:05:51 +0000 (UTC) X-Original-To: buildroot@lists.busybox.net Delivered-To: buildroot@osuosl.org Received: from smtp3.osuosl.org (smtp3.osuosl.org [140.211.166.136]) by ash.osuosl.org (Postfix) with ESMTP id 70DF81BF425 for ; Sun, 16 May 2021 01:05:30 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by smtp3.osuosl.org (Postfix) with ESMTP id 6CEC3605D2 for ; Sun, 16 May 2021 01:05:30 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from smtp3.osuosl.org ([127.0.0.1]) by localhost (smtp3.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 3Rm2YjNlbg4l for ; Sun, 16 May 2021 01:05:27 +0000 (UTC) X-Greylist: whitelisted by SQLgrey-1.8.0 Received: from mail-pg1-f180.google.com (mail-pg1-f180.google.com [209.85.215.180]) by smtp3.osuosl.org (Postfix) with ESMTPS id E8C9E6058F for ; Sun, 16 May 2021 01:05:26 +0000 (UTC) Received: by mail-pg1-f180.google.com with SMTP id y32so2197015pga.11 for ; Sat, 15 May 2021 18:05:26 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=YCL1QyfFF7d8MH43LkiHyslONOGf8Z+h29f/4c2sz8E=; b=bEE85jQZiFZ2ETjJNffea7ctNDRBFvHHQLS11Rqz2zSKz5YTePP9bmrfDL54HHeJs2 9HjemxLu+qkQptZwYVF0JLjbmTIxgkKHR3Qg0DLVwXwsVDOvPgAW/On6QGM5tGLz+sz0 3oCfbP51TjQbAW+JL0TfqVVIrh68GtF6KKMwAOZRQu9AjQBf7KCiIjSdSy/uiTPBP4ui NbaFB4IEqlQWA9sdTqkvT5ewJ3x4euhJOxS0MXaUAOSWT/GkZhD+I9HlJv6tItIthI2+ 2gGJmtG/tbC4RPfOr9l5+p0ykn21QRq78KFrF9ZKOHU+aY0skA6xJF9O1J3J5x0mPRTB DS0A== X-Gm-Message-State: AOAM531dJUUqAnKfibcIMDL3UUkk9U8Ii7k93FDKdipT7Og4CG9w99bo G8POL8Ra89RaHQerh5ciRcaTCAotj+3GMw== X-Google-Smtp-Source: ABdhPJxBXJQbKXEKIQ59gF+nVyfvNiIRTEDpBUHmae11bOBuUyyH35mykxnbcXenZtEDZ2+cjYeq2w== X-Received: by 2002:aa7:80d3:0:b029:28e:f117:4961 with SMTP id a19-20020aa780d30000b029028ef1174961mr53106461pfn.37.1621127125908; Sat, 15 May 2021 18:05:25 -0700 (PDT) Received: from localhost.localdomain (ip68-6-75-212.sb.sd.cox.net. [68.6.75.212]) by smtp.gmail.com with ESMTPSA id s12sm11949641pji.5.2021.05.15.18.05.24 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 15 May 2021 18:05:25 -0700 (PDT) From: Christian Stewart To: buildroot@buildroot.org Date: Sat, 15 May 2021 18:05:21 -0700 Message-Id: <20210516010521.1375959-3-christian@paral.in> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20210516010521.1375959-1-christian@paral.in> References: <20210516010521.1375959-1-christian@paral.in> MIME-Version: 1.0 Subject: [Buildroot] [PATCH v2 3/3] package/genuinetools-img: new host and target package X-BeenThere: buildroot@busybox.net X-Mailman-Version: 2.1.29 Precedence: list List-Id: Discussion and development of buildroot List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Christian Stewart , "Yann E . MORIN" , Thomas Petazzoni Errors-To: buildroot-bounces@busybox.net Sender: "buildroot" Img is a standalone, daemon-less, unprivileged Dockerfile and OCI compatible container image builder. It uses the moby-buildkit solver internally. The commands/UX mirror the Docker CLI for workflow compatibility. Using the genuinetools- prefix due to the generic nature of the "img" name. Adds both host and target variants. fuse-overlayfs can be used as an unprivileged and rootless overlay filesystem backend. https://github.com/genuinetools/img Signed-off-by: Christian Stewart --- package/Config.in | 1 + package/Config.in.host | 1 + package/genuinetools-img/Config.in | 23 ++++++++++++++++ package/genuinetools-img/Config.in.host | 9 +++++++ .../genuinetools-img/genuinetools-img.hash | 3 +++ package/genuinetools-img/genuinetools-img.mk | 27 +++++++++++++++++++ 6 files changed, 64 insertions(+) create mode 100644 package/genuinetools-img/Config.in create mode 100644 package/genuinetools-img/Config.in.host create mode 100644 package/genuinetools-img/genuinetools-img.hash create mode 100644 package/genuinetools-img/genuinetools-img.mk diff --git a/package/Config.in b/package/Config.in index 82b28d2835..62ac9d292c 100644 --- a/package/Config.in +++ b/package/Config.in @@ -2443,6 +2443,7 @@ menu "System tools" source "package/emlog/Config.in" source "package/ftop/Config.in" source "package/getent/Config.in" + source "package/genuinetools-img/Config.in" source "package/gkrellm/Config.in" source "package/htop/Config.in" source "package/ibm-sw-tpm2/Config.in" diff --git a/package/Config.in.host b/package/Config.in.host index 90a6afdf4f..851ab401fd 100644 --- a/package/Config.in.host +++ b/package/Config.in.host @@ -32,6 +32,7 @@ menu "Host utilities" source "package/genext2fs/Config.in.host" source "package/genimage/Config.in.host" source "package/genpart/Config.in.host" + source "package/genuinetools-img/Config.in.host" source "package/gnupg/Config.in.host" source "package/go/Config.in.host" source "package/go-bootstrap/Config.in.host" diff --git a/package/genuinetools-img/Config.in b/package/genuinetools-img/Config.in new file mode 100644 index 0000000000..eb4992db07 --- /dev/null +++ b/package/genuinetools-img/Config.in @@ -0,0 +1,23 @@ +config BR2_PACKAGE_GENUINETOOLS_IMG + bool "genuinetools-img" + depends on BR2_USE_MMU # fuse-overlayfs libfuse3 + depends on !BR2_STATIC_LIBS # fuse-overlayfs libfuse3 + depends on BR2_TOOLCHAIN_HAS_THREADS # fuse-overlayfs libfuse3 + depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_15 # fuse-overlayfs + depends on BR2_PACKAGE_HOST_GO_TARGET_ARCH_SUPPORTS + depends on BR2_PACKAGE_HOST_GO_TARGET_CGO_LINKING_SUPPORTS + depends on BR2_TOOLCHAIN_HAS_THREADS + depends on !BR2_TOOLCHAIN_USES_UCLIBC + select BR2_PACKAGE_CGROUPFS_MOUNT if !BR2_PACKAGE_SYSTEMD # runtime dependency + select BR2_PACKAGE_FUSE_OVERLAYFS # runtime dependency + select BR2_PACKAGE_LIBFUSE3 # fuse-overlayfs + help + Img is a standalone, daemon-less, unprivileged Dockerfile + and OCI compatible container image builder. + + https://github.com/genuinetools/img + +comment "genuinetools-img needs a toolchain w/ threads, dynamic library, headers >= 3.15" + depends on BR2_USE_MMU + depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS || \ + !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_15 diff --git a/package/genuinetools-img/Config.in.host b/package/genuinetools-img/Config.in.host new file mode 100644 index 0000000000..bbef88acf6 --- /dev/null +++ b/package/genuinetools-img/Config.in.host @@ -0,0 +1,9 @@ +config BR2_PACKAGE_HOST_GENUINETOOLS_IMG + bool "host genuinetools-img" + depends on BR2_PACKAGE_HOST_GO_HOST_ARCH_SUPPORTS + select BR2_PACKAGE_HOST_FUSE_OVERLAYFS # runtime dependency + help + Img is a standalone, daemon-less, unprivileged Dockerfile + and OCI compatible container image builder. + + https://github.com/genuinetools/img diff --git a/package/genuinetools-img/genuinetools-img.hash b/package/genuinetools-img/genuinetools-img.hash new file mode 100644 index 0000000000..097ad17d91 --- /dev/null +++ b/package/genuinetools-img/genuinetools-img.hash @@ -0,0 +1,3 @@ +# Locally calculated +sha256 c6d805ab899db639fa08f0e33fe6673593be8336d288bb1cb4cb81a3229a916f genuinetools-img-0.5.11.tar.gz +sha256 c696614021eafe355c7fb0af3e724fc7fa8729a0c10c27cbed2505bf30a853ce LICENSE diff --git a/package/genuinetools-img/genuinetools-img.mk b/package/genuinetools-img/genuinetools-img.mk new file mode 100644 index 0000000000..08330d1113 --- /dev/null +++ b/package/genuinetools-img/genuinetools-img.mk @@ -0,0 +1,27 @@ +################################################################################ +# +# genuinetools-img +# +################################################################################ + +GENUINETOOLS_IMG_VERSION = 0.5.11 +GENUINETOOLS_IMG_SITE = $(call github,genuinetools,img,v$(GENUINETOOLS_IMG_VERSION)) + +GENUINETOOLS_IMG_LICENSE = MIT +GENUINETOOLS_IMG_LICENSE_FILES = LICENSE + +GENUINETOOLS_IMG_DEPENDENCIES = host-pkgconf +GENUINETOOLS_IMG_GOMOD = github.com/genuinetools/img + +GENUINETOOLS_IMG_TAGS = cgo noembed +GENUINETOOLS_IMG_LDFLAGS = \ + -X $(GENUINETOOLS_IMG_GOMOD)/version.VERSION="$(GENUINETOOLS_IMG_VERSION)" + +HOST_GENUINETOOLS_IMG_TAGS = $(GENUINETOOLS_IMG_TAGS) +HOST_GENUINETOOLS_IMG_LDFLAGS = $(GENUINETOOLS_IMG_LDFLAGS) + +HOST_GENUINETOOLS_IMG_BIN_NAME = genuinetools-img +HOST_GENUINETOOLS_IMG_INSTALL_BINS = $(HOST_GENUINETOOLS_IMG_BIN_NAME) + +$(eval $(golang-package)) +$(eval $(host-golang-package))