[oe-commits] Martin Jansa : kernel.bbclass: fix do_unpack function when S ends with slash

git at git.openembedded.org git at git.openembedded.org
Wed Jan 7 14:30:37 UTC 2015


Module: openembedded-core.git
Branch: master
Commit: dba30c2395792b553b69ce0b44cc75ff2dbdb317
URL:    http://git.openembedded.org/?p=openembedded-core.git&a=commit;h=dba30c2395792b553b69ce0b44cc75ff2dbdb317

Author: Martin Jansa <martin.jansa at gmail.com>
Date:   Wed Jan  7 15:06:49 2015 +0100

kernel.bbclass: fix do_unpack function when S ends with slash

* slash at the end causes os.symlink(kernsrc, s) to use s as
  directory name and fails with:

ERROR: Error executing a python function in /OE/build/owpb/webos-ports/meta-smartphone/meta-samsung/recipes-kernel/linux/linux-samsung-tuna_git.bb:

The stack trace of python calls that resulted in this exception/failure was:
File: 'base_do_unpack', lineno: 26, function: <module>
     0022:        subprocess.call(d.expand("mv /OE/build/owpb/webos-ports/tmp-glibc/work/maguro-webos-linux-gnueabi/linux-samsung-tuna/3_3.0.72+gitrAUTOINC+f8ed73f94a-r12/git/ /OE/build/owpb/webos-ports/tmp-glibc/sysroots/maguro/usr/src/kernel"), shell=True)
     0023:        os.symlink(kernsrc, s)
     0024:
     0025:
 *** 0026:base_do_unpack(d)
     0027:
File: 'base_do_unpack', lineno: 23, function: base_do_unpack
     0019:        bb.utils.mkdirhier(kernsrc)
     0020:        bb.utils.remove(kernsrc, recurse=True)
     0021:        import subprocess
     0022:        subprocess.call(d.expand("mv /OE/build/owpb/webos-ports/tmp-glibc/work/maguro-webos-linux-gnueabi/linux-samsung-tuna/3_3.0.72+gitrAUTOINC+f8ed73f94a-r12/git/ /OE/build/owpb/webos-ports/tmp-glibc/sysroots/maguro/usr/src/kernel"), shell=True)
 *** 0023:        os.symlink(kernsrc, s)
     0024:
     0025:
     0026:base_do_unpack(d)
     0027:
Exception: OSError: [Errno 2] No such file or directory

ERROR: Function failed: base_do_unpack
ERROR: Logfile of failure stored in: /OE/build/owpb/webos-ports/tmp-glibc/work/maguro-webos-linux-gnueabi/linux-samsung-tuna/3_3.0.72+gitrAUTOINC+f8ed73f94a-r12/temp/log.do_unpack.17042
ERROR: Task 0 (/OE/build/owpb/webos-ports/meta-smartphone/meta-samsung/recipes-kernel/linux/linux-samsung-tuna_git.bb, do_unpack) failed with exit code '1'

Signed-off-by: Martin Jansa <Martin.Jansa at gmail.com>
Signed-off-by: Richard Purdie <richard.purdie at linuxfoundation.org>

---

 meta/classes/kernel.bbclass | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/meta/classes/kernel.bbclass b/meta/classes/kernel.bbclass
index 5cabc2c..88356b1 100644
--- a/meta/classes/kernel.bbclass
+++ b/meta/classes/kernel.bbclass
@@ -43,6 +43,9 @@ python __anonymous () {
 do_unpack[cleandirs] += " ${S} ${STAGING_KERNEL_DIR} ${B}"
 base_do_unpack_append () {
     s = d.getVar("S", True)
+    if s[-1] == '/':
+        # drop trailing slash, so that os.symlink(kernsrc, s) doesn't use s as directory name and fail
+        s=s[:-1]
     kernsrc = d.getVar("STAGING_KERNEL_DIR", True)
     if s != kernsrc:
         bb.utils.mkdirhier(kernsrc)



More information about the Openembedded-commits mailing list