summaryrefslogtreecommitdiffstats
path: root/external/meta-spdxscanner/classes/fossology-rest.bbclass
diff options
context:
space:
mode:
authortakeshi_hoshina <takeshi_hoshina@mail.toyota.co.jp>2020-11-02 11:07:33 +0900
committertakeshi_hoshina <takeshi_hoshina@mail.toyota.co.jp>2020-11-02 11:07:33 +0900
commit1c7d6584a7811b7785ae5c1e378f14b5ba0971cf (patch)
treecd70a267a5ef105ba32f200aa088e281fbd85747 /external/meta-spdxscanner/classes/fossology-rest.bbclass
parent4204309872da5cb401cbb2729d9e2d4869a87f42 (diff)
recipes
Diffstat (limited to 'external/meta-spdxscanner/classes/fossology-rest.bbclass')
-rw-r--r--external/meta-spdxscanner/classes/fossology-rest.bbclass32
1 files changed, 20 insertions, 12 deletions
diff --git a/external/meta-spdxscanner/classes/fossology-rest.bbclass b/external/meta-spdxscanner/classes/fossology-rest.bbclass
index d253853d..4e906093 100644
--- a/external/meta-spdxscanner/classes/fossology-rest.bbclass
+++ b/external/meta-spdxscanner/classes/fossology-rest.bbclass
@@ -22,6 +22,8 @@ HOSTTOOLS_NONFATAL += "curl"
CREATOR_TOOL = "fossology-rest.bbclass in meta-spdxscanner"
+NO_PROXY ?= "127.0.0.1"
+
# If ${S} isn't actually the top-level source directory, set SPDX_S to point at
# the real top-level directory.
SPDX_S ?= "${S}"
@@ -107,7 +109,7 @@ python do_spdx () {
for f_dir, f in list_files(spdx_temp_dir):
temp_file = os.path.join(spdx_temp_dir,f_dir,f)
shutil.copy(temp_file, temp_dir)
- # shutil.rmtree(spdx_temp_dir)
+ shutil.rmtree(spdx_temp_dir)
d.setVar('WORKDIR', spdx_workdir)
info['sourcedir'] = spdx_workdir
git_path = "%s/git/.git" % info['sourcedir']
@@ -144,6 +146,8 @@ def get_folder_id_by_name(d, folder_name):
import subprocess
import json
+ no_proxy = (d.getVar('NO_PROXY', True) or "")
+
server_url = (d.getVar('FOSSOLOGY_SERVER', True) or "")
if server_url == "":
bb.note("Please set fossology server URL by setting FOSSOLOGY_SERVER!\n")
@@ -156,7 +160,7 @@ def get_folder_id_by_name(d, folder_name):
rest_api_cmd = "curl -k -s -S -X GET " + server_url + "/api/v1/folders" \
+ " -H \"Authorization: Bearer " + token + "\"" \
- + " --noproxy 127.0.0.1"
+ + " --noproxy " + no_proxy
bb.note("Invoke rest_api_cmd = " + rest_api_cmd )
try:
all_folder = subprocess.check_output(rest_api_cmd, stderr=subprocess.STDOUT, shell=True)
@@ -183,6 +187,7 @@ def create_folder(d, folder_name):
import os
import subprocess
+ no_proxy = (d.getVar('NO_PROXY', True) or "")
server_url = (d.getVar('FOSSOLOGY_SERVER', True) or "")
if server_url == "":
bb.note("Please set fossology server URL by setting FOSSOLOGY_SERVER!\n")
@@ -197,7 +202,7 @@ def create_folder(d, folder_name):
+ " -H \'parentFolder: 1\'" \
+ " -H \'folderName: " + folder_name + "\'" \
+ " -H \"Authorization: Bearer " + token + "\"" \
- + " --noproxy 127.0.0.1"
+ + " --noproxy " + no_proxy
bb.note("Invoke rest_api_cmd = " + rest_api_cmd)
try:
add_folder = subprocess.check_output(rest_api_cmd, stderr=subprocess.STDOUT, shell=True)
@@ -235,7 +240,7 @@ def has_upload(d, tar_file, folder_id):
import subprocess
(work_dir, file_name) = os.path.split(tar_file)
-
+ no_proxy = (d.getVar('NO_PROXY', True) or "")
server_url = (d.getVar('FOSSOLOGY_SERVER', True) or "")
if server_url == "":
bb.note("Please set fossology server URL by setting FOSSOLOGY_SERVER!\n")
@@ -248,7 +253,7 @@ def has_upload(d, tar_file, folder_id):
rest_api_cmd = "curl -k -s -S -X GET " + server_url + "/api/v1/uploads" \
+ " -H \"Authorization: Bearer " + token + "\"" \
- + " --noproxy 127.0.0.1"
+ + " --noproxy " + no_proxy
bb.note("Invoke rest_api_cmd = " + rest_api_cmd )
try:
@@ -272,7 +277,7 @@ def has_upload(d, tar_file, folder_id):
bb.note(str(len(upload_output)))
for i in range(0, len(upload_output)):
if upload_output[i]["uploadname"] == file_name and str(upload_output[i]["folderid"]) == str(folder_id):
- bb.warn("Find " + file_name + " in fossology server \"Software Repository\" folder. So, will not upload again.")
+ bb.warn("Find " + file_name + " in fossology server. So, will not upload again.")
return upload_output[i]["id"]
return False
@@ -282,6 +287,7 @@ def upload(d, tar_file, folder):
delaytime = 50
i = 0
+ no_proxy = (d.getVar('NO_PROXY', True) or "")
server_url = (d.getVar('FOSSOLOGY_SERVER', True) or "")
if server_url == "":
bb.note("Please set fossology server URL by setting FOSSOLOGY_SERVER!\n")
@@ -299,7 +305,7 @@ def upload(d, tar_file, folder):
+ " -H \'public: public\'" \
+ " -H \'Content-Type: multipart/form-data\'" \
+ " -F \'fileInput=@\"" + tar_file + "\";type=application/octet-stream\'" \
- + " --noproxy 127.0.0.1"
+ + " --noproxy " + no_proxy
bb.note("Upload : Invoke rest_api_cmd = " + rest_api_cmd )
while i < 10:
time.sleep(delaytime)
@@ -324,6 +330,7 @@ def analysis(d, folder_id, upload_id):
delaytime = 50
i = 0
+ no_proxy = (d.getVar('NO_PROXY', True) or "")
server_url = (d.getVar('FOSSOLOGY_SERVER', True) or "")
if server_url == "":
bb.note("Please set fossology server URL by setting FOSSOLOGY_SERVER!\n")
@@ -340,7 +347,7 @@ def analysis(d, folder_id, upload_id):
+ " -H \"Authorization: Bearer " + token + "\"" \
+ " -H \'Content-Type: application/json\'" \
+ " --data \'{\"analysis\": {\"bucket\": true,\"copyright_email_author\": true,\"ecc\": true, \"keyword\": true,\"mime\": true,\"monk\": true,\"nomos\": true,\"package\": true},\"decider\": {\"nomos_monk\": true,\"bulk_reused\": true,\"new_scanner\": true}}\'" \
- + " --noproxy 127.0.0.1"
+ + " --noproxy " + no_proxy
bb.note("Analysis : Invoke rest_api_cmd = " + rest_api_cmd )
while i < 10:
try:
@@ -372,6 +379,7 @@ def trigger(d, folder_id, upload_id):
delaytime = 50
i = 0
+ no_proxy = (d.getVar('NO_PROXY', True) or "")
server_url = (d.getVar('FOSSOLOGY_SERVER', True) or "")
if server_url == "":
bb.note("Please set fossology server URL by setting FOSSOLOGY_SERVER!\n")
@@ -386,7 +394,7 @@ def trigger(d, folder_id, upload_id):
+ " -H \"Authorization: Bearer " + token + "\"" \
+ " -H \"uploadId: " + str(upload_id) + "\"" \
+ " -H \'reportFormat: spdx2tv\'" \
- + " --noproxy 127.0.0.1"
+ + " --noproxy " + no_proxy
bb.note("trigger : Invoke rest_api_cmd = " + rest_api_cmd )
while i < 10:
time.sleep(delaytime)
@@ -416,6 +424,7 @@ def get_spdx(d, report_id, spdx_file):
complete = False
i = 0
+ no_proxy = (d.getVar('NO_PROXY', True) or "")
server_url = (d.getVar('FOSSOLOGY_SERVER', True) or "")
if server_url == "":
bb.note("Please set fossology server URL by setting FOSSOLOGY_SERVER!\n")
@@ -428,7 +437,7 @@ def get_spdx(d, report_id, spdx_file):
rest_api_cmd = "curl -k -s -S -X GET " + server_url + "/api/v1/report/" + report_id \
+ " -H \'accept: text/plain\'" \
+ " -H \"Authorization: Bearer " + token + "\"" \
- + " --noproxy 127.0.0.1"
+ + " --noproxy " + no_proxy
bb.note("get_spdx : Invoke rest_api_cmd = " + rest_api_cmd )
while i < 10:
time.sleep(delaytime)
@@ -461,13 +470,12 @@ def get_spdx(d, report_id, spdx_file):
bb.warn(d.getVar('PN', True) + ": Get the first line is " + first_line + ". Try agin")
file.close()
- os.remove(spdx_file)
i += 1
delaytime = delaytime + 20
time.sleep(delaytime)
file.close()
- bb.warn(d.getVar('PN', True) + ": Get spdx failed, Please check your fossology server.")
+ bb.warn(d.getVar('PN', True) + ": SPDX file maybe have something wrong, please confirm.")
def invoke_rest_api(d, tar_file, spdx_file, folder_id):
import os