[oe-commits] [openembedded-core] 04/06: package_manager.py: correct the deploydir when packagefeed-stability inherited

git at git.openembedded.org git at git.openembedded.org
Sun Oct 28 08:32:24 UTC 2018


This is an automated email from the git hooks/post-receive script.

rpurdie pushed a commit to branch master
in repository openembedded-core.

commit 3b17052611e640fb3db5d03c06ab87185a12be58
Author: Mingli Yu <Mingli.Yu at windriver.com>
AuthorDate: Thu Oct 25 14:18:53 2018 +0800

    package_manager.py: correct the deploydir when packagefeed-stability inherited
    
    After create_packages_dir added in below commit:
    85e72e1 package_manager: Filter to only rpms we depend upon
    
    When add below line into conf/local.conf
    INHERIT += "packagefeed-stability"
    
    There comes below error when do_rootfs
    Exception: FileExistsError: [Errno 17] File exists: '/$Prj/tmp/deploy/rpm-prediff/i586/initscripts-1.0-r155.i586.rpm' -> '/$Prj/tmp/work/qemux86-poky-linux/core-image-minimal/1.0-r0/oe-rootfs-repo/rpm-prediff/i586/initscripts-1.0-r155.i586.rpm'
    
    def create_packages_dir(d, subrepo_dir, deploydir, taskname, filterbydependencies):
      [snip]
      bb.utils.remove(subrepo_dir, recurse=True)
      [snip]
    
    In create_packages_dir function, there is a logic
    as bb.utils.remove(subrepo_dir, recurse=True) to
    clean subrepo_dir which is actually as example is
    /$Prj/tmp/work/qemux86-poky-linux/core-image-minimal/1.0-r0/oe-rootfs-repo/rpm.
    
    But currently when inherit packagefeed-stability class,
    the deploydir should be /$Prj/tmp/deploy/rpm-prediff,
    not the default /$Prj/tmp/deploy/rpm.
    
    If use /$Prj/tmp/deploy/rpm, then result in the
    logic as below:
    os.link("/$Prj/tmp/deploy/rpm-prediff/i586/initscripts-1.0-r155.i586.rpm", "/$Prj/tmp/work/qemux86-poky-linux/core-image-minimal/1.0-r0/oe-rootfs-repo/rpm-prediff/i586/initscripts-1.0-r155.i586.rpm")
    
    Update to the actual deploydir to guarantee the logic
    as below:
    os.link("/$Prj/tmp/deploy/rpm-prediff/i586/initscripts-1.0-r155.i586.rpm", "/$Prj/tmp/work/qemux86-poky-linux/core-image-minimal/1.0-r0/oe-rootfs-repo/rpm/i586/initscripts-1.0-r155.i586.rpm")
    
    Signed-off-by: Mingli Yu <Mingli.Yu at windriver.com>
    Signed-off-by: Richard Purdie <richard.purdie at linuxfoundation.org>
---
 meta/lib/oe/package_manager.py | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/meta/lib/oe/package_manager.py b/meta/lib/oe/package_manager.py
index 2cc1c75..882e7c4 100644
--- a/meta/lib/oe/package_manager.py
+++ b/meta/lib/oe/package_manager.py
@@ -690,7 +690,10 @@ def create_packages_dir(d, subrepo_dir, deploydir, taskname, filterbydependencie
             for l in f:
                 l = l.strip()
                 deploydir = os.path.normpath(deploydir)
-                dest = l.replace(deploydir, "")
+                if bb.data.inherits_class('packagefeed-stability', d):
+                    dest = l.replace(deploydir + "-prediff", "")
+                else:
+                    dest = l.replace(deploydir, "")
                 dest = subrepo_dir + dest
                 if l.endswith("/"):
                     if dest not in seendirs:

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.


More information about the Openembedded-commits mailing list