[gnome-continuous-yocto/gnomeostree-3.28-rocko: 6147/8267] archiver.bbclass: adapt do_unpack_and_patch to RSS



commit 069b12591439b16e7b11394157d0686cf423f898
Author: Mikko Ylinen <mikko ylinen linux intel com>
Date:   Mon Jun 5 17:42:51 2017 +0300

    archiver.bbclass: adapt do_unpack_and_patch to RSS
    
    do_unpack_and_patch was not correctly run until recently
    ("archiver.bbclass: various fixes for original+diff mode") but
    with the fix applied, the errors we get indicate the function
    is not adapted to work with recipe specific sysroots.
    
    do_unpack_and_patch sets WORKDIR to ARCHIVER_WORKDIR which
    affects all path settings relative to WORKDIR, inluding the paths
    to recipes' sysroots. IOW, when do_unpack and do_patch are run, they
    cannot find the necessary native tools and files located in the
    sysroot (e.g., quiltrc) because the paths point to ARCHIVER_WORKDIR.
    
    Adapt do_unpack_and_patch to RSS by restoring the original
    STAGING_DIR_NATIVE after WORKDIR is changed to ARCHIVER_WORKDIR.
    
    (From OE-Core rev: db7d2cc5a4df3c2077ba874c7ae395c73fd9ed13)
    
    Signed-off-by: Mikko Ylinen <mikko ylinen linux intel com>
    Signed-off-by: Ross Burton <ross burton intel com>
    Signed-off-by: Richard Purdie <richard purdie linuxfoundation org>

 meta/classes/archiver.bbclass |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)
---
diff --git a/meta/classes/archiver.bbclass b/meta/classes/archiver.bbclass
index 37a21fe..1319f4d 100644
--- a/meta/classes/archiver.bbclass
+++ b/meta/classes/archiver.bbclass
@@ -315,12 +315,15 @@ python do_unpack_and_patch() {
         return
     ar_outdir = d.getVar('ARCHIVER_OUTDIR')
     ar_workdir = d.getVar('ARCHIVER_WORKDIR')
+    ar_sysroot_native = d.getVar('STAGING_DIR_NATIVE')
     pn = d.getVar('PN')
 
     # The kernel class functions require it to be on work-shared, so we dont change WORKDIR
     if not (bb.data.inherits_class('kernel-yocto', d) or pn.startswith('gcc-source')):
         # Change the WORKDIR to make do_unpack do_patch run in another dir.
         d.setVar('WORKDIR', ar_workdir)
+        # Restore the original path to recipe's native sysroot (it's relative to WORKDIR).
+        d.setVar('STAGING_DIR_NATIVE', ar_sysroot_native)
 
         # The changed 'WORKDIR' also caused 'B' changed, create dir 'B' for the
         # possibly requiring of the following tasks (such as some recipes's


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