12345678910111213141516171819202122232425262728293031323334353637383940 |
- #!/usr/bin/env python3
- import os
- import zipfile
- import common
- class Main(common.LkmcCliFunction):
- def __init__(self):
- super().__init__(
- description='''\
- https://cirosantilli.com/linux-kernel-module-cheat#release-zip
- ''',
- defaults = {
- 'show_time': False,
- }
- )
- self.zip_files = []
- def timed_main(self):
- self.zip_files.append(self.env['qcow2_file'])
- self.zip_files.append(self.env['linux_image'])
- for root, dirnames, filenames in os.walk(self.env['baremetal_build_dir']):
- for filename in sorted(filenames):
- path = os.path.join(root, filename)
- if os.path.splitext(path)[1] == self.env['baremetal_executable_ext']:
- self.zip_files.append(path)
- def teardown(self):
- os.makedirs(self.env['release_dir'], exist_ok=True)
- self.sh.rmrf(self.env['release_zip_file'])
- self.log_info('Creating zip: ' + self.env['release_zip_file'])
- with zipfile.ZipFile(self.env['release_zip_file'], 'w', zipfile.ZIP_DEFLATED) as zipf:
- for zip_file in self.zip_files:
- self.log_info('Adding file: ' + zip_file)
- zipf.write(zip_file, arcname=os.path.relpath(zip_file, self.env['root_dir']))
- if __name__ == '__main__':
- Main().cli()
|