extract-files.py 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. #!/usr/bin/env -S PYTHONPATH=../../../tools/extract-utils python3
  2. #
  3. # SPDX-FileCopyrightText: 2024 The LineageOS Project
  4. # SPDX-License-Identifier: Apache-2.0
  5. #
  6. import extract_utils.tools
  7. extract_utils.tools.DEFAULT_PATCHELF_VERSION = '0_18'
  8. from extract_utils.fixups_blob import (
  9. blob_fixup,
  10. blob_fixups_user_type,
  11. )
  12. from extract_utils.fixups_lib import (
  13. lib_fixup_remove,
  14. lib_fixups,
  15. lib_fixups_user_type,
  16. )
  17. from extract_utils.main import (
  18. ExtractUtils,
  19. ExtractUtilsModule,
  20. )
  21. namespace_imports = [
  22. 'device/xiaomi/sm8450-common',
  23. 'hardware/qcom-caf/sm8450',
  24. 'hardware/xiaomi',
  25. 'vendor/qcom/opensource/commonsys-intf/display',
  26. 'vendor/xiaomi/sm8450-common',
  27. ]
  28. lib_fixups: lib_fixups_user_type = {
  29. **lib_fixups,
  30. (
  31. 'libagmclient',
  32. 'libagmmixer',
  33. '[email protected]',
  34. ): lib_fixup_remove,
  35. }
  36. blob_fixups: blob_fixups_user_type = {
  37. (
  38. 'vendor/etc/camera/cupid_enhance_motiontuning.xml',
  39. 'vendor/etc/camera/cupid_motiontuning.xml',
  40. ): blob_fixup().regex_replace('xml=version', 'xml version'),
  41. (
  42. 'vendor/etc/camera/pureShot_parameter.xml',
  43. 'vendor/etc/camera/pureView_parameter.xml',
  44. ): blob_fixup().regex_replace(r'=([0-9]+)>', r'="\1">'),
  45. 'vendor/lib64/libcamximageformatutils.so': blob_fixup().replace_needed(
  46. 'vendor.qti.hardware.display.config-V2-ndk_platform.so',
  47. 'vendor.qti.hardware.display.config-V2-ndk.so',
  48. ),
  49. }
  50. module = ExtractUtilsModule(
  51. 'cupid',
  52. 'xiaomi',
  53. blob_fixups=blob_fixups,
  54. lib_fixups=lib_fixups,
  55. namespace_imports=namespace_imports,
  56. check_elf=True,
  57. add_firmware_proprietary_file=True,
  58. )
  59. if __name__ == '__main__':
  60. utils = ExtractUtils.device_with_common(
  61. module, 'sm8450-common', module.vendor
  62. )
  63. utils.run()