96 lines
3.4 KiB
Python
Executable file
96 lines
3.4 KiB
Python
Executable file
#!/usr/bin/env -S PYTHONPATH=../../../tools/extract-utils python3
|
|
#
|
|
# SPDX-FileCopyrightText: 2024 The LineageOS Project
|
|
# SPDX-License-Identifier: Apache-2.0
|
|
#
|
|
|
|
from extract_utils.fixups_blob import (
|
|
blob_fixup,
|
|
blob_fixups_user_type,
|
|
)
|
|
from extract_utils.fixups_lib import (
|
|
lib_fixup_remove,
|
|
lib_fixups,
|
|
lib_fixups_user_type,
|
|
)
|
|
from extract_utils.main import (
|
|
ExtractUtils,
|
|
ExtractUtilsModule,
|
|
)
|
|
|
|
namespace_imports = [
|
|
'device/sony/tama-common',
|
|
'hardware/qcom-caf/sdm845',
|
|
'hardware/qcom-caf/wlan',
|
|
'vendor/qcom/opensource/commonsys-intf/display',
|
|
'vendor/qcom/opensource/commonsys/display',
|
|
'vendor/qcom/opensource/dataservices',
|
|
'vendor/qcom/opensource/display',
|
|
]
|
|
|
|
def lib_fixup_vendor_suffix(lib: str, partition: str, *args, **kwargs):
|
|
return f'{lib}_{partition}' if partition == 'vendor' else None
|
|
|
|
lib_fixups: lib_fixups_user_type = {
|
|
**lib_fixups,
|
|
(
|
|
'com.qualcomm.qti.dpm.api@1.0',
|
|
'com.qualcomm.qti.imscmservice@1.0',
|
|
'com.qualcomm.qti.imscmservice@2.0',
|
|
'com.qualcomm.qti.imscmservice@2.1',
|
|
'com.qualcomm.qti.imscmservice@2.2',
|
|
'com.qualcomm.qti.uceservice@2.0',
|
|
'com.qualcomm.qti.uceservice@2.1',
|
|
'libmmosal',
|
|
'vendor.qti.hardware.radio.ims@1.0',
|
|
'vendor.qti.hardware.radio.ims@1.1',
|
|
'vendor.qti.hardware.radio.ims@1.2',
|
|
'vendor.qti.hardware.radio.ims@1.3',
|
|
'vendor.qti.hardware.radio.ims@1.4',
|
|
'vendor.qti.hardware.wifidisplaysession@1.0',
|
|
'vendor.qti.ims.callinfo@1.0',
|
|
'vendor.qti.ims.rcsconfig@1.0',
|
|
'vendor.qti.imsrtpservice@2.0',
|
|
'vendor.qti.imsrtpservice@2.1',
|
|
'vendor.somc.hardware.swiqi@1.0',
|
|
): lib_fixup_vendor_suffix,
|
|
(
|
|
'libwifi-hal-ctrl',
|
|
): lib_fixup_remove,
|
|
}
|
|
|
|
blob_fixups: blob_fixups_user_type = {
|
|
(
|
|
'system_ext/etc/permissions/com.qualcomm.qti.imscmservice-V2.0-java.xml',
|
|
'system_ext/etc/permissions/com.qualcomm.qti.imscmservice-V2.1-java.xml',
|
|
'system_ext/etc/permissions/com.qualcomm.qti.imscmservice-V2.2-java.xml',
|
|
'system_ext/etc/permissions/qcrilhook.xml',
|
|
'system_ext/etc/permissions/telephonyservice.xml'
|
|
): blob_fixup()
|
|
.regex_replace('/product/framework/', '/system_ext/framework/'),
|
|
('system_ext/lib/lib-imsvideocodec.so', 'system_ext/lib64/lib-imsvideocodec.so'): blob_fixup()
|
|
.add_needed('libgui_shim.so'),
|
|
'vendor/bin/pm-service': blob_fixup()
|
|
.add_needed('libutils-v33.so'),
|
|
'vendor/bin/sony-modem-switcher': blob_fixup()
|
|
.binary_regex_replace(b'/oem/modem-config/%s/modem.conf', b'/vendor/modemconf/%s/modem.conf')
|
|
.binary_regex_replace(b'/oem/modem-config/modem.conf', b'/vendor/modemconf/modem.conf')
|
|
.binary_regex_replace(b'persist.radio.multisim.config', b'vendor.radio.multisim.config\x00')
|
|
.binary_regex_replace(b'persist.somc.cust.modem(0|1)\x00', b'persist.vendor.somc.sim\\1\x00'),
|
|
'vendor/etc/init/init.sony-modem-switcher.rc': blob_fixup()
|
|
.regex_replace('/system/bin/sony-modem-switcher', '/vendor/bin/sony-modem-switcher')
|
|
.regex_replace('persist.somc.cust.modem(0|1)', 'persist.vendor.somc.sim\\1'),
|
|
} # fmt: skip
|
|
|
|
module = ExtractUtilsModule(
|
|
'tama-common',
|
|
'sony',
|
|
blob_fixups=blob_fixups,
|
|
lib_fixups=lib_fixups,
|
|
namespace_imports=namespace_imports,
|
|
check_elf=True,
|
|
)
|
|
|
|
if __name__ == '__main__':
|
|
utils = ExtractUtils.device(module)
|
|
utils.run()
|