#!/usr/bin/env python3 # vim: ft=python # -*- mode: python -*- 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