From b54e5b908d3f85ad4fa2a40e9ad66ac6b3286952 Mon Sep 17 00:00:00 2001 From: xeji Date: Fri, 23 Feb 2018 22:56:36 +0100 Subject: [PATCH 1/2] kubernetes: patch broken go version check fixes #35403 patch from https://github.com/kubernetes/kubernetes/pull/58207 already merged upstream - remove for next version --- .../networking/cluster/kubernetes/default.nix | 5 +++++ .../cluster/kubernetes/go-version-check.patch | 11 +++++++++++ 2 files changed, 16 insertions(+) create mode 100644 pkgs/applications/networking/cluster/kubernetes/go-version-check.patch diff --git a/pkgs/applications/networking/cluster/kubernetes/default.nix b/pkgs/applications/networking/cluster/kubernetes/default.nix index e2f431e2a5e50f..341abf98739d46 100644 --- a/pkgs/applications/networking/cluster/kubernetes/default.nix +++ b/pkgs/applications/networking/cluster/kubernetes/default.nix @@ -29,6 +29,11 @@ stdenv.mkDerivation rec { outputs = ["out" "man" "pause"]; + # patch broken go version check, see issue #35403 + # patch is from https://github.com/kubernetes/kubernetes/pull/58207 + #TODO: patch already merged upstream - remove for next k8s version + patches = [ ./go-version-check.patch ]; + postPatch = '' substituteInPlace "hack/lib/golang.sh" --replace "_cgo" "" substituteInPlace "hack/generate-docs.sh" --replace "make" "make SHELL=${stdenv.shell}" diff --git a/pkgs/applications/networking/cluster/kubernetes/go-version-check.patch b/pkgs/applications/networking/cluster/kubernetes/go-version-check.patch new file mode 100644 index 00000000000000..e3040cbb70ff23 --- /dev/null +++ b/pkgs/applications/networking/cluster/kubernetes/go-version-check.patch @@ -0,0 +1,11 @@ +--- a/hack/lib/golang.sh ++++ b/hack/lib/golang.sh +@@ -323,7 +323,7 @@ EOF + go_version=($(go version)) + local minimum_go_version + minimum_go_version=go1.9.1 +- if [[ "${go_version[2]}" < "${minimum_go_version}" && "${go_version[2]}" != "devel" ]]; then ++ if [[ "${minimum_go_version}" != $(echo -e "${minimum_go_version}\n${go_version[2]}" | sort -s -t. -k 1,1 -k 2,2n -k 3,3n | head -n1) && "${go_version[2]}" != "devel" ]]; then + kube::log::usage_from_stdin < Date: Sat, 24 Feb 2018 01:18:46 +0000 Subject: [PATCH 2/2] kubernetes: use fetchpatch instead --- .../networking/cluster/kubernetes/default.nix | 13 ++++++++----- .../cluster/kubernetes/go-version-check.patch | 11 ----------- 2 files changed, 8 insertions(+), 16 deletions(-) delete mode 100644 pkgs/applications/networking/cluster/kubernetes/go-version-check.patch diff --git a/pkgs/applications/networking/cluster/kubernetes/default.nix b/pkgs/applications/networking/cluster/kubernetes/default.nix index 341abf98739d46..090fc98566de28 100644 --- a/pkgs/applications/networking/cluster/kubernetes/default.nix +++ b/pkgs/applications/networking/cluster/kubernetes/default.nix @@ -1,4 +1,4 @@ -{ stdenv, lib, fetchFromGitHub, removeReferencesTo, which, go, go-bindata, makeWrapper, rsync +{ stdenv, lib, fetchFromGitHub, fetchpatch, removeReferencesTo, which, go, go-bindata, makeWrapper, rsync , iptables, coreutils , components ? [ "cmd/kubeadm" @@ -29,10 +29,13 @@ stdenv.mkDerivation rec { outputs = ["out" "man" "pause"]; - # patch broken go version check, see issue #35403 - # patch is from https://github.com/kubernetes/kubernetes/pull/58207 - #TODO: patch already merged upstream - remove for next k8s version - patches = [ ./go-version-check.patch ]; + patches = [ + # patch is from https://github.com/kubernetes/kubernetes/pull/58207 + (fetchpatch { + url = "https://github.com/kubernetes/kubernetes/commit/a990b04dc8a7d8408a71eee40db93621cf2b6d1b.patch"; + sha256 = "0piqilc5c9frikl74hamkffawwg1mvdwfxqvjnmk6wdma43dbb7w"; + }) + ]; postPatch = '' substituteInPlace "hack/lib/golang.sh" --replace "_cgo" "" diff --git a/pkgs/applications/networking/cluster/kubernetes/go-version-check.patch b/pkgs/applications/networking/cluster/kubernetes/go-version-check.patch deleted file mode 100644 index e3040cbb70ff23..00000000000000 --- a/pkgs/applications/networking/cluster/kubernetes/go-version-check.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- a/hack/lib/golang.sh -+++ b/hack/lib/golang.sh -@@ -323,7 +323,7 @@ EOF - go_version=($(go version)) - local minimum_go_version - minimum_go_version=go1.9.1 -- if [[ "${go_version[2]}" < "${minimum_go_version}" && "${go_version[2]}" != "devel" ]]; then -+ if [[ "${minimum_go_version}" != $(echo -e "${minimum_go_version}\n${go_version[2]}" | sort -s -t. -k 1,1 -k 2,2n -k 3,3n | head -n1) && "${go_version[2]}" != "devel" ]]; then - kube::log::usage_from_stdin <