[gnome-continuous-yocto/gnomeostree-3.28-rocko: 8227/8267] qemuboot: Improve relative path handling



commit 1e4d4762b16f6d64f10e41c1af28409a1a5bf899
Author: Richard Purdie <richard purdie linuxfoundation org>
Date:   Tue Nov 21 11:39:12 2017 +0000

    qemuboot: Improve relative path handling
    
    qemuconf files are currently written relative to TOPDIR. What
    makes more sense is to write paths relative to the location of the
    file. This makes moving them around and decoding the end paths in
    runqemu much easier.
    
    The effect of this should allow less use of bitbake to determine
    variables and allow us to simplify runqemu.
    
    (From OE-Core rev: e790aecfde4199cf9b658338900ad9a87cc1094f)
    
    Signed-off-by: Richard Purdie <richard purdie linuxfoundation org>
    (cherry picked from commit 55a0028a961c0ad3c2e5729a9e3919cbbf256fe1)
    Signed-off-by: Armin Kuster <akuster808 gmail com>
    Signed-off-by: Richard Purdie <richard purdie linuxfoundation org>

 meta/classes/qemuboot.bbclass |    8 +++++---
 1 files changed, 5 insertions(+), 3 deletions(-)
---
diff --git a/meta/classes/qemuboot.bbclass b/meta/classes/qemuboot.bbclass
index 7243cc5..15a9e63 100644
--- a/meta/classes/qemuboot.bbclass
+++ b/meta/classes/qemuboot.bbclass
@@ -85,7 +85,8 @@ python do_write_qemuboot_conf() {
 
     qemuboot = "%s/%s.qemuboot.conf" % (d.getVar('IMGDEPLOYDIR'), d.getVar('IMAGE_NAME'))
     qemuboot_link = "%s/%s.qemuboot.conf" % (d.getVar('IMGDEPLOYDIR'), d.getVar('IMAGE_LINK_NAME'))
-    topdir="%s/"%(d.getVar('TOPDIR')).replace("//","/")
+    finalpath = d.getVar("DEPLOY_DIR_IMAGE")
+    topdir = d.getVar('TOPDIR')
     cf = configparser.ConfigParser()
     cf.add_section('config_bsp')
     for k in sorted(qemuboot_vars(d)):
@@ -98,7 +99,8 @@ python do_write_qemuboot_conf() {
             val = d.getVar(k)
         # we only want to write out relative paths so that we can relocate images
         # and still run them
-        val=val.replace(topdir,"")
+        if val.startswith(topdir):
+            val = os.path.relpath(val, finalpath)
         cf.set('config_bsp', k, '%s' % val)
 
     # QB_DEFAULT_KERNEL's value of KERNEL_IMAGETYPE is the name of a symlink
@@ -108,7 +110,7 @@ python do_write_qemuboot_conf() {
     kernel = os.path.realpath(kernel_link)
     # we only want to write out relative paths so that we can relocate images
     # and still run them
-    kernel=kernel.replace(topdir,"")
+    kernel = os.path.relpath(kernel, finalpath)
     cf.set('config_bsp', 'QB_DEFAULT_KERNEL', kernel)
 
     bb.utils.mkdirhier(os.path.dirname(qemuboot))


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]