Fix for build lttng-modules build error
cover Fix for build lttng-modules build error
From: Tom Zanussi <[email protected]>
This is an untested patch for a build error seen on the Yocto autobuilder. I'm unable to reproduce the problem locally, so can't say whether it actually fixes the problem or not - hoping it can be tested under mut first to see if it works.
Basically the problem is that do_make_scripts with lttng-modules fails because it can't cd into the workdir:
/srv/home/pokybuild/yocto-autobuilder/yocto-slave/cedartrail/build/build/tmp/work/cedartrail-poky-linux/lttng-modules/2.0.5-r0/temp/run.do_make_scripts.27949: line 113: cd: /srv/home/pokybuild/yocto-autobuilder/yocto-slave/cedartrail/build/build/tmp/work/cedartrail-poky-linux/lttng-modules/2.0.5-r0/git: No such file or directory
Looking at the build I see that that directory is actually there, but it obviously wasn't when do_make_scripts() was run. So apparently we have a race and in the failed case the unpack happened after do_make_scripts() instead of before as expected. So the patch makes sure that doesn't happen
The following changes since commit da598d4f0fcf6faa62055084a51d70d735399d33:
eglibc: fix checksums of fetched patches (2012-12-13 18:02:21 +0000)
are available in the git repository at:
git://git.yoctoproject.org/poky-contrib.git tzanussi/module-do-make-scripts-fix
http://git.yoctoproject.org/cgit/cgit.cgi/poky-contrib/log/?h=tzanussi/module-do-make-scripts-fix
Tom Zanussi (1):
module.bbclass: make sure do_make_scripts() executes after do_patch()
meta/classes/module.bbclass | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-)
Signature · 1 line
1.7.4.1
PATCH 1/1 module.bbclass: make sure do_make_scripts() executes after do_patch()
From: Tom Zanussi <[email protected]>
If do_make_scripts() executes before do_unpack()/do_patch(), the build fails because it can't cd into the workdir of a recipe using this class, so make sure do_make_scripts() doesn't run before the package has been unpacked and patched.
Fixes [YOCTO #3589].
--- meta/classes/module.bbclass | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-)
meta/classes/module.bbclass +1 -1
@@ -3,7 +3,7 @@ DEPENDS += "virtual/kernel" inherit module-base -addtask make_scripts before do_compile +addtask make_scripts after do_patch before do_compile do_make_scripts[lockfiles] = "${TMPDIR}/kernel-scripts.lock" do_make_scripts[deptask] = "do_populate_sysroot"
Signature · 1 line
1.7.4.1
Re: [PATCH 1/1] module.bbclass: make sure do_make_scripts() executes after do_patch()
Quoted 6 lines · On 12-12-14 12:27 AM, [email protected] wrote:
From: Tom Zanussi<[email protected]>
If
do_make_scripts()executes before do_unpack()/do_patch(), the build fails because it can't cd into the workdir of a recipe using this class, so make suredo_make_scripts()doesn't run before the package has been unpacked and patched.
I've never seen the problem myself, but having a more tightly defined ordering for the task is a good thing in my books.
Since you aren't breaking the working use case, I have no objection.
So I'll throw out a fancy: Reviewed-by: Bruce Ashfield <[email protected]>
Cheers,
Bruce
Quoted 21 lines
Fixes [YOCTO #3589].
Signed-off-by Tom Zanussi<[email protected]>--- meta/classes/module.bbclass | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-)meta/classes/module.bbclass +1
-1@@ -3,7 +3,7 @@ DEPENDS += "virtual/kernel" inherit module-base -addtask make_scripts before do_compile +addtask make_scripts after do_patch before do_compile do_make_scripts[lockfiles] = "${TMPDIR}/kernel-scripts.lock" do_make_scripts[deptask] = "do_populate_sysroot"