Re: Issues with Setscene tasks


Bruce Ashfield
 

On Tue, Oct 19, 2021 at 6:51 AM Diego Sueiro <Diego.Sueiro@...> wrote:

Hi Bruce,

This is the current fix that I have for docker-moby and cni recipes and I think it is aligned with the patch that you linked since you are also setting the SRCREV_FORMAT:
Indeed.

I'll take care of the changes, since I can run tests as I go.

What branches are you using ? I can backport to wherever it makes sense.

Bruce

```
diff --git a/recipes-containers/docker/docker-moby_git.bb b/recipes-containers/docker/docker-moby_git.bb
index defb321..f2ccfcd 100644
--- a/recipes-containers/docker/docker-moby_git.bb
+++ b/recipes-containers/docker/docker-moby_git.bb
@@ -47,6 +47,8 @@ SRC_URI = "\
file://0001-dynbinary-use-go-cross-compiler.patch \
"

+SRCRV_FORMAT = "moby"
+
require docker.inc

# Apache-2.0 for docker
diff --git a/recipes-networking/cni/cni_git.bb b/recipes-networking/cni/cni_git.bb
index cb8d6ff..385d170 100644
--- a/recipes-networking/cni/cni_git.bb
+++ b/recipes-networking/cni/cni_git.bb
@@ -24,6 +24,8 @@ LIC_FILES_CHKSUM = "file://src/import/LICENSE;md5=fa818a259cbed7ce8bc2a22d35a464

GO_IMPORT = "import"

+SRCREV_FORMAT = "cni"
+
PV = "v0.8.0+git${SRCREV_cni}"

inherit go
```

________________________________
From: Bruce Ashfield <bruce.ashfield@...>
Sent: 18 October 2021 20:44
To: Diego Sueiro <Diego.Sueiro@...>
Cc: meta-virtualization@... <meta-virtualization@...>; nd <nd@...>
Subject: Re: [meta-virtualization] Issues with Setscene tasks

On Mon, Oct 18, 2021 at 3:30 PM Diego Sueiro <diego.sueiro@...> wrote:

Hi,



Recently I realized that we are having issues with setscene tasks (for docker-moby and cni recipes) where the packages were rebuild even already have their tasks in the sstate mirror and bitbake-diffsigs not showing any difference.
This is the sample of the output that I was getting:
```

WARNING: Logfile for failed setscene task is /<snip>/build/tmp/work/neoversen1-poky-linux/cni/v0.8.0+gitb5ab16f010e822936eb974690ecec38ba69afc01-r0/temp/log.do_package_qa_setscene.3335

WARNING: Setscene task (/<snip>/layers/meta-virtualization/recipes-networking/cni/cni_git.bb:do_package_qa_setscene) failed with exit code '1' - real task will be run instead

WARNING: Logfile for failed setscene task is /<snip>/build/tmp/work/neoversen1-poky-linux/cni/v0.8.0+gitb5ab16f010e822936eb974690ecec38ba69afc01-0/temp/log.do_package_write_rpm_setscene.3336

WARNING: Setscene task (/<snip>/layers/meta-virtualization/recipes-networking/cni/cni_git.bb:do_package_write_rpm_setscene) failed with exit code '1' - real task will be run instead

WARNING: Logfile for failed setscene task is /<snip>/build/tmp/work/neoversen1-poky-linux/cni/v0.8.0+gitb5ab16f010e822936eb974690ecec38ba69afc01-r0/temp/log.do_populate_lic_setscene.3337

WARNING: Setscene task (/<snip>/layers/meta-virtualization/recipes-networking/cni/cni_git.bb:do_populate_lic_setscene) failed with exit code '1' - real task will be run instead

WARNING: Logfile for failed setscene task is /<snip>/build/tmp/work/neoversen1-poky-linux/cni/v0.8.0+gitb5ab16f010e822936eb974690ecec38ba69afc01-r0/temp/log.do_populate_sysroot_setscene.3338

WARNING: Setscene task (/<snip>/layers/meta-virtualization/recipes-networking/cni/cni_git.bb:do_populate_sysroot_setscene) failed with exit code '1' - real task will be run instead

WARNING: Logfile for failed setscene task is /<snip>/build/tmp/work/neoversen1-poky-linux/cni/v0.8.0+gitb5ab16f010e822936eb974690ecec38ba69afc01-r0/temp/log.do_package_qa_setscene.3339

WARNING: Setscene task (/<snip>/layers/meta-virtualization/recipes-networking/cni/cni_git.bb:do_packagedata_setscene) failed with exit code '1' - real task will be run instead

WARNING: Logfile for failed setscene task is /<snip>/build/tmp/work/neoversen1-poky-linux/cni/v0.8.0+gitb5ab16f010e822936eb974690ecec38ba69afc01-r0/temp/log.do_package_setscene.3380

WARNING: Setscene task (/<snip>/layers/meta-virtualization/recipes-networking/cni/cni_git.bb:do_package_setscene) failed with exit code '1' - real task will be run instead

WARNING: Logfile for failed setscene task is /<snip>/build/tmp/work/neoversen1-poky-linux/cni/v0.8.0+gitb5ab16f010e822936eb974690ecec38ba69afc01-r0/temp/log.do_deploy_source_date_epoch_setscene.3383

WARNING: Setscene task (/<snip>/layers/meta-virtualization/recipes-networking/cni/cni_git.bb:do_deploy_source_date_epoch_setscene) failed with exit code '1' - real task will be run instead

```



