# 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') == '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') + ".lock") if (not os.path.exists(d.getVar('SCANCODE_SRC_LOCATION'))): os.system("git clone %s %s -b %s" % (d.getVar('SCANCODE_GIT_LOCATION'), d.getVar('SCANCODE_SRC_LOCATION'), d.getVar('SCANCODE_TAG'))) bb.utils.unlockfile(lf) return (d.getVar('SCANCODE_SRC_LOCATION')) 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