* [meta-virtualization] [kirkstone] [PATCH 1/3] cni: reproducible builds: pass -trimpath
2023-12-11 9:53 [meta-virtualization] [kirkstone] [PATCH 0/3] cni: cherry pick fixes from master liu.ming50
@ 2023-12-11 9:53 ` liu.ming50
2023-12-11 9:53 ` [meta-virtualization] [kirkstone] [PATCH 2/3] cni: fix textrel QA issue liu.ming50
` (2 subsequent siblings)
3 siblings, 0 replies; 5+ messages in thread
From: liu.ming50 @ 2023-12-11 9:53 UTC (permalink / raw)
To: meta-virtualization; +Cc: Bruce Ashfield
From: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
---
recipes-networking/cni/cni_git.bb | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/recipes-networking/cni/cni_git.bb b/recipes-networking/cni/cni_git.bb
index cac62ae1..fd9115ab 100644
--- a/recipes-networking/cni/cni_git.bb
+++ b/recipes-networking/cni/cni_git.bb
@@ -39,10 +39,10 @@ do_compile() {
export GO111MODULE=off
cd ${B}/src/github.com/containernetworking/cni/libcni
- ${GO} build
+ ${GO} build -trimpath
cd ${B}/src/github.com/containernetworking/cni/cnitool
- ${GO} build
+ ${GO} build -trimpath
cd ${B}/src/github.com/containernetworking/plugins
PLUGINS="$(ls -d plugins/meta/*; ls -d plugins/ipam/*; ls -d plugins/main/* | grep -v windows)"
@@ -50,7 +50,7 @@ do_compile() {
for p in $PLUGINS; do
plugin="$(basename "$p")"
echo "building: $p"
- ${GO} build -o ${B}/plugins/bin/$plugin github.com/containernetworking/plugins/$p
+ ${GO} build -trimpath -o ${B}/plugins/bin/$plugin github.com/containernetworking/plugins/$p
done
}
--
2.34.1
^ permalink raw reply related [flat|nested] 5+ messages in thread* [meta-virtualization] [kirkstone] [PATCH 2/3] cni: fix textrel QA issue
2023-12-11 9:53 [meta-virtualization] [kirkstone] [PATCH 0/3] cni: cherry pick fixes from master liu.ming50
2023-12-11 9:53 ` [meta-virtualization] [kirkstone] [PATCH 1/3] cni: reproducible builds: pass -trimpath liu.ming50
@ 2023-12-11 9:53 ` liu.ming50
2023-12-11 9:53 ` [meta-virtualization] [kirkstone] [PATCH 3/3] cni: clean dir ${B}/plugins before do_compile liu.ming50
2023-12-14 19:59 ` [meta-virtualization] [kirkstone] [PATCH 0/3] cni: cherry pick fixes from master Bruce Ashfield
3 siblings, 0 replies; 5+ messages in thread
From: liu.ming50 @ 2023-12-11 9:53 UTC (permalink / raw)
To: meta-virtualization; +Cc: Chen Qi, Bruce Ashfield
From: Chen Qi <Qi.Chen@windriver.com>
When building cni, we get textrel QA issue like below:
cni: ELF binary /usr/libexec/cni/macvlan has relocations in .text
The problem could be solved by adding '-buildmode=pie' to ${GO}.
In go.bbclass, this flag is added to GOBUILDFLAGS conditionally,
that is, if the arch is not mips nor riscv32, this '-buildmode=pie'
is added to GOBUILDFLAGS. So make use of that.
Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
---
recipes-networking/cni/cni_git.bb | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/recipes-networking/cni/cni_git.bb b/recipes-networking/cni/cni_git.bb
index fd9115ab..854c7a04 100644
--- a/recipes-networking/cni/cni_git.bb
+++ b/recipes-networking/cni/cni_git.bb
@@ -39,10 +39,10 @@ do_compile() {
export GO111MODULE=off
cd ${B}/src/github.com/containernetworking/cni/libcni
- ${GO} build -trimpath
+ ${GO} build ${GOBUILDFLAGS}
cd ${B}/src/github.com/containernetworking/cni/cnitool
- ${GO} build -trimpath
+ ${GO} build ${GOBUILDFLAGS}
cd ${B}/src/github.com/containernetworking/plugins
PLUGINS="$(ls -d plugins/meta/*; ls -d plugins/ipam/*; ls -d plugins/main/* | grep -v windows)"
@@ -50,7 +50,7 @@ do_compile() {
for p in $PLUGINS; do
plugin="$(basename "$p")"
echo "building: $p"
- ${GO} build -trimpath -o ${B}/plugins/bin/$plugin github.com/containernetworking/plugins/$p
+ ${GO} build ${GOBUILDFLAGS} -o ${B}/plugins/bin/$plugin github.com/containernetworking/plugins/$p
done
}
--
2.34.1
^ permalink raw reply related [flat|nested] 5+ messages in thread* [meta-virtualization] [kirkstone] [PATCH 3/3] cni: clean dir ${B}/plugins before do_compile
2023-12-11 9:53 [meta-virtualization] [kirkstone] [PATCH 0/3] cni: cherry pick fixes from master liu.ming50
2023-12-11 9:53 ` [meta-virtualization] [kirkstone] [PATCH 1/3] cni: reproducible builds: pass -trimpath liu.ming50
2023-12-11 9:53 ` [meta-virtualization] [kirkstone] [PATCH 2/3] cni: fix textrel QA issue liu.ming50
@ 2023-12-11 9:53 ` liu.ming50
2023-12-14 19:59 ` [meta-virtualization] [kirkstone] [PATCH 0/3] cni: cherry pick fixes from master Bruce Ashfield
3 siblings, 0 replies; 5+ messages in thread
From: liu.ming50 @ 2023-12-11 9:53 UTC (permalink / raw)
To: meta-virtualization; +Cc: Changqing Li, Bruce Ashfield
From: Changqing Li <changqing.li@windriver.com>
Clean dir ${B}/plugins before do_compile to avoid cni generated binaries
like /usr/libexec/cni/bridge has wrong dynamic linker path and reports
error like: /usr/libexec/cni/bridge: no such file or directory".
Reproduce steps:
1. bitbake cni
2. enable usrmerge feature in local.conf
3. bitbake cni
After step 2, GOBUILDFLAGS changed,
"-I /lib64/ld-linux-aarch64.so.1" -> "/usr/lib/ld-linux-aarch64.so.1"
But "go build" seems only check if the cached packagefile changed, since
all not changed, the dynamic linker still use the old one, maybe go
build should improve this.
Clean dir ${B}/plugins to trigger rebuild of the binaries here.
Signed-off-by: Changqing Li <changqing.li@windriver.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
---
recipes-networking/cni/cni_git.bb | 2 ++
1 file changed, 2 insertions(+)
diff --git a/recipes-networking/cni/cni_git.bb b/recipes-networking/cni/cni_git.bb
index 854c7a04..f84e8a43 100644
--- a/recipes-networking/cni/cni_git.bb
+++ b/recipes-networking/cni/cni_git.bb
@@ -54,6 +54,8 @@ do_compile() {
done
}
+do_compile[cleandirs] = "${B}/plugins"
+
do_install() {
localbindir="${libexecdir}/cni/"
--
2.34.1
^ permalink raw reply related [flat|nested] 5+ messages in thread* Re: [meta-virtualization] [kirkstone] [PATCH 0/3] cni: cherry pick fixes from master
2023-12-11 9:53 [meta-virtualization] [kirkstone] [PATCH 0/3] cni: cherry pick fixes from master liu.ming50
` (2 preceding siblings ...)
2023-12-11 9:53 ` [meta-virtualization] [kirkstone] [PATCH 3/3] cni: clean dir ${B}/plugins before do_compile liu.ming50
@ 2023-12-14 19:59 ` Bruce Ashfield
3 siblings, 0 replies; 5+ messages in thread
From: Bruce Ashfield @ 2023-12-14 19:59 UTC (permalink / raw)
To: Ming Liu; +Cc: meta-virtualization
In message: [meta-virtualization] [kirkstone] [PATCH 0/3] cni: cherry pick fixes from master
on 11/12/2023 Ming Liu wrote:
> From: Ming Liu <liu.ming50@gmail.com>
>
> We observed some library relocating issues on cni recipe, cherry pick
> some fixes from master.
>
> Bruce Ashfield (1):
> cni: reproducible builds: pass -trimpath
>
> Changqing Li (1):
> cni: clean dir ${B}/plugins before do_compile
>
> Chen Qi (1):
> cni: fix textrel QA issue
merged to kirkstone.
Bruce
>
> recipes-networking/cni/cni_git.bb | 8 +++++---
> 1 file changed, 5 insertions(+), 3 deletions(-)
>
> --
> 2.34.1
>
>
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#8491): https://lists.yoctoproject.org/g/meta-virtualization/message/8491
> Mute This Topic: https://lists.yoctoproject.org/mt/103105934/1050810
> Group Owner: meta-virtualization+owner@lists.yoctoproject.org
> Unsubscribe: https://lists.yoctoproject.org/g/meta-virtualization/unsub [bruce.ashfield@gmail.com]
> -=-=-=-=-=-=-=-=-=-=-=-
>
^ permalink raw reply [flat|nested] 5+ messages in thread