diff options
Diffstat (limited to 'meta/lib')
| -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: |
