ingres: Import proprietary-files.txt and extract utils from existing tree
diff --git a/extract-files.py b/extract-files.py
new file mode 100755
index 0000000..5454caa
--- /dev/null
+++ b/extract-files.py
@@ -0,0 +1,77 @@
+#!/usr/bin/env -S PYTHONPATH=../../../tools/extract-utils python3
+#
+# SPDX-FileCopyrightText: 2025 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_fixups,
+)
+from extract_utils.main import (
+    ExtractUtils,
+    ExtractUtilsModule,
+)
+
+namespace_imports = [
+    'device/xiaomi/sm8450-common',
+    'hardware/qcom-caf/sm8450',
+    'hardware/xiaomi',
+    'vendor/qcom/opensource/commonsys-intf/display',
+    'vendor/xiaomi/sm8450-common',
+]
+
+blob_fixups: blob_fixups_user_type = {
+    (
+        'vendor/etc/camera/ingres_enhance_motiontuning.xml',
+        'vendor/etc/camera/ingres_motiontuning.xml',
+    ): blob_fixup().regex_replace('xml=version', 'xml version'),
+    (
+        'vendor/etc/camera/pureShot_parameter.xml',
+        'vendor/etc/camera/pureView_parameter.xml',
+    ): blob_fixup().regex_replace(r'=([0-9]+)>', r'="\1">'),
+    (
+        'vendor/lib64/hw/com.qti.chi.override.so',
+        'vendor/lib64/libcamxcommonutils.so',
+        'vendor/lib64/libmialgoengine.so',
+    ): blob_fixup().add_needed('libprocessgroup_shim.so'),
+    (
+        'vendor/lib64/libTrueSight.so',
+        'vendor/lib64/libmorpho_ubwc.so',
+    ): blob_fixup()
+    .clear_symbol_version('AHardwareBuffer_allocate')
+    .clear_symbol_version('AHardwareBuffer_describe')
+    .clear_symbol_version('AHardwareBuffer_isSupported')
+    .clear_symbol_version('AHardwareBuffer_lock')
+    .clear_symbol_version('AHardwareBuffer_lockPlanes')
+    .clear_symbol_version('AHardwareBuffer_release')
+    .clear_symbol_version('AHardwareBuffer_unlock'),
+    'vendor/lib64/libcamximageformatutils.so': blob_fixup().replace_needed(
+        'vendor.qti.hardware.display.config-V2-ndk_platform.so',
+        'vendor.qti.hardware.display.config-V2-ndk.so',
+    ),
+    'vendor/lib64/libmialgo_pureShot.so': blob_fixup()
+    .clear_symbol_version('remote_handle64_close')
+    .clear_symbol_version('remote_handle64_invoke')
+    .clear_symbol_version('remote_handle64_open')
+    .clear_symbol_version('remote_register_buf_attr'),
+}
+
+module = ExtractUtilsModule(
+    'ingres',
+    'xiaomi',
+    blob_fixups=blob_fixups,
+    lib_fixups=lib_fixups,
+    namespace_imports=namespace_imports,
+    check_elf=True,
+    add_firmware_proprietary_file=False,
+)
+
+if __name__ == '__main__':
+    utils = ExtractUtils.device_with_common(
+        module, 'sm8450-common', module.vendor
+    )
+    utils.run()