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_TOOLCHAIN_USES_UCLIBC # no fexecve
depends on BR2_USE_MMU # util-linux depends on BR2_USE_MMU # util-linux
select BR2_PACKAGE_CGROUPFS_MOUNT if !BR2_PACKAGE_SYSTEMD # runtime select BR2_PACKAGE_CGROUPFS_MOUNT if !BR2_PACKAGE_SYSTEMD # runtime
select BR2_PACKAGE_HOST_GO
select BR2_PACKAGE_IPTABLES # runtime select BR2_PACKAGE_IPTABLES # runtime
select BR2_PACKAGE_UTIL_LINUX # runtime select BR2_PACKAGE_UTIL_LINUX # runtime
select BR2_PACKAGE_UTIL_LINUX_BINARIES # 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_HAS_THREADS
depends on !BR2_TOOLCHAIN_USES_UCLIBC # no fexecve depends on !BR2_TOOLCHAIN_USES_UCLIBC # no fexecve
depends on BR2_USE_MMU depends on BR2_USE_MMU
select BR2_PACKAGE_HOST_GO
help help
Container Networking Interface plugins. Container Networking Interface plugins.

View File

@@ -5,6 +5,7 @@ config BR2_PACKAGE_CONTAINERD
depends on BR2_TOOLCHAIN_HAS_THREADS depends on BR2_TOOLCHAIN_HAS_THREADS
depends on !BR2_TOOLCHAIN_USES_UCLIBC # runc depends on !BR2_TOOLCHAIN_USES_UCLIBC # runc
depends on BR2_USE_MMU # util-linux 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_RUNC if !BR2_PACKAGE_CRUN # runtime dependency
select BR2_PACKAGE_UTIL_LINUX # runtime dependency select BR2_PACKAGE_UTIL_LINUX # runtime dependency
select BR2_PACKAGE_UTIL_LINUX_BINARIES select BR2_PACKAGE_UTIL_LINUX_BINARIES

View File

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

View File

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

View File

@@ -1,6 +1,7 @@
config BR2_PACKAGE_HOST_DELVE config BR2_PACKAGE_HOST_DELVE
bool "host delve" bool "host delve"
depends on BR2_PACKAGE_HOST_GO_HOST_ARCH_SUPPORTS depends on BR2_PACKAGE_HOST_GO_HOST_ARCH_SUPPORTS
select BR2_PACKAGE_HOST_GO
help help
Delve is a debugger for the Go programming language. 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_ARCH_SUPPORTS
depends on BR2_PACKAGE_HOST_GO_TARGET_CGO_LINKING_SUPPORTS depends on BR2_PACKAGE_HOST_GO_TARGET_CGO_LINKING_SUPPORTS
depends on BR2_TOOLCHAIN_HAS_THREADS depends on BR2_TOOLCHAIN_HAS_THREADS
select BR2_PACKAGE_HOST_GO
help help
Docker is a platform to build, ship, Docker is a platform to build, ship,
and run applications as lightweight containers. 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_PACKAGE_HOST_GO_TARGET_CGO_LINKING_SUPPORTS
depends on BR2_TOOLCHAIN_HAS_THREADS depends on BR2_TOOLCHAIN_HAS_THREADS
depends on BR2_PACKAGE_DOCKER_CLI depends on BR2_PACKAGE_DOCKER_CLI
select BR2_PACKAGE_HOST_GO
help help
Multi-container applications with the Docker CLI. 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 depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_17 # libseccomp
select BR2_PACKAGE_CGROUPFS_MOUNT if !BR2_PACKAGE_SYSTEMD # runtime dependency select BR2_PACKAGE_CGROUPFS_MOUNT if !BR2_PACKAGE_SYSTEMD # runtime dependency
select BR2_PACKAGE_CONTAINERD # runtime dependency select BR2_PACKAGE_CONTAINERD # runtime dependency
select BR2_PACKAGE_HOST_GO
select BR2_PACKAGE_IPTABLES # runtime dependency select BR2_PACKAGE_IPTABLES # runtime dependency
select BR2_PACKAGE_LIBSECCOMP select BR2_PACKAGE_LIBSECCOMP
help help

View File

@@ -5,6 +5,7 @@ config BR2_PACKAGE_EMBIGGEN_DISK
depends on BR2_TOOLCHAIN_HAS_THREADS depends on BR2_TOOLCHAIN_HAS_THREADS
depends on !BR2_TOOLCHAIN_USES_UCLIBC # no fexecve depends on !BR2_TOOLCHAIN_USES_UCLIBC # no fexecve
depends on BR2_USE_MMU # util-linux depends on BR2_USE_MMU # util-linux
select BR2_PACKAGE_HOST_GO
select BR2_PACKAGE_UTIL_LINUX # sfdisk select BR2_PACKAGE_UTIL_LINUX # sfdisk
select BR2_PACKAGE_UTIL_LINUX_BINARIES # sfdisk select BR2_PACKAGE_UTIL_LINUX_BINARIES # sfdisk
help 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_ARCH_SUPPORTS
depends on BR2_PACKAGE_HOST_GO_TARGET_CGO_LINKING_SUPPORTS depends on BR2_PACKAGE_HOST_GO_TARGET_CGO_LINKING_SUPPORTS
depends on BR2_TOOLCHAIN_HAS_THREADS depends on BR2_TOOLCHAIN_HAS_THREADS
select BR2_PACKAGE_HOST_GO
help help
Flannel is a virtual network that gives a subnet to each Flannel is a virtual network that gives a subnet to each
host for use with container runtimes. 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_BUSYBOX_SHOW_OTHERS # bash
select BR2_PACKAGE_CA_CERTIFICATES # runtime select BR2_PACKAGE_CA_CERTIFICATES # runtime
select BR2_PACKAGE_GIT # runtime select BR2_PACKAGE_GIT # runtime
select BR2_PACKAGE_HOST_GO
select BR2_PACKAGE_LIBCURL # runtime select BR2_PACKAGE_LIBCURL # runtime
select BR2_PACKAGE_LIBCURL_CURL # runtime select BR2_PACKAGE_LIBCURL_CURL # runtime
select BR2_PACKAGE_LIBCURL_FORCE_TLS # runtime select BR2_PACKAGE_LIBCURL_FORCE_TLS # runtime

