[gnome-continuous-yocto/gnomeostree-3.28-rocko: 2484/8267] package_manager.py: fix bitbake package-index failed



commit 06e56abbd25fe66b287e0bcd78787588939a3028
Author: Hongxu Jia <hongxu jia windriver com>
Date:   Tue Sep 13 04:48:32 2016 -0400

    package_manager.py: fix bitbake package-index failed
    
    Previously the following commit in oe-core move RPM metadata
    from DEPLOY_DIR to WORKDIR.
    -----------
    commit a92c196449c516fe51786d429078bbb1213bb029
    Author: Stephano Cetola <stephano cetola linux intel com>
    Date:   Wed Aug 10 13:03:16 2016 -0700
    
        Allow for simultaneous do_rootfs tasks with rpm
    
        Give each rootfs its own RPM channel to use.  This puts the RPM metadata
        in a private subdirectory of $WORKDIR, rather than living in DEPLOY_DIR
        where other tasks may race with it.
    -----------
    
    In the modification of 'class RpmIndexer, it should not
    directly set arch_dir with WORKDIR. It caused 'bitbake
    package-index' could not work correctly.
    
    Assign WORKDIR as input parameter at RpmIndexer initial time
    could fix the issue.
    
    (From OE-Core rev: 3c8c8501d0a19b566a94a9e06afe40642b444958)
    
    Signed-off-by: Hongxu Jia <hongxu jia windriver com>
    Signed-off-by: Ross Burton <ross burton intel com>
    Signed-off-by: Richard Purdie <richard purdie linuxfoundation org>

 meta/lib/oe/package_manager.py |    5 +++--
 1 files changed, 3 insertions(+), 2 deletions(-)
---
diff --git a/meta/lib/oe/package_manager.py b/meta/lib/oe/package_manager.py
index 2802254..30e1de9 100644
--- a/meta/lib/oe/package_manager.py
+++ b/meta/lib/oe/package_manager.py
@@ -176,7 +176,7 @@ class RpmIndexer(Indexer):
             dbpath = os.path.join(self.d.getVar('WORKDIR', True), 'rpmdb', arch)
             if os.path.exists(dbpath):
                 bb.utils.remove(dbpath, True)
-            arch_dir = os.path.join(self.d.getVar('WORKDIR', True), 'rpms', arch)
+            arch_dir = os.path.join(self.deploy_dir, arch)
             if not os.path.isdir(arch_dir):
                 continue
 
@@ -686,7 +686,8 @@ class RpmPM(PackageManager):
         if not os.path.exists(self.d.expand('${T}/saved')):
             bb.utils.mkdirhier(self.d.expand('${T}/saved'))
 
-        self.indexer = RpmIndexer(self.d, self.deploy_dir)
+        packageindex_dir = os.path.join(self.d.getVar('WORKDIR', True), 'rpms')
+        self.indexer = RpmIndexer(self.d, packageindex_dir)
         self.pkgs_list = RpmPkgsList(self.d, self.target_rootfs, arch_var, os_var)
 
         self.ml_prefix_list, self.ml_os_list = self.indexer.get_ml_prefix_and_os_list(arch_var, os_var)


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