blob: 7529be5c24ab6fd7e098b53321811d304994e3e2 [file] [log] [blame]
Nanhumlydbe61102025-01-03 15:45:50 +00001#!/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
7from extract_utils.fixups_blob import (
8 blob_fixup,
9 blob_fixups_user_type,
10)
11from extract_utils.fixups_lib import (
12 lib_fixup_remove,
13 lib_fixups,
14 lib_fixups_user_type,
15)
16from extract_utils.main import (
17 ExtractUtils,
18 ExtractUtilsModule,
19)
20
Nanhumlydbe61102025-01-03 15:45:50 +000021namespace_imports = [
22 'hardware/qcom-caf/sm8250',
23 'hardware/qcom-caf/wlan',
24 'vendor/qcom/opensource/display',
25 'vendor/qcom/opensource/commonsys/display',
26 'vendor/qcom/opensource/commonsys-intf/display',
27]
28
29def lib_fixup_vendor_suffix(lib: str, partition: str, *args, **kwargs):
30 return f'{lib}_{partition}' if partition == 'vendor' else None
31
32lib_fixups: lib_fixups_user_type = {
33 **lib_fixups,
34 (
micky3871082be72025-02-26 05:32:40 -050035 'com.qualcomm.qti.dpm.api@1.0',
36 'vendor.qti.imsrtpservice@3.0',
37 'libAsusMotorDriverHAL',
38 'libAsusRGBSensorHAL',
39 'libmpbase',
40 'libxditk_DIT_Manager',
41 'libxditk_ISP',
42 'libxditk_arch',
43 'libxditk_ditArchLIB',
44 'libxditk_ditBSP',
45 'libxditk_ditBSP_JNI',
46 'libxditk_DIT_MSMv1',
Nanhumlydbe61102025-01-03 15:45:50 +000047 ): lib_fixup_vendor_suffix,
48 (
micky3871082be72025-02-26 05:32:40 -050049 'libwpa_client',
Nanhumlydbe61102025-01-03 15:45:50 +000050 ): lib_fixup_remove,
51}
52
53blob_fixups: blob_fixups_user_type = {
micky3871082be72025-02-26 05:32:40 -050054 ('system/lib64/libxditk_ISP.so',
55 'system/lib64/libxditk_ditArchLIB.so'): blob_fixup()
56 .replace_needed('libOpenCL.so', 'libOpenCL_system.so'),
micky3878736aa02025-02-27 15:07:05 -050057 'system_ext/lib64/libqti-iopd-client_system.so': blob_fixup()
58 .replace_needed('vendor.qti.hardware.iop@2.0.so', 'vendor.qti.hardware.iop@2.0_system.so'),
micky3871082be72025-02-26 05:32:40 -050059 'vendor/bin/hw/android.hardware.lights-service.qti': blob_fixup()
60 .replace_needed('android.hardware.light-V1-ndk_platform.so', 'android.hardware.light-V1-ndk.so'),
61 'vendor/bin/hw/android.hardware.power-service': blob_fixup()
62 .replace_needed('android.hardware.power-V1-ndk_platform.so', 'android.hardware.power-V1-ndk.so'),
Nanhumlydbe61102025-01-03 15:45:50 +000063 'vendor/etc/seccomp_policy/qspm.policy': blob_fixup()
64 .add_line_if_missing('gettid: 1'),
65 'vendor/lib64/libvendor.goodix.hardware.biometrics.fingerprint@2.1.so': blob_fixup()
66 .replace_needed('libhidltransport.so', 'libhidlbase_shim.so'),
67 'vendor/lib64/libwvhidl.so': blob_fixup()
68 .patchelf_version('0_17_2')
69 .add_needed('libcrypto_shim.so'),
70 'vendor/lib64/vendor.qti.hardware.camera.postproc@1.0-service-impl.so': blob_fixup()
71 .sig_replace('13 0A 00 94', '1F 20 03 D5'),
72} # fmt: skip
73
74module = ExtractUtilsModule(
75 'zenfone7',
76 'asus',
77 blob_fixups=blob_fixups,
78 lib_fixups=lib_fixups,
Nanhumlydbe61102025-01-03 15:45:50 +000079 namespace_imports=namespace_imports,
80)
81
82module.add_proprietary_file('proprietary-files-product.txt')
83module.add_proprietary_file('proprietary-files-vendor.txt')
84
85if __name__ == '__main__':
86 utils = ExtractUtils.device(module)
87 utils.run()