File kubernetes-trimpath.patch of Package kubernetes1.24

From 37b7ae6b9332e0275bcc8eeb01bbc69e2f3239e6 Mon Sep 17 00:00:00 2001
From: Tim Hockin <thockin@google.com>
Date: Tue, 14 Nov 2023 18:57:34 -0800
Subject: [PATCH 1/2] build: use -trimpath in non-DBG mode

fix reproducible builds
https://github.com/kubernetes/kubernetes/issues/110928

---
 hack/lib/golang.sh | 28 +++++++++-------------------
 1 file changed, 9 insertions(+), 19 deletions(-)

Index: kubernetes-1.24.17/hack/lib/golang.sh
===================================================================
--- kubernetes-1.24.17.orig/hack/lib/golang.sh
+++ kubernetes-1.24.17/hack/lib/golang.sh
@@ -719,7 +719,6 @@ kube::golang::build_binaries_for_platfor
       -installsuffix=static
       ${goflags:+"${goflags[@]}"}
       -gcflags="${gogcflags}"
-      -asmflags="${goasmflags}"
       -ldflags="${goldflags}"
       -tags="${gotags:-}"
     )
@@ -730,7 +729,6 @@ kube::golang::build_binaries_for_platfor
     build_args=(
       ${goflags:+"${goflags[@]}"}
       -gcflags="${gogcflags}"
-      -asmflags="${goasmflags}"
       -ldflags="${goldflags}"
       -tags="${gotags:-}"
     )
@@ -746,7 +744,6 @@ kube::golang::build_binaries_for_platfor
     go test -c \
       ${goflags:+"${goflags[@]}"} \
       -gcflags="${gogcflags}" \
-      -asmflags="${goasmflags}" \
       -ldflags="${goldflags}" \
       -tags="${gotags:-}" \
       -o "${outfile}" \
@@ -805,23 +802,17 @@ kube::golang::build_binaries() {
     # build_binaries_for_platform.
     local goflags goldflags goasmflags gogcflags gotags
 
-    # This is $(pwd) because we use run-in-gopath to build.  Once that is
-    # excised, this can become ${KUBE_ROOT}.
-    local trimroot # two lines to appease shellcheck SC2155
-    trimroot=$(pwd)
-
-    goasmflags="all=-trimpath=${trimroot}"
-
-    gogcflags="all=-trimpath=${trimroot} ${GOGCFLAGS:-}"
+    goasmflags=""
+    goflags=()
+    gogcflags="${GOGCFLAGS:-}"
+    goldflags="all=$(kube::version::ldflags) ${GOLDFLAGS:-}"
     if [[ "${DBG:-}" == 1 ]]; then
         # Debugging - disable optimizations and inlining.
         gogcflags="${gogcflags} -N -l"
-    fi
-
-    goldflags="all=$(kube::version::ldflags) ${GOLDFLAGS:-}"
-    if [[ "${DBG:-}" != 1 ]]; then
+    else
         # Not debugging - disable symbols and DWARF.
         goldflags="${goldflags} -s -w"
+	goflags+=("-trimpath")
     fi
 
     # Extract tags if any specified in GOFLAGS
Index: kubernetes-1.24.17/test/conformance/gen-specsummaries.sh
===================================================================
--- kubernetes-1.24.17.orig/test/conformance/gen-specsummaries.sh
+++ kubernetes-1.24.17/test/conformance/gen-specsummaries.sh
@@ -26,7 +26,12 @@ cd "${KUBE_ROOT}"
 # NOTE: we do *not* use `make WHAT=...` because we do *not* want to be running
 # make generated_files when diffing things (see: hack/verify-conformance-yaml.sh)
 # other update/verify already handle the generated files
-hack/make-rules/build.sh vendor/github.com/onsi/ginkgo/ginkgo test/e2e/e2e.test
+#
+# Set DBG=1 to build with embedded filenames as filenames rather than
+# module-relative names (e.g. /src/kube/foo/bar.go vs.
+# k8s.io/kubernetes/foo/bar.go).  These names are used by gingko in
+# `--spec-dump` which is consumed later in conformance verification.
+DBG=1 hack/make-rules/build.sh vendor/github.com/onsi/ginkgo/ginkgo test/e2e/e2e.test
 
 # dump spec
 ./_output/bin/ginkgo --dryRun=true --focus='[Conformance]' ./_output/bin/e2e.test -- --spec-dump "${KUBE_ROOT}/_output/specsummaries.json" > /dev/null
openSUSE Build Service is sponsored by