package/pkg-golang: select BR2_PACKAGE_HOST_GO

Makes every packages built by the Go compiler select a new variable
introduced in this patch: BR2_PACKAGE_HOST_GO.
In later commits Go compiler variant will be introduced (built from
source, pre-built binaries) and selecting BR2_PACKAGE_HOST_GO will
force to add host-go provider to the dependency list.

The same pattern is used for Rust packages.

Signed-off-by: Thomas Perale <thomas.perale@mind.be>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
This commit is contained in:
Thomas Perale
2024-04-15 18:22:24 +02:00
committed by Yann E. MORIN
parent 0290c543de
commit 58a291470a
24 changed files with 28 additions and 0 deletions

View File

@@ -5,6 +5,7 @@ config BR2_PACKAGE_BALENA_ENGINE
depends on !BR2_TOOLCHAIN_USES_UCLIBC # no fexecve
depends on BR2_USE_MMU # util-linux
select BR2_PACKAGE_CGROUPFS_MOUNT if !BR2_PACKAGE_SYSTEMD # runtime
select BR2_PACKAGE_HOST_GO
select BR2_PACKAGE_IPTABLES # runtime
select BR2_PACKAGE_UTIL_LINUX # runtime
select BR2_PACKAGE_UTIL_LINUX_BINARIES # runtime

View File

@@ -5,6 +5,7 @@ config BR2_PACKAGE_CNI_PLUGINS
depends on BR2_TOOLCHAIN_HAS_THREADS
depends on !BR2_TOOLCHAIN_USES_UCLIBC # no fexecve
depends on BR2_USE_MMU
select BR2_PACKAGE_HOST_GO
help
Container Networking Interface plugins.

View File

@@ -5,6 +5,7 @@ config BR2_PACKAGE_CONTAINERD
depends on BR2_TOOLCHAIN_HAS_THREADS
depends on !BR2_TOOLCHAIN_USES_UCLIBC # runc
depends on BR2_USE_MMU # util-linux
select BR2_PACKAGE_HOST_GO
select BR2_PACKAGE_RUNC if !BR2_PACKAGE_CRUN # runtime dependency
select BR2_PACKAGE_UTIL_LINUX # runtime dependency
select BR2_PACKAGE_UTIL_LINUX_BINARIES

View File

@@ -1,6 +1,7 @@
config BR2_PACKAGE_CRUCIBLE
bool "crucible"
depends on BR2_PACKAGE_HOST_GO_TARGET_ARCH_SUPPORTS
select BR2_PACKAGE_HOST_GO
help
Crucible is a One-Time-Programmable (OTP) fusing tool for the
i.MX family.

View File

@@ -7,6 +7,7 @@ config BR2_PACKAGE_DELVE_ARCH_SUPPORTS
default y if BR2_x86_64
depends on BR2_PACKAGE_HOST_GO_TARGET_ARCH_SUPPORTS
depends on BR2_PACKAGE_HOST_GO_TARGET_CGO_LINKING_SUPPORTS
select BR2_PACKAGE_HOST_GO
config BR2_PACKAGE_DELVE
bool "delve"

View File

@@ -1,6 +1,7 @@
config BR2_PACKAGE_HOST_DELVE
bool "host delve"
depends on BR2_PACKAGE_HOST_GO_HOST_ARCH_SUPPORTS
select BR2_PACKAGE_HOST_GO
help
Delve is a debugger for the Go programming language.

View File

@@ -3,6 +3,7 @@ config BR2_PACKAGE_DOCKER_CLI
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
select BR2_PACKAGE_HOST_GO
help
Docker is a platform to build, ship,
and run applications as lightweight containers.

View File

@@ -4,6 +4,7 @@ config BR2_PACKAGE_DOCKER_COMPOSE
depends on BR2_PACKAGE_HOST_GO_TARGET_CGO_LINKING_SUPPORTS
depends on BR2_TOOLCHAIN_HAS_THREADS
depends on BR2_PACKAGE_DOCKER_CLI
select BR2_PACKAGE_HOST_GO
help
Multi-container applications with the Docker CLI.

View File

@@ -9,6 +9,7 @@ config BR2_PACKAGE_DOCKER_ENGINE
depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_17 # libseccomp
select BR2_PACKAGE_CGROUPFS_MOUNT if !BR2_PACKAGE_SYSTEMD # runtime dependency
select BR2_PACKAGE_CONTAINERD # runtime dependency
select BR2_PACKAGE_HOST_GO
select BR2_PACKAGE_IPTABLES # runtime dependency
select BR2_PACKAGE_LIBSECCOMP
help

View File

@@ -5,6 +5,7 @@ config BR2_PACKAGE_EMBIGGEN_DISK
depends on BR2_TOOLCHAIN_HAS_THREADS
depends on !BR2_TOOLCHAIN_USES_UCLIBC # no fexecve
depends on BR2_USE_MMU # util-linux
select BR2_PACKAGE_HOST_GO
select BR2_PACKAGE_UTIL_LINUX # sfdisk
select BR2_PACKAGE_UTIL_LINUX_BINARIES # sfdisk
help

View File

@@ -8,6 +8,7 @@ config BR2_PACKAGE_FLANNEL
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
select BR2_PACKAGE_HOST_GO
help
Flannel is a virtual network that gives a subnet to each
host for use with container runtimes.

View File

