kubectl: add v1.30.0 -> v1.32.3 (#49082)
* kubectl: add all versions currently supported upstream * kubectl: build same way as kubernetes * kubectl: revert back to GoPackage * kubectl: fix version command * kubectl: add v1.30.11, v1.31.7, v1.32.3 * kubectl: remove new deprecated versions * kubectl: refactor build deps
This commit is contained in:
parent
9c255381b1
commit
33cd7d6033
@ -11,20 +11,68 @@ class Kubectl(GoPackage):
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
homepage = "https://kubernetes.io"
|
homepage = "https://kubernetes.io"
|
||||||
url = "https://github.com/kubernetes/kubernetes/archive/refs/tags/v1.27.0.tar.gz"
|
url = "https://github.com/kubernetes/kubernetes/archive/refs/tags/v1.32.2.tar.gz"
|
||||||
|
|
||||||
maintainers("alecbcs")
|
maintainers("alecbcs")
|
||||||
|
|
||||||
license("Apache-2.0")
|
license("Apache-2.0")
|
||||||
|
|
||||||
version("1.32.0", sha256="3793859c53f09ebc92e013ea858b8916cc19d7fe288ec95882dada4e5a075d08")
|
version("1.32.3", sha256="b1ed5abe78a626804aadc49ecb8ade6fd33b27ab8c23d43cd59dc86f6462ac09")
|
||||||
version("1.31.1", sha256="83094915698a9c24f93d1ffda3f17804a4024d3b65eabf681e77a62b35137208")
|
version("1.31.7", sha256="92005ebd010a8d4fe3a532444c4645840e0af486062611a4d9c8d862414c3f56")
|
||||||
version("1.31.0", sha256="6679eb90815cc4c3bef6c1b93f7a8451bf3f40d003f45ab57fdc9f8c4e8d4b4f")
|
version("1.30.11", sha256="f30e4082b6a554d4a2bfedd8b2308a5e6012287e15bec94f72987f717bab4133")
|
||||||
version("1.27.1", sha256="3a3f7c6b8cf1d9f03aa67ba2f04669772b1205b89826859f1636062d5f8bec3f")
|
|
||||||
version("1.27.0", sha256="536025dba2714ee5e940bb0a6b1df9ca97c244fa5b00236e012776a69121c323")
|
|
||||||
|
|
||||||
depends_on("bash", type="build")
|
with default_args(deprecated=True):
|
||||||
depends_on("go@1.22:", type="build", when="@1.30:")
|
version(
|
||||||
depends_on("go@1.23:", type="build", when="@1.32:")
|
"1.32.0", sha256="3793859c53f09ebc92e013ea858b8916cc19d7fe288ec95882dada4e5a075d08"
|
||||||
|
)
|
||||||
|
version(
|
||||||
|
"1.31.1", sha256="83094915698a9c24f93d1ffda3f17804a4024d3b65eabf681e77a62b35137208"
|
||||||
|
)
|
||||||
|
version(
|
||||||
|
"1.31.0", sha256="6679eb90815cc4c3bef6c1b93f7a8451bf3f40d003f45ab57fdc9f8c4e8d4b4f"
|
||||||
|
)
|
||||||
|
version(
|
||||||
|
"1.27.1", sha256="3a3f7c6b8cf1d9f03aa67ba2f04669772b1205b89826859f1636062d5f8bec3f"
|
||||||
|
)
|
||||||
|
version(
|
||||||
|
"1.27.0", sha256="536025dba2714ee5e940bb0a6b1df9ca97c244fa5b00236e012776a69121c323"
|
||||||
|
)
|
||||||
|
|
||||||
|
with default_args(type="build"):
|
||||||
|
depends_on("bash")
|
||||||
|
|
||||||
|
depends_on("go@1.23:", when="@1.32:")
|
||||||
|
depends_on("go@1.22:", when="@1.30:")
|
||||||
|
depends_on("go@1.21:", when="@1.29:")
|
||||||
|
depends_on("go@1.20:", when="@1.27:")
|
||||||
|
|
||||||
build_directory = "cmd/kubectl"
|
build_directory = "cmd/kubectl"
|
||||||
|
|
||||||
|
# Required to correctly set the version
|
||||||
|
# Method discovered by following the trail below
|
||||||
|
#
|
||||||
|
# 1. https://github.com/kubernetes/kubernetes/blob/v1.32.2/Makefile#L1
|
||||||
|
# 2. https://github.com/kubernetes/kubernetes/blob/v1.32.2/build/root/Makefile#L97
|
||||||
|
# 3. https://github.com/kubernetes/kubernetes/blob/v1.32.2/hack/make-rules/build.sh#L25
|
||||||
|
# 4. https://github.com/kubernetes/kubernetes/blob/v1.32.2/hack/lib/init.sh#L61
|
||||||
|
# 5. https://github.com/kubernetes/kubernetes/blob/v1.32.2/hack/lib/version.sh#L151-L183
|
||||||
|
@property
|
||||||
|
def build_args(self):
|
||||||
|
kube_ldflags = [
|
||||||
|
f"-X 'k8s.io/client-go/pkg/version.gitVersion=v{self.version}'",
|
||||||
|
f"-X 'k8s.io/client-go/pkg/version.gitMajor={self.version.up_to(1)}'",
|
||||||
|
f"-X 'k8s.io/client-go/pkg/version.gitMinor={str(self.version).split('.')[1]}'",
|
||||||
|
f"-X 'k8s.io/component-base/version.gitVersion=v{self.version}'",
|
||||||
|
f"-X 'k8s.io/component-base/version.gitMajor={self.version.up_to(1)}'",
|
||||||
|
f"-X 'k8s.io/component-base/version.gitMinor={str(self.version).split('.')[1]}'",
|
||||||
|
]
|
||||||
|
|
||||||
|
args = super().build_args
|
||||||
|
|
||||||
|
if "-ldflags" in args:
|
||||||
|
ldflags_index = args.index("-ldflags") + 1
|
||||||
|
args[ldflags_index] = args[ldflags_index] + " " + " ".join(kube_ldflags)
|
||||||
|
else:
|
||||||
|
args.extend(["-ldflags", " ".join(kube_ldflags)])
|
||||||
|
|
||||||
|
return args
|
||||||
|
Loading…
Reference in New Issue
Block a user