summaryrefslogtreecommitdiff
path: root/update_metainfo_xml.py
diff options
context:
space:
mode:
authorRebecca N. Palmer <rebecca_palmer@zoho.com>2017-01-15 23:17:49 +0000
committerYang Rong <rong.r.yang@intel.com>2017-03-01 16:40:08 +0800
commit033464f4b8045a49dbcc1a84cde5c05986ca11c2 (patch)
tree6df09ba7f846ab0457c1c3a99808762c56134b5b /update_metainfo_xml.py
parentf2d17098c22c908717d97c79b6e1baa8e943f667 (diff)
downloadbeignet-033464f4b8045a49dbcc1a84cde5c05986ca11c2.tar.gz
Add AppStream metadata
AppStream is a standard for software metadata, including what hardware a driver supports: https://www.freedesktop.org/software/appstream/docs/chap-Metadata.html Signed-off-by: Rebecca N. Palmer <rebecca_palmer@zoho.com> Reviewed-by: Yang Rong <rong.r.yang@intel.com>
Diffstat (limited to 'update_metainfo_xml.py')
-rwxr-xr-xupdate_metainfo_xml.py32
1 files changed, 32 insertions, 0 deletions
diff --git a/update_metainfo_xml.py b/update_metainfo_xml.py
new file mode 100755
index 00000000..487bd757
--- /dev/null
+++ b/update_metainfo_xml.py
@@ -0,0 +1,32 @@
+#!/usr/bin/python
+
+import re
+import sys
+import os.path
+from io import open
+
+if len(sys.argv) != 3:
+ raise TypeError("requires version_string and output_directory")
+version_string = sys.argv[1]
+output_directory = sys.argv[2]
+source_directory = os.path.dirname(sys.argv[0])
+source_file = open(os.path.join(source_directory,"src/cl_device_data.h"),"r",encoding = 'utf-8')
+device_ids = []
+supported = False # first few devices in the file aren't supported
+for line in source_file:
+ device_id = re.match(r"#define\s+PCI_CHIP_([A-Za-z0-9_]+)\s+0x([0-9A-Fa-f]+)",line)
+ if device_id is None:
+ continue
+ if "IVYBRIDGE" in device_id.group(1):
+ supported = True # start of supported devices
+ if supported:
+ device_ids.append(device_id.group(2).upper())
+source_file.close()
+modalias_list_string = "\n".join("<modalias>pci:v00008086d0000{}*</modalias>".format(device_id) for device_id in sorted(device_ids))
+metadata_file_in = open(os.path.join(source_directory,"com.intel.beignet.metainfo.xml.in"),"r",encoding = 'utf-8')
+metadata_string = metadata_file_in.read()
+metadata_file_in.close()
+metadata_string = metadata_string.replace("@modalias_list@",modalias_list_string).replace("@version@",version_string)
+metadata_file_out = open(os.path.join(output_directory,"com.intel.beignet.metainfo.xml"),"w",encoding = 'utf-8')
+metadata_file_out.write(metadata_string)
+metadata_file_out.close()