>
>
> 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