commit: 5dd2e1ccfbdf3c4b4309327a110ef43bf6b8e133 Author: William Hubbs <williamh <AT> gentoo <DOT> org> AuthorDate: Wed Aug 23 15:02:06 2023 +0000 Commit: William Hubbs <williamh <AT> gentoo <DOT> org> CommitDate: Wed Aug 23 15:02:06 2023 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5dd2e1cc
sys-cluster/kube-apiserver: make gomaxprocs install optional Bug: https://bugs.gentoo.org/912781 Signed-off-by: William Hubbs <williamh <AT> gentoo.org> ...r-1.28.0-make-gomaxprocs-install-optional.patch | 78 ++++++++++++++++++++++ .../kube-apiserver/kube-apiserver-1.28.0.ebuild | 6 +- 2 files changed, 83 insertions(+), 1 deletion(-) diff --git a/sys-cluster/kube-apiserver/files/kube-apiserver-1.28.0-make-gomaxprocs-install-optional.patch b/sys-cluster/kube-apiserver/files/kube-apiserver-1.28.0-make-gomaxprocs-install-optional.patch new file mode 100644 index 000000000000..1a8935b31c9c --- /dev/null +++ b/sys-cluster/kube-apiserver/files/kube-apiserver-1.28.0-make-gomaxprocs-install-optional.patch @@ -0,0 +1,78 @@ +From cce3f6ffa796ea416021b0d62567a3f52b979567 Mon Sep 17 00:00:00 2001 +From: Jordan Liggitt <ligg...@google.com> +Date: Wed, 16 Aug 2023 09:33:02 -0400 +Subject: [PATCH 2/2] Make gomaxprocs install optional, limit to tests + +--- + hack/lib/golang.sh | 25 +++++++++++++++---------- + hack/make-rules/test-e2e-node.sh | 1 + + hack/make-rules/test.sh | 1 + + 3 files changed, 17 insertions(+), 10 deletions(-) + +diff --git a/hack/lib/golang.sh b/hack/lib/golang.sh +index 66772f08a81..983ff368e25 100755 +--- a/hack/lib/golang.sh ++++ b/hack/lib/golang.sh +@@ -556,20 +556,25 @@ kube::golang::setup_env() { + + # This seems to matter to some tools + export GO15VENDOREXPERIMENT=1 ++} + ++kube::golang::setup_gomaxprocs() { + # GOMAXPROCS by default does not reflect the number of cpu(s) available + # when running in a container, please see https://github.com/golang/go/issues/33803 +- if ! command -v ncpu >/dev/null 2>&1; then +- # shellcheck disable=SC2164 +- pushd "${KUBE_ROOT}/hack/tools" >/dev/null +- GO111MODULE=on go install ./ncpu +- # shellcheck disable=SC2164 +- popd >/dev/null ++ if [[ -z "${GOMAXPROCS:-}" ]]; then ++ if ! command -v ncpu >/dev/null 2>&1; then ++ # shellcheck disable=SC2164 ++ pushd "${KUBE_ROOT}/hack/tools" >/dev/null ++ GO111MODULE=on go install ./ncpu || echo "Will not automatically set GOMAXPROCS" ++ # shellcheck disable=SC2164 ++ popd >/dev/null ++ fi ++ if command -v ncpu >/dev/null 2>&1; then ++ GOMAXPROCS=$(ncpu) ++ export GOMAXPROCS ++ kube::log::status "Set GOMAXPROCS automatically to ${GOMAXPROCS}" ++ fi + fi +- +- GOMAXPROCS=${GOMAXPROCS:-$(ncpu)} +- export GOMAXPROCS +- kube::log::status "Setting GOMAXPROCS: ${GOMAXPROCS}" + } + + # This will take binaries from $GOPATH/bin and copy them to the appropriate +diff --git a/hack/make-rules/test-e2e-node.sh b/hack/make-rules/test-e2e-node.sh +index 43dde0c740f..49e3e04ac71 100755 +--- a/hack/make-rules/test-e2e-node.sh ++++ b/hack/make-rules/test-e2e-node.sh +@@ -18,6 +18,7 @@ KUBE_ROOT=$(dirname "${BASH_SOURCE[0]}")/../.. + source "${KUBE_ROOT}/hack/lib/init.sh" + + kube::golang::setup_env ++kube::golang::setup_gomaxprocs + + # start the cache mutation detector by default so that cache mutators will be found + KUBE_CACHE_MUTATION_DETECTOR="${KUBE_CACHE_MUTATION_DETECTOR:-true}" +diff --git a/hack/make-rules/test.sh b/hack/make-rules/test.sh +index e9074678a8f..4aa72730d83 100755 +--- a/hack/make-rules/test.sh ++++ b/hack/make-rules/test.sh +@@ -22,6 +22,7 @@ KUBE_ROOT=$(dirname "${BASH_SOURCE[0]}")/../.. + source "${KUBE_ROOT}/hack/lib/init.sh" + + kube::golang::setup_env ++kube::golang::setup_gomaxprocs + + # start the cache mutation detector by default so that cache mutators will be found + KUBE_CACHE_MUTATION_DETECTOR="${KUBE_CACHE_MUTATION_DETECTOR:-true}" +-- +2.41.0 + diff --git a/sys-cluster/kube-apiserver/kube-apiserver-1.28.0.ebuild b/sys-cluster/kube-apiserver/kube-apiserver-1.28.0.ebuild index 4385ac330a7d..4e599b798a47 100644 --- a/sys-cluster/kube-apiserver/kube-apiserver-1.28.0.ebuild +++ b/sys-cluster/kube-apiserver/kube-apiserver-1.28.0.ebuild @@ -23,8 +23,12 @@ BDEPEND=">=dev-lang/go-1.20" RESTRICT+=" test" S="${WORKDIR}/kubernetes-${PV}" +PATCHES=( + "${FILESDIR}"/${P}-make-gomaxprocs-install-optional.patch + ) + src_compile() { - CGO_LDFLAGS="$(usex hardened '-fno-PIC ' '')" \ + CGO_LDFLAGS="$(usex hardened '-fNO-PIC ' '')" FORCE_HOST_GO="yes" \ emake -j1 GOFLAGS=-v GOLDFLAGS="" LDFLAGS="" WHAT=cmd/${PN} }