blob: 5d28bb4d113129d2eacb07a37f447c3ed4931130 [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 = [
Nanhumlydbe61102025-01-03 15:45:50 +000022 'hardware/qcom-caf/wlan',
23 'vendor/qcom/opensource/display',
24 'vendor/qcom/opensource/commonsys/display',
25 'vendor/qcom/opensource/commonsys-intf/display',
26]
27
28def lib_fixup_vendor_suffix(lib: str, partition: str, *args, **kwargs):
29 return f'{lib}_{partition}' if partition == 'vendor' else None
30
31lib_fixups: lib_fixups_user_type = {
32 **lib_fixups,
33 (
micky3871082be72025-02-26 05:32:40 -050034 'com.qualcomm.qti.dpm.api@1.0',
35 'vendor.qti.imsrtpservice@3.0',
36 'libAsusMotorDriverHAL',
37 'libAsusRGBSensorHAL',
38 'libmpbase',
39 'libxditk_DIT_Manager',
40 'libxditk_ISP',
41 'libxditk_arch',
42 'libxditk_ditArchLIB',
43 'libxditk_ditBSP',
44 'libxditk_ditBSP_JNI',
45 'libxditk_DIT_MSMv1',
Nanhumlydbe61102025-01-03 15:45:50 +000046 ): lib_fixup_vendor_suffix,
47 (
micky3871082be72025-02-26 05:32:40 -050048 'libwpa_client',
Nanhumlydbe61102025-01-03 15:45:50 +000049 ): lib_fixup_remove,
50}
51
52blob_fixups: blob_fixups_user_type = {
micky3871082be72025-02-26 05:32:40 -050053 ('system/lib64/libxditk_ISP.so',
54 'system/lib64/libxditk_ditArchLIB.so'): blob_fixup()
55 .replace_needed('libOpenCL.so', 'libOpenCL_system.so'),
micky3878736aa02025-02-27 15:07:05 -050056 'system_ext/lib64/libqti-iopd-client_system.so': blob_fixup()
57 .replace_needed('vendor.qti.hardware.iop@2.0.so', 'vendor.qti.hardware.iop@2.0_system.so'),
micky3871082be72025-02-26 05:32:40 -050058 'vendor/bin/hw/android.hardware.power-service': blob_fixup()
59 .replace_needed('android.hardware.power-V1-ndk_platform.so', 'android.hardware.power-V1-ndk.so'),
Jake Weinstein275bd9f2022-12-09 00:35:52 +090060 'vendor/etc/msm_irqbalance.conf': blob_fixup()
61 .regex_replace('IGNORED_IRQ=27,23,38$', 'IGNORED_IRQ=27,23,38,115,332'),
Nanhumlydbe61102025-01-03 15:45:50 +000062 'vendor/etc/seccomp_policy/qspm.policy': blob_fixup()
63 .add_line_if_missing('gettid: 1'),
micky3875a185082025-03-19 17:50:57 -040064 'vendor/bin/hw/android.hardware.camera.provider@2.4-service_64': blob_fixup()
65 .add_needed('libhidlbase_shim.so'),
micky3877eecdef2025-03-20 22:23:19 -040066 ('vendor/lib/libqti-perfd.so',
67 'vendor/lib64/libqti-perfd.so'): blob_fixup()
68 .binary_regex_replace(b'sys.asus.dongletype', b'vendor.sys.asus.dongletype'),
Nanhumlydbe61102025-01-03 15:45:50 +000069 'vendor/lib64/libvendor.goodix.hardware.biometrics.fingerprint@2.1.so': blob_fixup()
70 .replace_needed('libhidltransport.so', 'libhidlbase_shim.so'),
71 'vendor/lib64/libwvhidl.so': blob_fixup()
72 .patchelf_version('0_17_2')
73 .add_needed('libcrypto_shim.so'),
74 'vendor/lib64/vendor.qti.hardware.camera.postproc@1.0-service-impl.so': blob_fixup()
75 .sig_replace('13 0A 00 94', '1F 20 03 D5'),
76} # fmt: skip
77
78module = ExtractUtilsModule(
79 'zenfone7',
80 'asus',
81 blob_fixups=blob_fixups,
82 lib_fixups=lib_fixups,
Nanhumlydbe61102025-01-03 15:45:50 +000083 namespace_imports=namespace_imports,
84)
85
86module.add_proprietary_file('proprietary-files-product.txt')
87module.add_proprietary_file('proprietary-files-vendor.txt')
88
89if __name__ == '__main__':
90 utils = ExtractUtils.device(module)
91 utils.run()