extract-files.py 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  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_fixup_remove_arch_suffix,
  15. lib_fixup_remove_proto_version_suffix,
  16. lib_fixup_vendorcompat,
  17. lib_fixups_user_type,
  18. libs_clang_rt_ubsan,
  19. libs_proto_3_9_1,
  20. libs_proto_21_12,
  21. )
  22. from extract_utils.main import (
  23. ExtractUtils,
  24. ExtractUtilsModule,
  25. )
  26. namespace_imports = [
  27. 'device/xiaomi/sm8450-common',
  28. 'hardware/qcom-caf/sm8450',
  29. 'hardware/xiaomi',
  30. 'vendor/qcom/opensource/commonsys-intf/display',
  31. 'vendor/xiaomi/sm8450-common',
  32. ]
  33. lib_fixups: lib_fixups_user_type = {
  34. libs_clang_rt_ubsan: lib_fixup_remove_arch_suffix,
  35. libs_proto_3_9_1: lib_fixup_vendorcompat,
  36. libs_proto_21_12: lib_fixup_remove_proto_version_suffix,
  37. (
  38. 'libagmclient',
  39. 'libagmmixer',
  40. '[email protected]',
  41. ): lib_fixup_remove,
  42. }
  43. blob_fixups: blob_fixups_user_type = {
  44. (
  45. 'vendor/etc/camera/cupid_enhance_motiontuning.xml',
  46. 'vendor/etc/camera/cupid_motiontuning.xml',
  47. ): blob_fixup().regex_replace('xml=version', 'xml version'),
  48. (
  49. 'vendor/etc/camera/pureShot_parameter.xml',
  50. 'vendor/etc/camera/pureView_parameter.xml',
  51. ): blob_fixup().regex_replace(r'=([0-9]+)>', r'="\1">'),
  52. 'vendor/lib64/libcamximageformatutils.so': blob_fixup().replace_needed(
  53. 'vendor.qti.hardware.display.config-V2-ndk_platform.so',
  54. 'vendor.qti.hardware.display.config-V2-ndk.so',
  55. ),
  56. }
  57. module = ExtractUtilsModule(
  58. 'cupid',
  59. 'xiaomi',
  60. blob_fixups=blob_fixups,
  61. lib_fixups=lib_fixups,
  62. namespace_imports=namespace_imports,
  63. check_elf=True,
  64. add_firmware_proprietary_file=True,
  65. )
  66. if __name__ == '__main__':
  67. utils = ExtractUtils.device_with_common(
  68. module, 'sm8450-common', module.vendor
  69. )
  70. utils.run()