]> code.ossystems Code Review - openembedded-core.git/commitdiff
license.bbclass: Add coverage by sstate code (also use cleandirs and dirs task attrib...
authorRichard Purdie <richard.purdie@linuxfoundation.org>
Thu, 3 Feb 2011 12:33:18 +0000 (12:33 +0000)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Thu, 3 Feb 2011 12:33:18 +0000 (12:33 +0000)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/classes/license.bbclass
meta/classes/sstate.bbclass

index b5021f2b58bf4628ca79f714f5d0d363489f4e83..97d4e4e41ecfaafc6c7b1f33c01f9a9ba6bb2364 100644 (file)
@@ -9,8 +9,11 @@
 #  differences and that should be corrected.
 
 LICENSE_DIRECTORY ??= "${DEPLOY_DIR_IMAGE}/licenses"
+LICSSTATEDIR = "${WORKDIR}/license-destdir/"
 
 addtask populate_lic after do_patch before do_package 
+do_populate_lic[dirs] = "${LICSSTATEDIR}/${PN}"
+do_populate_lic[cleandirs] = "${LICSSTATEDIR}"
 python do_populate_lic() {
     """
     Populate LICENSE_DIRECTORY with licenses.
@@ -25,7 +28,7 @@ python do_populate_lic() {
     lic_files = bb.data.getVar('LIC_FILES_CHKSUM', d, True)
     pn = bb.data.getVar('PN', d, True)
     # The base directory we wrangle licenses to
-    destdir = os.path.join(bb.data.getVar('LICENSE_DIRECTORY', d, True), pn)
+    destdir = os.path.join(bb.data.getVar('LICSSTATEDIR', d, True), pn)
     # The license files are located in S/LIC_FILE_CHECKSUM.
     srcdir = bb.data.getVar('S', d, True)
     # Directory we store the generic licenses as set in poky.conf
@@ -33,18 +36,6 @@ python do_populate_lic() {
     if not generic_directory:
         raise bb.build.FuncFailed("COMMON_LICENSE_DIR is unset. Please set this in your distro config")
 
-    try:
-        # Let's try to clean up the packages license directory
-        shutil.rmtree(destdir)
-    except:
-        pass 
-
-    try:
-        # Create the package license directory structure.
-        bb.mkdirhier(destdir)
-    except:
-        pass
-
     if not lic_files:
         # No recipe should have an invalid license file. This is checked else
         # where, but let's be pedantic
@@ -98,3 +89,15 @@ python do_populate_lic() {
             bb.warn("This could be either because we do not have a generic for this license or the LICENSE field is incorrect")
             pass
 }
+
+SSTATETASKS += "do_populate_lic"
+do_populate_lic[sstate-name] = "populate-lic"
+do_populate_lic[sstate-inputdirs] = "${LICSSTATEDIR}"
+do_populate_lic[sstate-outputdirs] = "${LICENSE_DIRECTORY}/"
+
+python do_populate_lic_setscene () {
+       sstate_setscene(d)
+}
+addtask do_populate_lic_setscene
+
+
index 4435abc347dc76e24281e6c680996bdac938805c..a754821c083e02e7bfdc493203473fed04898794 100644 (file)
@@ -415,6 +415,7 @@ def sstate_checkhashes(sq_fn, sq_task, sq_hash, sq_hashfn, d):
     # This needs to go away, FIXME
     mapping = {
         "do_populate_sysroot" : "populate-sysroot",
+        "do_populate_lic" : "populate-lic",
         "do_package_write_ipk" : "deploy-ipk",
         "do_package_write_deb" : "deploy-deb",
         "do_package_write_rpm" : "deploy-rpm",