kernel.bbclass: let do_deploy depend on do_packagedata
cover kernel.bbclass: let do_deploy depend on do_packagedata
The following changes since commit 11063a01d4511b2688ea7ba2d7359e4e07328c66:
ruby: upgrade to 2.3.1 (2016-11-30 15:47:17 +0000)
are available in the git repository at:
git://git.openembedded.org/openembedded-core-contrib rbt/deploy
http://cgit.openembedded.org/cgit.cgi/openembedded-core-contrib/log/?h=rbt/deploy
Robert Yang (1):
kernel.bbclass: let do_deploy depend on do_packagedata
meta/classes/kernel.bbclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
Signature · 1 line
2.9.0
PATCH 1/1 kernel.bbclass: let do_deploy depend on do_packagedata
The do_deploy runs depmodwrapper which requires pkgdata/kernel-depmod/kernel-abiversion, which is generated by PACKAGEFUNCS. So we need let do_deploy depend on do_packagedata.
This can fix the errors which happens sometimes when kernel upgrades:
DEBUG: Executing shell function do_deploy
Error: Kernel version 4.8.8-WR9.0.0.1_standard does not match kernel-abiversion (4.8.8-WR9.0.0.0_standard)
And we only see this error when kernel upgrades and rebuild, but doesn't
see it in a normal build, this is becuase depmodwrapper doesn't exit
error when kernel-depmod/kernel-abiversion doesn't exit, it just prints
an error which should go into log.do_deploy:
if [ ! -r /path/to/sysroots/qemux86-64/pkgdata/kernel-depmod/kernel-abiversion ]; then
echo "Unable to read: /path/to/sysroots/qemux86-64/pkgdata/kernel-depmod/kernel-abiversion" >&2
else
[foo]
fi
We can see that there is no "exit 1", I guess it was designed to let it can run without kernel-abiversion
--- meta/classes/kernel.bbclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
meta/classes/kernel.bbclass +1 -1
@@ -630,6 +630,6 @@ do_deploy[cleandirs] = "${DEPLOYDIR}" do_deploy[dirs] = "${DEPLOYDIR} ${B}" do_deploy[prefuncs] += "package_get_auto_pr" -addtask deploy after do_populate_sysroot +addtask deploy after do_populate_sysroot do_packagedata EXPORT_FUNCTIONS do_deploy
Signature · 1 line
2.9.0