1
0
mirror of https://git.yoctoproject.org/poky synced 2026-05-08 17:19:20 +00:00

license.bbclass: Added get_boot_dependencies function

This function gets the dependencies from the classes that
create a boot image, this is required because sometimes
the bootloader dependecy is in these classes. The current
classes covered are bootimg and bootdirectdisk because
these are the only clases that add dependencies.

[YOCTO #6772]

(From OE-Core rev: b165c2d3349115546c9db2f084eb6def4913b82d)

Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Mariano Lopez
2015-11-12 12:36:02 +00:00
committed by Richard Purdie
parent 8b1e7bcef2
commit d45e10e1cf
+36
View File
@@ -141,6 +141,42 @@ def write_license_files(d, license_manifest, pkg_dic):
os.link(pkg_license, pkg_rootfs_license)
def get_boot_dependencies(d):
"""
Return the dependencies from boot tasks
"""
depends = []
boot_depends_string = ""
taskdepdata = d.getVar("BB_TASKDEPDATA", True)
# Only bootimg and bootdirectdisk include the depends flag
boot_tasks = ["do_bootimg", "do_bootdirectdisk",]
for task in boot_tasks:
boot_depends_string = "%s %s" % (boot_depends_string,
d.getVarFlag(task, "depends", True) or "")
boot_depends = [dep.split(":")[0] for dep
in boot_depends_string.split()
if not dep.split(":")[0].endswith("-native")]
for dep in boot_depends:
info_file = os.path.join(d.getVar("LICENSE_DIRECTORY", True),
dep, "recipeinfo")
# If the recipe and dependency name is the same
if os.path.exists(info_file):
depends.append(dep)
# We need to search for the provider of the dependency
else:
for taskdep in taskdepdata.itervalues():
# The fifth field contains what the task provides
if dep in taskdep[4]:
info_file = os.path.join(
d.getVar("LICENSE_DIRECTORY", True),
taskdep[0], "recipeinfo")
if os.path.exists(info_file):
depends.append(taskdep[0])
break
return depends
python do_populate_lic() {
"""
Populate LICENSE_DIRECTORY with licenses.