build: add a tool to scan extensions/ for kernel extensions

This commit is contained in:
2023-04-04 10:59:42 +01:00
parent 06ba21bd9d
commit fadab38da7
3 changed files with 289 additions and 55 deletions

View File

@@ -2,4 +2,31 @@
# vim: ft=python
# -*- mode: python -*-
print('hello, world')
import glob
import os
from kexttool import kext
cwd = os.getcwd()
scan_arg = os.path.join(cwd, 'extensions', '**/extension.info')
nr_extensions = 0
# root_dir needs a trailing slash (i.e. /root/dir/)
for filename in glob.iglob(scan_arg, recursive=True):
try:
kext_src = kext.KextSource(filename)
except Exception as e:
print('E: cannot read kernel extension source manifest (reason: {})'.format(e))
continue
print('* {}'.format(kext_src.name()))
print(' Bundle ID: {}'.format(kext_src.id()))
print(' License: {}'.format(kext_src.license()))
print(' Copyright: {}'.format(kext_src.copyright()))
print(' Location: {}'.format(kext_src.src_dirpath()))
print(' Sources:')
for src in kext_src.sources():
print(' {}'.format(src))
nr_extensions = nr_extensions + 1