View File

@@ -32,6 +32,11 @@ config BR2_PACKAGE_HOST_GO_HOST_ARCH_SUPPORTS
default y default y
depends on BR2_PACKAGE_HOST_GO_BOOTSTRAP_STAGE3_ARCH_SUPPORTS 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-stage1/Config.in.host"
source "package/go/go-bootstrap-stage2/Config.in.host" source "package/go/go-bootstrap-stage2/Config.in.host"
source "package/go/go-bootstrap-stage3/Config.in.host" source "package/go/go-bootstrap-stage3/Config.in.host"

View File

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

View File

@@ -1,6 +1,7 @@
config BR2_PACKAGE_HOST_MENDER_ARTIFACT config BR2_PACKAGE_HOST_MENDER_ARTIFACT
bool "host mender-artifact" bool "host mender-artifact"
depends on BR2_PACKAGE_HOST_GO_HOST_ARCH_SUPPORTS depends on BR2_PACKAGE_HOST_GO_HOST_ARCH_SUPPORTS
select BR2_PACKAGE_HOST_GO
help help
The mender-artifact tool is a CLI implementation of the The mender-artifact tool is a CLI implementation of the
Mender artifacts library. 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_WCHAR # libglib2 -> gettext
depends on BR2_USE_MMU # dbus -> fork() depends on BR2_USE_MMU # dbus -> fork()
select BR2_PACKAGE_DBUS # runtime select BR2_PACKAGE_DBUS # runtime
select BR2_PACKAGE_HOST_GO
select BR2_PACKAGE_LIBGLIB2 select BR2_PACKAGE_LIBGLIB2
select BR2_PACKAGE_MENDER # runtime select BR2_PACKAGE_MENDER # runtime
select BR2_PACKAGE_OPENSSL 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_ARCH_SUPPORTS
depends on BR2_PACKAGE_HOST_GO_TARGET_CGO_LINKING_SUPPORTS depends on BR2_PACKAGE_HOST_GO_TARGET_CGO_LINKING_SUPPORTS
depends on BR2_TOOLCHAIN_HAS_THREADS depends on BR2_TOOLCHAIN_HAS_THREADS
select BR2_PACKAGE_HOST_GO
select BR2_PACKAGE_OPENSSL select BR2_PACKAGE_OPENSSL
select BR2_PACKAGE_OPENSSL_FORCE_LIBOPENSSL select BR2_PACKAGE_OPENSSL_FORCE_LIBOPENSSL
select BR2_PACKAGE_LIBOPENSSL_ENABLE_MD4 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_TOOLCHAIN_USES_UCLIBC
depends on BR2_USE_MMU depends on BR2_USE_MMU
select BR2_PACKAGE_CGROUPFS_MOUNT if !BR2_PACKAGE_SYSTEMD # runtime dependency select BR2_PACKAGE_CGROUPFS_MOUNT if !BR2_PACKAGE_SYSTEMD # runtime dependency
select BR2_PACKAGE_HOST_GO
help help
BuildKit is a toolkit for converting source code to build BuildKit is a toolkit for converting source code to build
artifacts in an efficient, expressive and repeatable manner. artifacts in an efficient, expressive and repeatable manner.

View File

@@ -1,6 +1,7 @@
config BR2_PACKAGE_HOST_MOBY_BUILDKIT config BR2_PACKAGE_HOST_MOBY_BUILDKIT
bool "host moby-buildkit" bool "host moby-buildkit"
depends on BR2_PACKAGE_HOST_GO_HOST_ARCH_SUPPORTS depends on BR2_PACKAGE_HOST_GO_HOST_ARCH_SUPPORTS
select BR2_PACKAGE_HOST_GO
help help
BuildKit is a toolkit for converting source code to build BuildKit is a toolkit for converting source code to build
artifacts in an efficient expressive and repeatable manner. 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_TOOLCHAIN_USES_UCLIBC # containerd
depends on BR2_USE_MMU # util-linux depends on BR2_USE_MMU # util-linux
select BR2_PACKAGE_CONTAINERD # runtime select BR2_PACKAGE_CONTAINERD # runtime
select BR2_PACKAGE_HOST_GO
help help
Docker-compatible CLI for containerd, controlling runc. 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_PACKAGE_HOST_GO_TARGET_CGO_LINKING_SUPPORTS
depends on BR2_TOOLCHAIN_HAS_THREADS depends on BR2_TOOLCHAIN_HAS_THREADS
depends on !BR2_TOOLCHAIN_USES_UCLIBC # no fexecve depends on !BR2_TOOLCHAIN_USES_UCLIBC # no fexecve
select BR2_PACKAGE_HOST_GO
help help
runC is a CLI tool for spawning and running containers runC is a CLI tool for spawning and running containers
according to the OCI specification. according to the OCI specification.

View File

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

View File

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

View File

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