blob: 02684c90204ceb8a2b85060660f67e60a0c170f8 [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
21
22namespace_imports = [
23 'hardware/qcom-caf/sm8250',
24 'hardware/qcom-caf/wlan',
25 'vendor/qcom/opensource/display',
26 'vendor/qcom/opensource/commonsys/display',
27 'vendor/qcom/opensource/commonsys-intf/display',
28]
29
30def lib_fixup_vendor_suffix(lib: str, partition: str, *args, **kwargs):
31 return f'{lib}_{partition}' if partition == 'vendor' else None
32
33lib_fixups: lib_fixups_user_type = {
34 **lib_fixups,
35 (
36 ): lib_fixup_vendor_suffix,
37 (
38 ): lib_fixup_remove,
39}
40
41blob_fixups: blob_fixups_user_type = {
42 ('system_ext/etc/permissions/vendor.qti.hardware.data.connection-V1.0-java.xml',
43 'system_ext/etc/permissions/vendor.qti.hardware.data.connection-V1.1-java.xml'): blob_fixup()
44 .regex_replace('system/product', 'system_ext')
45 .regex_replace('xml version="2.0"', 'xml version="1.0"'),
46 'vendor/etc/seccomp_policy/qspm.policy': blob_fixup()
47 .add_line_if_missing('gettid: 1'),
48 'vendor/lib64/libvendor.goodix.hardware.biometrics.fingerprint@2.1.so': blob_fixup()
49 .replace_needed('libhidltransport.so', 'libhidlbase_shim.so'),
50 'vendor/lib64/libwvhidl.so': blob_fixup()
51 .patchelf_version('0_17_2')
52 .add_needed('libcrypto_shim.so'),
53 'vendor/lib64/vendor.qti.hardware.camera.postproc@1.0-service-impl.so': blob_fixup()
54 .sig_replace('13 0A 00 94', '1F 20 03 D5'),
55} # fmt: skip
56
57module = ExtractUtilsModule(
58 'zenfone7',
59 'asus',
60 blob_fixups=blob_fixups,
61 lib_fixups=lib_fixups,
62 check_elf=False,
63 namespace_imports=namespace_imports,
64)
65
66module.add_proprietary_file('proprietary-files-product.txt')
67module.add_proprietary_file('proprietary-files-vendor.txt')
68
69if __name__ == '__main__':
70 utils = ExtractUtils.device(module)
71 utils.run()