Skip to content

Commit ba8fcaf

Browse files
authored
Merge pull request kubernetes#74467 from ixdy/bazel-cgo-crossbuild
bazel: create genrules to produce debs and RPMs without arch-specific names
2 parents 5312ade + a92c26d commit ba8fcaf

File tree

2 files changed

+36
-24
lines changed

2 files changed

+36
-24
lines changed

build/debs/BUILD

Lines changed: 18 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -21,32 +21,38 @@ release_filegroup(
2121
name = "debs",
2222
conditioned_srcs = for_platforms(
2323
default = [],
24-
for_client = [":kubectl-{ARCH}.deb"],
24+
for_client = [":kubectl.deb"],
2525
for_node = [
26-
":cri-tools-{ARCH}.deb",
27-
":kubeadm-{ARCH}.deb",
28-
":kubelet-{ARCH}.deb",
29-
":kubernetes-cni-{ARCH}.deb",
26+
":cri-tools.deb",
27+
":kubeadm.deb",
28+
":kubelet.deb",
29+
":kubernetes-cni.deb",
3030
],
3131
only_os = "linux",
3232
),
3333
)
3434

35-
# Create aliases from the non-arch names to the arch-specific names for backwards compatibility
36-
alias(
35+
# Create genrules to copy the arch-specific debs to debs without the arch in their filename.
36+
genrule(
3737
name = "kubectl",
38-
actual = select(for_platforms(
39-
for_client = ":kubectl-{ARCH}",
38+
srcs = select(for_platforms(
39+
for_client = [":kubectl-{ARCH}.deb"],
4040
only_os = "linux",
4141
)),
42+
outs = ["kubectl.deb"],
43+
cmd = "cp $< $@",
44+
output_to_bindir = True,
4245
)
4346

44-
[alias(
47+
[genrule(
4548
name = pkg,
46-
actual = select(for_platforms(
47-
for_node = ":%s-{ARCH}" % pkg,
49+
srcs = select(for_platforms(
50+
for_node = [":%s-{ARCH}.deb" % pkg],
4851
only_os = "linux",
4952
)),
53+
outs = ["%s.deb" % pkg],
54+
cmd = "cp $< $@",
55+
output_to_bindir = True,
5056
) for pkg in [
5157
"cri-tools",
5258
"kubeadm",

build/rpms/BUILD

Lines changed: 18 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -9,34 +9,40 @@ release_filegroup(
99
name = "rpms",
1010
conditioned_srcs = for_platforms(
1111
default = [],
12-
for_client = [":kubectl-{ARCH}"],
12+
for_client = [":kubectl.rpm"],
1313
for_node = [
14-
":cri-tools-{ARCH}",
15-
":kubeadm-{ARCH}",
16-
":kubelet-{ARCH}",
17-
":kubernetes-cni-{ARCH}",
14+
":cri-tools.rpm",
15+
":kubeadm.rpm",
16+
":kubelet.rpm",
17+
":kubernetes-cni.rpm",
1818
],
1919
only_os = "linux",
2020
),
2121
tags = ["manual"],
2222
visibility = ["//visibility:public"],
2323
)
2424

25-
# Create aliases from the non-arch names to the arch-specific names for backwards compatibility
26-
alias(
25+
# Create genrules to copy the arch-specific RPMs to RPMs without the arch in their filename.
26+
genrule(
2727
name = "kubectl",
28-
actual = select(for_platforms(
29-
for_client = ":kubectl-{ARCH}",
28+
srcs = select(for_platforms(
29+
for_client = [":kubectl-{ARCH}.rpm"],
3030
only_os = "linux",
3131
)),
32+
outs = ["kubectl.rpm"],
33+
cmd = "cp $< $@",
34+
output_to_bindir = True,
3235
)
3336

34-
[alias(
37+
[genrule(
3538
name = pkg,
36-
actual = select(for_platforms(
37-
for_client = ":%s-{ARCH}" % pkg,
39+
srcs = select(for_platforms(
40+
for_client = [":%s-{ARCH}.rpm" % pkg],
3841
only_os = "linux",
3942
)),
43+
outs = ["%s.rpm" % pkg],
44+
cmd = "cp $< $@",
45+
output_to_bindir = True,
4046
) for pkg in [
4147
"cri-tools",
4248
"kubeadm",

0 commit comments

Comments
 (0)