[oe-commits] [meta-openembedded] 07/48: scancode.bbclass: Adding a bbclass for scancode license scaning utility

git at git.openembedded.org git at git.openembedded.org
Tue May 29 15:49:17 UTC 2018


This is an automated email from the git hooks/post-receive script.

khem pushed a commit to branch master-next
in repository meta-openembedded.

commit 88da9035b647ad13238385361d70e7ed12d071b1
Author: irfan sadiq <irfan_sadiq at mentor.com>
AuthorDate: Wed Nov 1 19:52:52 2017 +0500

    scancode.bbclass: Adding a bbclass for scancode license scaning utility
    
    This is adding the functionality to run scancode utility on code.
    You need to set the following variables to use it. You can override
     these from local.conf or auto.conf.
    1) SCANCODE_GIT_LOCATION: Git Path for scancode-toolkit cloning, default is set.
    2) SCANCODE_TAG: Select tag, if you want.
    3) SCANCODE_FORMAT: Output file format json or html-app.
    4) SCANCODE_SRC_LOCATION: Location to store scancode-toolkit.
    
    This belongs to OI-2.
    
    Signed-off-by: H M Irfan Sadiq <irfan_sadiq at mentor.com>
    Signed-off-by: Noor Ahsan <noor_ahsan at mentor.com>
---
 meta-oe/classes/scancode.bbclass | 35 +++++++++++++++++++++++++++++++++++
 1 file changed, 35 insertions(+)

diff --git a/meta-oe/classes/scancode.bbclass b/meta-oe/classes/scancode.bbclass
new file mode 100644
index 0000000..701660f
--- /dev/null
+++ b/meta-oe/classes/scancode.bbclass
@@ -0,0 +1,35 @@
+# We use scancode utlity for extacting licence information.
+# scancode itself is an OSS Utlitity.
+# For more informaiton https://github.com/nexB/scancode-toolkit
+
+SCANCODE_FORMAT ?= "html-app"
+EXT = "${@'html' if d.getVar('SCANCODE_FORMAT', True) == 'html-app' else 'json'}"
+SCANCODE_TOOLKIT = "${@get_scancode_toolkit(d)}"
+SCANCODE_TAG = "v2.2.1"
+SCANCODE_GIT_LOCATION ?= "https://github.com/nexB/scancode-toolkit.git"
+SCANCODE_SRC_LOCATION ?= "${DL_DIR}/scancode"
+
+def get_scancode_toolkit(d):
+    lf = bb.utils.lockfile(d.getVar('SCANCODE_SRC_LOCATION', True) + ".lock")
+    if (not os.path.exists(d.getVar('SCANCODE_SRC_LOCATION', True))):
+        os.system("git clone %s %s -b %s" % (d.getVar('SCANCODE_GIT_LOCATION', True), d.getVar('SCANCODE_SRC_LOCATION', True), d.getVar('SCANCODE_TAG', True)))
+    bb.utils.unlockfile(lf)
+    return (d.getVar('SCANCODE_SRC_LOCATION', True))
+
+do_scancode() {
+	mkdir -p ${DEPLOY_DIR_IMAGE}/scancode
+	cd ${SCANCODE_TOOLKIT}
+	if [ -d "${S}" ]; then
+		./scancode ${S} --format  ${SCANCODE_FORMAT} ${DEPLOY_DIR_IMAGE}/scancode/${PN}.${EXT}
+	fi
+}
+
+addtask scancode after do_patch
+
+do_scancode_oss() {
+    echo "We are done running scancode"
+}
+
+do_scancode_oss[recrdeptask] = "do_scancode_oss do_scancode"
+do_scancode_oss[nostamp] = "1"
+addtask do_scancode_oss after do_scancode

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.


More information about the Openembedded-commits mailing list