diff options
Diffstat (limited to 'meta/lib/oe/package_manager/__init__.py')
-rw-r--r-- | meta/lib/oe/package_manager/__init__.py | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/meta/lib/oe/package_manager/__init__.py b/meta/lib/oe/package_manager/__init__.py index 6774cdb794..d3b2317894 100644 --- a/meta/lib/oe/package_manager/__init__.py +++ b/meta/lib/oe/package_manager/__init__.py | |||
@@ -449,7 +449,7 @@ class PackageManager(object, metaclass=ABCMeta): | |||
449 | return res | 449 | return res |
450 | return _append(uris, base_paths) | 450 | return _append(uris, base_paths) |
451 | 451 | ||
452 | def create_packages_dir(d, subrepo_dir, deploydir, taskname, filterbydependencies): | 452 | def create_packages_dir(d, subrepo_dir, deploydir, taskname, filterbydependencies, include_self=False): |
453 | """ | 453 | """ |
454 | Go through our do_package_write_X dependencies and hardlink the packages we depend | 454 | Go through our do_package_write_X dependencies and hardlink the packages we depend |
455 | upon into the repo directory. This prevents us seeing other packages that may | 455 | upon into the repo directory. This prevents us seeing other packages that may |
@@ -486,14 +486,17 @@ def create_packages_dir(d, subrepo_dir, deploydir, taskname, filterbydependencie | |||
486 | bb.fatal("Couldn't find ourself in BB_TASKDEPDATA?") | 486 | bb.fatal("Couldn't find ourself in BB_TASKDEPDATA?") |
487 | pkgdeps = set() | 487 | pkgdeps = set() |
488 | start = [start] | 488 | start = [start] |
489 | seen = set(start) | 489 | if include_self: |
490 | seen = set() | ||
491 | else: | ||
492 | seen = set(start) | ||
490 | # Support direct dependencies (do_rootfs -> do_package_write_X) | 493 | # Support direct dependencies (do_rootfs -> do_package_write_X) |
491 | # or indirect dependencies within PN (do_populate_sdk_ext -> do_rootfs -> do_package_write_X) | 494 | # or indirect dependencies within PN (do_populate_sdk_ext -> do_rootfs -> do_package_write_X) |
492 | while start: | 495 | while start: |
493 | next = [] | 496 | next = [] |
494 | for dep2 in start: | 497 | for dep2 in start: |
495 | for dep in taskdepdata[dep2][3]: | 498 | for dep in taskdepdata[dep2][3]: |
496 | if taskdepdata[dep][0] != pn: | 499 | if include_self or taskdepdata[dep][0] != pn: |
497 | if "do_" + taskname in dep: | 500 | if "do_" + taskname in dep: |
498 | pkgdeps.add(dep) | 501 | pkgdeps.add(dep) |
499 | elif dep not in seen: | 502 | elif dep not in seen: |