aboutsummaryrefslogtreecommitdiffstats
path: root/lib/oe/spdx.py
diff options
context:
space:
mode:
Diffstat (limited to 'lib/oe/spdx.py')
-rw-r--r--lib/oe/spdx.py40
1 files changed, 40 insertions, 0 deletions
diff --git a/lib/oe/spdx.py b/lib/oe/spdx.py
new file mode 100644
index 0000000..b62b838
--- /dev/null
+++ b/lib/oe/spdx.py
@@ -0,0 +1,40 @@
+import os
+import glob
+import subprocess
+import shutil
+import multiprocessing
+import re
+import bb
+import tempfile
+import oe.utils
+import string
+
+class Dosocs2(PackageManager):
+ def __init__(self):
+ self.dosocs2_cmd = bb.utils.which(os.getenv('PATH'), "dosocs2")
+ dosocs2_init_cmd = "%s dbinit --no-confirm" % (self.smart_cmd)
+ bb.note(dosocs2_init_cmd)
+ try:
+ complementary_pkgs = subprocess.check_output(dosocs2_init_cmd,
+ stderr=subprocess.STDOUT,
+ shell=True)
+ return
+ except subprocess.CalledProcessError as e:
+ bb.fatal("Could not invoke dosocs2 dbinit Command "
+ "'%s' returned %d:\n%s" % (dosocs2_init_cmd, e.returncode, e.output))
+
+ def _invoke_dosocs2( self, spdx_file):
+ cmd = "%s oneshot %s" % (self.smart_cmd, args)
+
+ p = subprocess.Popen(cmd.split(),
+ stdout=subprocess.PIPE, stderr=subprocess.PIPE)
+ dosocs2_output, dosocs2_error = p.communicate()
+ if p.returncode != 0:
+ return None
+
+ dosocs2_output = dosocs2_output.decode('utf-8')
+
+ f = codecs.open(spdx_file,'w','utf-8')
+ f.write(dosocs2_output)
+
+