After some debugging I found that the “failed with exit code 1” comes from this line http://git.yoctoproject.org/cgit/cgit.cgi/poky/tree/meta/classes/sstate.bbclass#n764:
```

localdata.setVar('SRCPV', d.getVar('SRCPV'))
```


The root cause is because the cni and docker-moby recipes are using named SRC_URI (a.k.a http://...;name=foo), setting the PV with it and were not setting the SRCREV_FORMAT which consequentially not set the SRCPV accordingly.



Setting the SRCREV_FORMAT for cni and docker-moby recipes fixed the issue, but I also suspect that the following recipes are potentially having the same issue:

```
$ grep -r PV | grep SRCREV_

recipes-core/runx/runx_git.bb:PV = "v1.0-git${SRCREV_runx}"

recipes-core/runv/runv_git.bb:PV = "0.4.0+git${SRCREV_runv}"

recipes-containers/docker/docker-ce_git.bb:PV = "${DOCKER_VERSION}+git${SRCREV_docker}"

recipes-containers/docker/docker-moby_git.bb:PV = "${DOCKER_VERSION}+git${SRCREV_moby}"

recipes-containers/cri-o/cri-o_git.bb:PV = "1.22.0+git${SRCREV_cri-o}"

recipes-containers/kubernetes/kubernetes_git.bb:PV = "v1.22.2+git${SRCREV_kubernetes}"

recipes-containers/cri-tools/cri-tools_git.bb:PV = "1.21.0+git${SRCREV_cri-tools}"

recipes-containers/crun/crun_git.bb:PV = "0.18+git${SRCREV_crun}"

recipes-networking/cni/cni_git.bb:PV = "v0.8.0+git${SRCREV_cni}"

recipes-devtools/yq/yq_git.bb:PV = "1.13.1+git${SRCREV_yq}"

recipes-devtools/go/go-build_git.bb:PV = "0.1-git${SRCREV_runx}"

```



I can send a patch to fix cni and docker-moby but unfortunately I don’t have resources to test the other mentioned recipes.
I've actually been going through and fixing these as they pop up, and
just had to do it for kubernetes:

https://git.yoctoproject.org/cgit/cgit.cgi/meta-virtualization/commit/?h=master-next&id=45e5f2e821784f0b55a41ee5f08d7acb98f8f288

If you were doing anything other than what you see that I did in that
recipe, let me know. Otherwise, I'll make a similar change globally to
the layer.

Bruce



--
Diego Sueiro
Staff Software Developer – Automotive and Industrial Solutions (CE-OSS)






--
- Thou shalt not follow the NULL pointer, for chaos and madness await
thee at its end
- "Use the force Harry" - Gandalf, Star Trek II


--
- Thou shalt not follow the NULL pointer, for chaos and madness await
thee at its end
- "Use the force Harry" - Gandalf, Star Trek II

Join meta-virtualization@lists.yoctoproject.org to automatically receive all group messages.