src_distribute.bbclass: distribute only SRC_DISTRIBUTE_LICENSES
authorOtavio Salvador <otavio@ossystems.com.br>
Fri, 25 Feb 2011 20:14:35 +0000 (20:14 +0000)
committerTom Rini <tom_rini@mentor.com>
Fri, 25 Feb 2011 19:37:15 +0000 (12:37 -0700)
A distro can require conf/licenses.conf or set SRC_DISTRIBUTE_LICENSES
selecting which licenses are wanted to be distributed. In case it is
empty or undefined we default to distribute all licenses to not break
backward compatibility.

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Tom Rini <tom_rini@mentor.com>
classes/src_distribute.bbclass

index 242d70c..f3d3cba 100644 (file)
@@ -16,6 +16,7 @@ python do_distribute_sources () {
        dldir = os.path.realpath(d.getVar("DL_DIR", 1) or "")
 
        licenses = (bb.data.getVar('LICENSE', d, 1) or "unknown").split()
+       distribute_licenses = (bb.data.getVar('SRC_DISTRIBUTE_LICENSES', d, 1) or "All").split()
        urldatadict = bb.fetch.init(d.getVar("SRC_URI", True).split(), d, True)
        src_uri = oe.data.typed_value("SRC_URI", d)
        if not src_uri:
@@ -33,8 +34,9 @@ python do_distribute_sources () {
                bb.data.setVar('SRC', os.path.abspath(local), d)
                for license in licenses:
                        for entry in license.split("|"):
-                               bb.data.setVar('LIC', entry, d)
-                               bb.build.exec_func('SRC_DISTRIBUTECOMMAND', d)
+                               if entry in distribute_licenses or "All" in distribute_licenses:
+                                       bb.data.setVar('LIC', entry, d)
+                                       bb.build.exec_func('SRC_DISTRIBUTECOMMAND', d)
 }
 
 addtask distribute_sources_all after do_distribute_sources