@@ -9,6 +9,7 @@ config BR2_PACKAGE_GITLAB_RUNNER
select BR2_PACKAGE_BUSYBOX_SHOW_OTHERS # bash
select BR2_PACKAGE_CA_CERTIFICATES # runtime
select BR2_PACKAGE_GIT # runtime
select BR2_PACKAGE_HOST_GO
select BR2_PACKAGE_LIBCURL # runtime
select BR2_PACKAGE_LIBCURL_CURL # runtime
select BR2_PACKAGE_LIBCURL_FORCE_TLS # runtime

View File

@@ -32,6 +32,11 @@ config BR2_PACKAGE_HOST_GO_HOST_ARCH_SUPPORTS
default y
depends on BR2_PACKAGE_HOST_GO_BOOTSTRAP_STAGE3_ARCH_SUPPORTS
# Go packages should select BR2_PACKAGE_HOST_GO
config BR2_PACKAGE_HOST_GO
bool
depends on BR2_PACKAGE_HOST_GO_HOST_ARCH_SUPPORTS
source "package/go/go-bootstrap-stage1/Config.in.host"
source "package/go/go-bootstrap-stage2/Config.in.host"
source "package/go/go-bootstrap-stage3/Config.in.host"

View File

@@ -2,6 +2,7 @@ config BR2_PACKAGE_GOCRYPTFS
bool "gocryptfs"
depends on BR2_PACKAGE_HOST_GO_TARGET_ARCH_SUPPORTS
depends on BR2_TOOLCHAIN_HAS_THREADS
select BR2_PACKAGE_HOST_GO
help
gocryptfs is an encrypted FUSE overlay filesystem.

View File

@@ -1,6 +1,7 @@
config BR2_PACKAGE_HOST_MENDER_ARTIFACT
bool "host mender-artifact"
depends on BR2_PACKAGE_HOST_GO_HOST_ARCH_SUPPORTS
select BR2_PACKAGE_HOST_GO
help
The mender-artifact tool is a CLI implementation of the
Mender artifacts library.

View File

@@ -6,6 +6,7 @@ config BR2_PACKAGE_MENDER_CONNECT
depends on BR2_USE_WCHAR # libglib2 -> gettext
depends on BR2_USE_MMU # dbus -> fork()
select BR2_PACKAGE_DBUS # runtime
select BR2_PACKAGE_HOST_GO
select BR2_PACKAGE_LIBGLIB2
select BR2_PACKAGE_MENDER # runtime
select BR2_PACKAGE_OPENSSL

View File

@@ -3,6 +3,7 @@ config BR2_PACKAGE_MENDER
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
select BR2_PACKAGE_HOST_GO
select BR2_PACKAGE_OPENSSL
select BR2_PACKAGE_OPENSSL_FORCE_LIBOPENSSL
select BR2_PACKAGE_LIBOPENSSL_ENABLE_MD4

View File

@@ -6,6 +6,7 @@ config BR2_PACKAGE_MOBY_BUILDKIT
depends on !BR2_TOOLCHAIN_USES_UCLIBC
depends on BR2_USE_MMU
select BR2_PACKAGE_CGROUPFS_MOUNT if !BR2_PACKAGE_SYSTEMD # runtime dependency
select BR2_PACKAGE_HOST_GO
help
BuildKit is a toolkit for converting source code to build
artifacts in an efficient, expressive and repeatable manner.

View File

@@ -1,6 +1,7 @@
config BR2_PACKAGE_HOST_MOBY_BUILDKIT
bool "host moby-buildkit"
depends on BR2_PACKAGE_HOST_GO_HOST_ARCH_SUPPORTS
select BR2_PACKAGE_HOST_GO
help
BuildKit is a toolkit for converting source code to build
artifacts in an efficient expressive and repeatable manner.

View File

@@ -6,6 +6,7 @@ config BR2_PACKAGE_NERDCTL
depends on !BR2_TOOLCHAIN_USES_UCLIBC # containerd
depends on BR2_USE_MMU # util-linux
select BR2_PACKAGE_CONTAINERD # runtime
select BR2_PACKAGE_HOST_GO
help
Docker-compatible CLI for containerd, controlling runc.

View File

@@ -4,6 +4,7 @@ config BR2_PACKAGE_RUNC
depends on BR2_PACKAGE_HOST_GO_TARGET_CGO_LINKING_SUPPORTS
depends on BR2_TOOLCHAIN_HAS_THREADS
depends on !BR2_TOOLCHAIN_USES_UCLIBC # no fexecve
select BR2_PACKAGE_HOST_GO
help
runC is a CLI tool for spawning and running containers
according to the OCI specification.

View File

@@ -1,6 +1,7 @@
config BR2_PACKAGE_HOST_RUNC
bool "host runc"
depends on BR2_PACKAGE_HOST_GO_HOST_ARCH_SUPPORTS
select BR2_PACKAGE_HOST_GO
help
runC is a CLI tool for spawning and running containers
according to the OCI specification.

View File

@@ -1,6 +1,7 @@
config BR2_PACKAGE_TINIFIER
bool "tinifier"
depends on BR2_PACKAGE_HOST_GO_TARGET_ARCH_SUPPORTS
select BR2_PACKAGE_HOST_GO
help
CLI tool for images compressing

View File

@@ -2,6 +2,7 @@ config BR2_PACKAGE_WTFUTIL
bool "wtfutil"
depends on BR2_USE_MMU # fork()
depends on BR2_PACKAGE_HOST_GO_TARGET_ARCH_SUPPORTS
select BR2_PACKAGE_HOST_GO
help
WTF is the personal information dashboard for your terminal.