From 9b2fd4b0fe103f1a626e079ade20bbc19d21ebf3 Mon Sep 17 00:00:00 2001 From: Richard Purdie Date: Thu, 3 Feb 2011 12:33:18 +0000 Subject: license.bbclass: Add coverage by sstate code (also use cleandirs and dirs task attribures for directory handling) Signed-off-by: Richard Purdie --- meta/classes/license.bbclass | 29 ++++++++++++++++------------- 1 file changed, 16 insertions(+), 13 deletions(-) (limited to 'meta/classes/license.bbclass') diff --git a/meta/classes/license.bbclass b/meta/classes/license.bbclass index b5021f2b58..97d4e4e41e 100644 --- a/meta/classes/license.bbclass +++ b/meta/classes/license.bbclass @@ -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 + + -- cgit v1.2.3-54-g00ecf