Remove ELF PRODUCT_COPY_FILES

We're banning ELF prebuilts in PRODUCT_COPY_FILES. Define prebuilt
modules for vendor prebuilts so we can run check_elf_file.py on them.
Use PRODUCT_PACKAGES to install ELF prebuilts.

Bug: 152277096
Bug: 140560012
Test: run ./generate-packages.sh with BID 6326216
Test: build aosp_bonito-userdebug on \
  rvc-dev-plus-aosp-without-vendor with the generated tarball
Change-Id: Id809081511347f3ddabd47952b7fc17d5c9f927e
diff --git a/self-extractors/extract-lists.txt b/self-extractors/extract-lists.txt
index fa5e00f..3239b18 100644
--- a/self-extractors/extract-lists.txt
+++ b/self-extractors/extract-lists.txt
@@ -10,10 +10,7 @@
             system/app/ims/ims.apk \
             system/app/QtiTelephonyService/QtiTelephonyService.apk \
             system/etc/cne/andsfCne.xml \
-            system/etc/permissions/cneapiclient.xml \
-            system/etc/permissions/com.quicinc.cne.xml \
             system/etc/permissions/embms.xml \
-            system/etc/permissions/LteDirectDiscovery.xml \
             system/etc/permissions/qcrilhook.xml \
             system/etc/permissions/radioconfiginterface.xml \
             system/etc/permissions/radioconfig.xml \
@@ -28,8 +25,6 @@
             system/lib64/libadsprpc_system.so \
             system/lib64/libcdsprpc_system.so \
             system/lib64/libDiagService.so \
-            system/lib64/libGPQTEEC_system.so \
-            system/lib64/libGPTEE_system.so \
             system/lib64/libimscamera_jni.so \
             system/lib64/libimsmedia_jni.so \
             system/lib64/lib-imsvideocodec.so \
@@ -37,15 +32,12 @@
             system/lib64/lib-imsvt.so \
             system/lib64/lib-imsvtutils.so \
             system/lib64/libmdsprpc_system.so \
-            system/lib64/libQTEEConnector_system.so \
             system/lib64/librcc.so \
             system/lib64/libsdm-disp-apis.so \
             system/lib64/libsdsprpc_system.so \
             system/lib64/libsecureui_svcsock_system.so \
             system/lib/libadsprpc_system.so \
             system/lib/libcdsprpc_system.so \
-            system/lib/libGPQTEEC_system.so \
-            system/lib/libGPTEE_system.so \
             system/lib/libimscamera_jni.so \
             system/lib/libimsmedia_jni.so \
             system/lib/lib-imsvideocodec.so \
@@ -53,11 +45,9 @@
             system/lib/lib-imsvt.so \
             system/lib/lib-imsvtutils.so \
             system/lib/libmdsprpc_system.so \
-            system/lib/libQTEEConnector_system.so \
             system/lib/librcc.so \
             system/lib/libsdm-disp-apis.so \
             system/lib/libsdsprpc_system.so \
             system/lib/libsecureui_svcsock_system.so \
-            system/lib/rfsa/adsp/libsns_low_lat_stream_skel.so \
             "
     ;;
diff --git a/self-extractors/qcom/staging/Android.bp.txt b/self-extractors/qcom/staging/Android.bp.txt
new file mode 100644
index 0000000..14c15a7
--- /dev/null
+++ b/self-extractors/qcom/staging/Android.bp.txt
@@ -0,0 +1,563 @@
+// Copyright (C) 2020 The Android Open Source Project
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+soong_namespace {
+}
+
+cc_prebuilt_library_shared {
+    name: "libadsprpc_system",
+    arch: {
+        arm: {
+            srcs: ["libadsprpc_system.so"],
+            shared_libs: [
+                "liblog",
+                "libcutils",
+                "libc++",
+                "libc",
+                "libm",
+                "libdl",
+            ],
+        },
+        arm64: {
+            srcs: ["lib64/libadsprpc_system.so"],
+            shared_libs: [
+                "liblog",
+                "libcutils",
+                "libc++",
+                "libc",
+                "libm",
+                "libdl",
+            ],
+        },
+    },
+    compile_multilib: "both",
+    owner: "qcom",
+    strip: {
+        none: true,
+    },
+}
+
+cc_prebuilt_library_shared {
+    name: "libcdsprpc_system",
+    arch: {
+        arm: {
+            srcs: ["libcdsprpc_system.so"],
+            shared_libs: [
+                "liblog",
+                "libcutils",
+                "libc++",
+                "libc",
+                "libm",
+                "libdl",
+            ],
+        },
+        arm64: {
+            srcs: ["lib64/libcdsprpc_system.so"],
+            shared_libs: [
+                "liblog",
+                "libcutils",
+                "libc++",
+                "libc",
+                "libm",
+                "libdl",
+            ],
+        },
+    },
+    compile_multilib: "both",
+    owner: "qcom",
+    strip: {
+        none: true,
+    },
+}
+
+cc_prebuilt_library_shared {
+    name: "libDiagService",
+    arch: {
+        arm64: {
+            srcs: ["lib64/libDiagService.so"],
+            shared_libs: [
+                "libandroid_runtime",
+                "libnativehelper",
+                "libutils",
+                "libcutils",
+                "liblog",
+                // "libdiag_system",
+                "libc++",
+                "libc",
+                "libm",
+                "libdl",
+            ],
+        },
+    },
+    compile_multilib: "64",
+    owner: "qcom",
+    strip: {
+        none: true,
+    },
+    check_elf_files: false,
+}
+
+cc_prebuilt_library_shared {
+    name: "libimscamera_jni",
+    arch: {
+        arm: {
+            srcs: ["libimscamera_jni.so"],
+            shared_libs: [
+                "libnativehelper",
+                "libcutils",
+                "libutils",
+                "liblog",
+                "libc++",
+                "libc",
+                "libm",
+                "libdl",
+            ],
+        },
+        arm64: {
+            srcs: ["lib64/libimscamera_jni.so"],
+            shared_libs: [
+                "libnativehelper",
+                "libcutils",
+                "libutils",
+                "liblog",
+                "libc++",
+                "libc",
+                "libm",
+                "libdl",
+            ],
+        },
+    },
+    compile_multilib: "both",
+    owner: "qcom",
+    strip: {
+        none: true,
+    },
+}
+
+cc_prebuilt_library_shared {
+    name: "libimsmedia_jni",
+    arch: {
+        arm: {
+            srcs: ["libimsmedia_jni.so"],
+            shared_libs: [
+                "libnativehelper",
+                "libcutils",
+                "libutils",
+                "libgui",
+                "libbinder",
+                "liblog",
+                "libandroid",
+                "libc++",
+                "libc",
+                "libm",
+                "libdl",
+            ],
+        },
+        arm64: {
+            srcs: ["lib64/libimsmedia_jni.so"],
+            shared_libs: [
+                "libnativehelper",
+                "libcutils",
+                "libutils",
+                "libgui",
+                "libbinder",
+                "liblog",
+                "libandroid",
+                "libc++",
+                "libc",
+                "libm",
+                "libdl",
+            ],
+        },
+    },
+    compile_multilib: "both",
+    owner: "qcom",
+    strip: {
+        none: true,
+    },
+}
+
+cc_prebuilt_library_shared {
+    name: "lib-imsvideocodec",
+    arch: {
+        arm: {
+            srcs: ["lib-imsvideocodec.so"],
+            shared_libs: [
+                "lib-imsvtutils",
+                "lib-imsvtextutils",
+                "libcutils",
+                "libutils",
+                "liblog",
+                // "libdiag_system",
+                "libgui",
+                "libnativewindow",
+                "libmediandk",
+                "libc++",
+                "libc",
+                "libm",
+                "libdl",
+            ],
+        },
+        arm64: {
+            srcs: ["lib64/lib-imsvideocodec.so"],
+            shared_libs: [
+                "lib-imsvtutils",
+                "lib-imsvtextutils",
+                "libcutils",
+                "libutils",
+                "liblog",
+                // "libdiag_system",
+                "libgui",
+                "libnativewindow",
+                "libmediandk",
+                "libc++",
+                "libc",
+                "libm",
+                "libdl",
+            ],
+        },
+    },
+    compile_multilib: "both",
+    owner: "qcom",
+    strip: {
+        none: true,
+    },
+    check_elf_files: false,
+}
+
+cc_prebuilt_library_shared {
+    name: "lib-imsvtextutils",
+    arch: {
+        arm: {
+            srcs: ["lib-imsvtextutils.so"],
+            shared_libs: [
+                "libutils",
+                "libcutils",
+                "liblog",
+                // "libdiag_system",
+                "lib-imsvtutils",
+                "libGLESv2",
+                "libEGL",
+                "libc++",
+                "libc",
+                "libm",
+                "libdl",
+            ],
+        },
+        arm64: {
+            srcs: ["lib64/lib-imsvtextutils.so"],
+            shared_libs: [
+                "libutils",
+                "libcutils",
+                "liblog",
+                // "libdiag_system",
+                "lib-imsvtutils",
+                "libGLESv2",
+                "libEGL",
+                "libc++",
+                "libc",
+                "libm",
+                "libdl",
+            ],
+        },
+    },
+    compile_multilib: "both",
+    owner: "qcom",
+    strip: {
+        none: true,
+    },
+    check_elf_files: false,
+}
+
+cc_prebuilt_library_shared {
+    name: "lib-imsvt",
+    arch: {
+        arm: {
+            srcs: ["lib-imsvt.so"],
+            shared_libs: [
+                "librcc",
+                "lib-imsvideocodec",
+                "lib-imsvtutils",
+                "libandroid",
+                // "libhwbinder",
+                "libhidlbase",
+                // "libhidltransport",
+                // "vendor.qti.imsrtpservice@1.0",
+                // "libdiag_system",
+                "libcutils",
+                "libutils",
+                "liblog",
+                "libc++",
+                "libc",
+                "libm",
+                "libdl",
+            ],
+        },
+        arm64: {
+            srcs: ["lib64/lib-imsvt.so"],
+            shared_libs: [
+                "librcc",
+                "lib-imsvideocodec",
+                "lib-imsvtutils",
+                "libandroid",
+                // "libhwbinder",
+                "libhidlbase",
+                // "libhidltransport",
+                // "vendor.qti.imsrtpservice@1.0",
+                // "libdiag_system",
+                "libcutils",
+                "libutils",
+                "liblog",
+                "libc++",
+                "libc",
+                "libm",
+                "libdl",
+            ],
+        },
+    },
+    compile_multilib: "both",
+    owner: "qcom",
+    strip: {
+        none: true,
+    },
+    check_elf_files: false,
+}
+
+cc_prebuilt_library_shared {
+    name: "lib-imsvtutils",
+    arch: {
+        arm: {
+            srcs: ["lib-imsvtutils.so"],
+            shared_libs: [
+                "libutils",
+                "libcutils",
+                "liblog",
+                // "libdiag_system",
+                "libc++",
+                "libc",
+                "libm",
+                "libdl",
+            ],
+        },
+        arm64: {
+            srcs: ["lib64/lib-imsvtutils.so"],
+            shared_libs: [
+                "libutils",
+                "libcutils",
+                "liblog",
+                // "libdiag_system",
+                "libc++",
+                "libc",
+                "libm",
+                "libdl",
+            ],
+        },
+    },
+    compile_multilib: "both",
+    owner: "qcom",
+    strip: {
+        none: true,
+    },
+    check_elf_files: false,
+}
+
+cc_prebuilt_library_shared {
+    name: "libmdsprpc_system",
+    arch: {
+        arm: {
+            srcs: ["libmdsprpc_system.so"],
+            shared_libs: [
+                "liblog",
+                "libcutils",
+                "libc++",
+                "libc",
+                "libm",
+                "libdl",
+            ],
+        },
+        arm64: {
+            srcs: ["lib64/libmdsprpc_system.so"],
+            shared_libs: [
+                "liblog",
+                "libcutils",
+                "libc++",
+                "libc",
+                "libm",
+                "libdl",
+            ],
+        },
+    },
+    compile_multilib: "both",
+    owner: "qcom",
+    strip: {
+        none: true,
+    },
+}
+
+cc_prebuilt_library_shared {
+    name: "librcc",
+    arch: {
+        arm: {
+            srcs: ["librcc.so"],
+            shared_libs: [
+                "libutils",
+                "libcutils",
+                "liblog",
+                // "libdiag_system",
+                "libc++",
+                "libc",
+                "libm",
+                "libdl",
+            ],
+        },
+        arm64: {
+            srcs: ["lib64/librcc.so"],
+            shared_libs: [
+                "libutils",
+                "libcutils",
+                "liblog",
+                // "libdiag_system",
+                "libc++",
+                "libc",
+                "libm",
+                "libdl",
+            ],
+        },
+    },
+    compile_multilib: "both",
+    owner: "qcom",
+    strip: {
+        none: true,
+    },
+    check_elf_files: false,
+}
+
+cc_prebuilt_library_shared {
+    name: "libsdm-disp-apis",
+    arch: {
+        arm: {
+            srcs: ["libsdm-disp-apis.so"],
+            shared_libs: [
+                "libcutils",
+                "libutils",
+                "liblog",
+                "libhidlbase",
+                // "libhidltransport",
+                // "vendor.display.color@1.0",
+                "libc++",
+                "libc",
+                "libm",
+                "libdl",
+            ],
+        },
+        arm64: {
+            srcs: ["lib64/libsdm-disp-apis.so"],
+            shared_libs: [
+                "libcutils",
+                "libutils",
+                "liblog",
+                "libhidlbase",
+                // "libhidltransport",
+                // "vendor.display.color@1.0",
+                "libc++",
+                "libc",
+                "libm",
+                "libdl",
+            ],
+        },
+    },
+    compile_multilib: "both",
+    owner: "qcom",
+    strip: {
+        none: true,
+    },
+    check_elf_files: false,
+}
+
+cc_prebuilt_library_shared {
+    name: "libsdsprpc_system",
+    arch: {
+        arm: {
+            srcs: ["libsdsprpc_system.so"],
+            shared_libs: [
+                "liblog",
+                "libcutils",
+                "libc++",
+                "libc",
+                "libm",
+                "libdl",
+            ],
+        },
+        arm64: {
+            srcs: ["lib64/libsdsprpc_system.so"],
+            shared_libs: [
+                "liblog",
+                "libcutils",
+                "libc++",
+                "libc",
+                "libm",
+                "libdl",
+            ],
+        },
+    },
+    compile_multilib: "both",
+    owner: "qcom",
+    strip: {
+        none: true,
+    },
+}
+
+cc_prebuilt_library_shared {
+    name: "libsecureui_svcsock_system",
+    arch: {
+        arm: {
+            srcs: ["libsecureui_svcsock_system.so"],
+            shared_libs: [
+                "libutils",
+                "libcutils",
+                "liblog",
+                "libhidlbase",
+                // "libhidltransport",
+                // "libhwbinder",
+                // "vendor.qti.hardware.tui_comm@1.0",
+                "libc++",
+                "libc",
+                "libm",
+                "libdl",
+            ],
+        },
+        arm64: {
+            srcs: ["lib64/libsecureui_svcsock_system.so"],
+            shared_libs: [
+                "libutils",
+                "libcutils",
+                "liblog",
+                "libhidlbase",
+                // "libhidltransport",
+                // "libhwbinder",
+                // "vendor.qti.hardware.tui_comm@1.0",
+                "libc++",
+                "libc",
+                "libm",
+                "libdl",
+            ],
+        },
+    },
+    compile_multilib: "both",
+    owner: "qcom",
+    strip: {
+        none: true,
+    },
+    check_elf_files: false,
+}
diff --git a/self-extractors/qcom/staging/device-partial.mk b/self-extractors/qcom/staging/device-partial.mk
index 61d4206..177a17f 100644
--- a/self-extractors/qcom/staging/device-partial.mk
+++ b/self-extractors/qcom/staging/device-partial.mk
@@ -12,18 +12,34 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
+PRODUCT_SOONG_NAMESPACES += \
+    vendor/qcom/bonito/proprietary
+
 # AOSP packages required by the blobs
 PRODUCT_PACKAGES := \
     ims \
     QtiTelephonyService
 
 #  blob(s) necessary for bonito hardware
+PRODUCT_PACKAGES += \
+    libadsprpc_system \
+    libcdsprpc_system \
+    libDiagService \
+    libimscamera_jni \
+    libimsmedia_jni \
+    lib-imsvideocodec \
+    lib-imsvtextutils \
+    lib-imsvt \
+    lib-imsvtutils \
+    libmdsprpc_system \
+    librcc \
+    libsdm-disp-apis \
+    libsdsprpc_system \
+    libsecureui_svcsock_system \
+
 PRODUCT_COPY_FILES := \
     vendor/qcom/bonito/proprietary/andsfCne.xml:system/etc/cne/andsfCne.xml:qcom \
-    vendor/qcom/bonito/proprietary/cneapiclient.xml:system/etc/permissions/cneapiclient.xml:qcom \
-    vendor/qcom/bonito/proprietary/com.quicinc.cne.xml:system/etc/permissions/com.quicinc.cne.xml:qcom \
     vendor/qcom/bonito/proprietary/embms.xml:system/etc/permissions/embms.xml:qcom \
-    vendor/qcom/bonito/proprietary/LteDirectDiscovery.xml:system/etc/permissions/LteDirectDiscovery.xml:qcom \
     vendor/qcom/bonito/proprietary/qcrilhook.xml:system/etc/permissions/qcrilhook.xml:qcom \
     vendor/qcom/bonito/proprietary/radioconfiginterface.xml:system/etc/permissions/radioconfiginterface.xml:qcom \
     vendor/qcom/bonito/proprietary/radioconfig.xml:system/etc/permissions/radioconfig.xml:qcom \
@@ -35,37 +51,4 @@
     vendor/qcom/bonito/proprietary/QtiTelephonyServicelibrary.jar:system/framework/QtiTelephonyServicelibrary.jar:qcom \
     vendor/qcom/bonito/proprietary/uimremoteclientlibrary.jar:system/framework/uimremoteclientlibrary.jar:qcom \
     vendor/qcom/bonito/proprietary/uimremoteserverlibrary.jar:system/framework/uimremoteserverlibrary.jar:qcom \
-    vendor/qcom/bonito/proprietary/lib64/libadsprpc_system.so:system/lib64/libadsprpc_system.so:qcom \
-    vendor/qcom/bonito/proprietary/lib64/libcdsprpc_system.so:system/lib64/libcdsprpc_system.so:qcom \
-    vendor/qcom/bonito/proprietary/lib64/libDiagService.so:system/lib64/libDiagService.so:qcom \
-    vendor/qcom/bonito/proprietary/lib64/libGPQTEEC_system.so:system/lib64/libGPQTEEC_system.so:qcom \
-    vendor/qcom/bonito/proprietary/lib64/libGPTEE_system.so:system/lib64/libGPTEE_system.so:qcom \
-    vendor/qcom/bonito/proprietary/lib64/libimscamera_jni.so:system/lib64/libimscamera_jni.so:qcom \
-    vendor/qcom/bonito/proprietary/lib64/libimsmedia_jni.so:system/lib64/libimsmedia_jni.so:qcom \
-    vendor/qcom/bonito/proprietary/lib64/lib-imsvideocodec.so:system/lib64/lib-imsvideocodec.so:qcom \
-    vendor/qcom/bonito/proprietary/lib64/lib-imsvtextutils.so:system/lib64/lib-imsvtextutils.so:qcom \
-    vendor/qcom/bonito/proprietary/lib64/lib-imsvt.so:system/lib64/lib-imsvt.so:qcom \
-    vendor/qcom/bonito/proprietary/lib64/lib-imsvtutils.so:system/lib64/lib-imsvtutils.so:qcom \
-    vendor/qcom/bonito/proprietary/lib64/libmdsprpc_system.so:system/lib64/libmdsprpc_system.so:qcom \
-    vendor/qcom/bonito/proprietary/lib64/libQTEEConnector_system.so:system/lib64/libQTEEConnector_system.so:qcom \
-    vendor/qcom/bonito/proprietary/lib64/librcc.so:system/lib64/librcc.so:qcom \
-    vendor/qcom/bonito/proprietary/lib64/libsdm-disp-apis.so:system/lib64/libsdm-disp-apis.so:qcom \
-    vendor/qcom/bonito/proprietary/lib64/libsdsprpc_system.so:system/lib64/libsdsprpc_system.so:qcom \
-    vendor/qcom/bonito/proprietary/lib64/libsecureui_svcsock_system.so:system/lib64/libsecureui_svcsock_system.so:qcom \
-    vendor/qcom/bonito/proprietary/libadsprpc_system.so:system/lib/libadsprpc_system.so:qcom \
-    vendor/qcom/bonito/proprietary/libcdsprpc_system.so:system/lib/libcdsprpc_system.so:qcom \
-    vendor/qcom/bonito/proprietary/libGPQTEEC_system.so:system/lib/libGPQTEEC_system.so:qcom \
-    vendor/qcom/bonito/proprietary/libGPTEE_system.so:system/lib/libGPTEE_system.so:qcom \
-    vendor/qcom/bonito/proprietary/libimscamera_jni.so:system/lib/libimscamera_jni.so:qcom \
-    vendor/qcom/bonito/proprietary/libimsmedia_jni.so:system/lib/libimsmedia_jni.so:qcom \
-    vendor/qcom/bonito/proprietary/lib-imsvideocodec.so:system/lib/lib-imsvideocodec.so:qcom \
-    vendor/qcom/bonito/proprietary/lib-imsvtextutils.so:system/lib/lib-imsvtextutils.so:qcom \
-    vendor/qcom/bonito/proprietary/lib-imsvt.so:system/lib/lib-imsvt.so:qcom \
-    vendor/qcom/bonito/proprietary/lib-imsvtutils.so:system/lib/lib-imsvtutils.so:qcom \
-    vendor/qcom/bonito/proprietary/libmdsprpc_system.so:system/lib/libmdsprpc_system.so:qcom \
-    vendor/qcom/bonito/proprietary/libQTEEConnector_system.so:system/lib/libQTEEConnector_system.so:qcom \
-    vendor/qcom/bonito/proprietary/librcc.so:system/lib/librcc.so:qcom \
-    vendor/qcom/bonito/proprietary/libsdm-disp-apis.so:system/lib/libsdm-disp-apis.so:qcom \
-    vendor/qcom/bonito/proprietary/libsdsprpc_system.so:system/lib/libsdsprpc_system.so:qcom \
-    vendor/qcom/bonito/proprietary/libsecureui_svcsock_system.so:system/lib/libsecureui_svcsock_system.so:qcom \
-    vendor/qcom/bonito/proprietary/libsns_low_lat_stream_skel.so:system/lib/rfsa/adsp/libsns_low_lat_stream_skel.so:qcom \
+
diff --git a/self-extractors_sargo/extract-lists.txt b/self-extractors_sargo/extract-lists.txt
index fa5e00f..3239b18 100644
--- a/self-extractors_sargo/extract-lists.txt
+++ b/self-extractors_sargo/extract-lists.txt
@@ -10,10 +10,7 @@
             system/app/ims/ims.apk \
             system/app/QtiTelephonyService/QtiTelephonyService.apk \
             system/etc/cne/andsfCne.xml \
-            system/etc/permissions/cneapiclient.xml \
-            system/etc/permissions/com.quicinc.cne.xml \
             system/etc/permissions/embms.xml \
-            system/etc/permissions/LteDirectDiscovery.xml \
             system/etc/permissions/qcrilhook.xml \
             system/etc/permissions/radioconfiginterface.xml \
             system/etc/permissions/radioconfig.xml \
@@ -28,8 +25,6 @@
             system/lib64/libadsprpc_system.so \
             system/lib64/libcdsprpc_system.so \
             system/lib64/libDiagService.so \
-            system/lib64/libGPQTEEC_system.so \
-            system/lib64/libGPTEE_system.so \
             system/lib64/libimscamera_jni.so \
             system/lib64/libimsmedia_jni.so \
             system/lib64/lib-imsvideocodec.so \
@@ -37,15 +32,12 @@
             system/lib64/lib-imsvt.so \
             system/lib64/lib-imsvtutils.so \
             system/lib64/libmdsprpc_system.so \
-            system/lib64/libQTEEConnector_system.so \
             system/lib64/librcc.so \
             system/lib64/libsdm-disp-apis.so \
             system/lib64/libsdsprpc_system.so \
             system/lib64/libsecureui_svcsock_system.so \
             system/lib/libadsprpc_system.so \
             system/lib/libcdsprpc_system.so \
-            system/lib/libGPQTEEC_system.so \
-            system/lib/libGPTEE_system.so \
             system/lib/libimscamera_jni.so \
             system/lib/libimsmedia_jni.so \
             system/lib/lib-imsvideocodec.so \
@@ -53,11 +45,9 @@
             system/lib/lib-imsvt.so \
             system/lib/lib-imsvtutils.so \
             system/lib/libmdsprpc_system.so \
-            system/lib/libQTEEConnector_system.so \
             system/lib/librcc.so \
             system/lib/libsdm-disp-apis.so \
             system/lib/libsdsprpc_system.so \
             system/lib/libsecureui_svcsock_system.so \
-            system/lib/rfsa/adsp/libsns_low_lat_stream_skel.so \
             "
     ;;
diff --git a/self-extractors_sargo/qcom/staging/Android.bp.txt b/self-extractors_sargo/qcom/staging/Android.bp.txt
new file mode 100644
index 0000000..14c15a7
--- /dev/null
+++ b/self-extractors_sargo/qcom/staging/Android.bp.txt
@@ -0,0 +1,563 @@
+// Copyright (C) 2020 The Android Open Source Project
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+soong_namespace {
+}
+
+cc_prebuilt_library_shared {
+    name: "libadsprpc_system",
+    arch: {
+        arm: {
+            srcs: ["libadsprpc_system.so"],
+            shared_libs: [
+                "liblog",
+                "libcutils",
+                "libc++",
+                "libc",
+                "libm",
+                "libdl",
+            ],
+        },
+        arm64: {
+            srcs: ["lib64/libadsprpc_system.so"],
+            shared_libs: [
+                "liblog",
+                "libcutils",
+                "libc++",
+                "libc",
+                "libm",
+                "libdl",
+            ],
+        },
+    },
+    compile_multilib: "both",
+    owner: "qcom",
+    strip: {
+        none: true,
+    },
+}
+
+cc_prebuilt_library_shared {
+    name: "libcdsprpc_system",
+    arch: {
+        arm: {
+            srcs: ["libcdsprpc_system.so"],
+            shared_libs: [
+                "liblog",
+                "libcutils",
+                "libc++",
+                "libc",
+                "libm",
+                "libdl",
+            ],
+        },
+        arm64: {
+            srcs: ["lib64/libcdsprpc_system.so"],
+            shared_libs: [
+                "liblog",
+                "libcutils",
+                "libc++",
+                "libc",
+                "libm",
+                "libdl",
+            ],
+        },
+    },
+    compile_multilib: "both",
+    owner: "qcom",
+    strip: {
+        none: true,
+    },
+}
+
+cc_prebuilt_library_shared {
+    name: "libDiagService",
+    arch: {
+        arm64: {
+            srcs: ["lib64/libDiagService.so"],
+            shared_libs: [
+                "libandroid_runtime",
+                "libnativehelper",
+                "libutils",
+                "libcutils",
+                "liblog",
+                // "libdiag_system",
+                "libc++",
+                "libc",
+                "libm",
+                "libdl",
+            ],
+        },
+    },
+    compile_multilib: "64",
+    owner: "qcom",
+    strip: {
+        none: true,
+    },
+    check_elf_files: false,
+}
+
+cc_prebuilt_library_shared {
+    name: "libimscamera_jni",
+    arch: {
+        arm: {
+            srcs: ["libimscamera_jni.so"],
+            shared_libs: [
+                "libnativehelper",
+                "libcutils",
+                "libutils",
+                "liblog",
+                "libc++",
+                "libc",
+                "libm",
+                "libdl",
+            ],
+        },
+        arm64: {
+            srcs: ["lib64/libimscamera_jni.so"],
+            shared_libs: [
+                "libnativehelper",
+                "libcutils",
+                "libutils",
+                "liblog",
+                "libc++",
+                "libc",
+                "libm",
+                "libdl",
+            ],
+        },
+    },
+    compile_multilib: "both",
+    owner: "qcom",
+    strip: {
+        none: true,
+    },
+}
+
+cc_prebuilt_library_shared {
+    name: "libimsmedia_jni",
+    arch: {
+        arm: {
+            srcs: ["libimsmedia_jni.so"],
+            shared_libs: [
+                "libnativehelper",
+                "libcutils",
+                "libutils",
+                "libgui",
+                "libbinder",
+                "liblog",
+                "libandroid",
+                "libc++",
+                "libc",
+                "libm",
+                "libdl",
+            ],
+        },
+        arm64: {
+            srcs: ["lib64/libimsmedia_jni.so"],
+            shared_libs: [
+                "libnativehelper",
+                "libcutils",
+                "libutils",
+                "libgui",
+                "libbinder",
+                "liblog",
+                "libandroid",
+                "libc++",
+                "libc",
+                "libm",
+                "libdl",
+            ],
+        },
+    },
+    compile_multilib: "both",
+    owner: "qcom",
+    strip: {
+        none: true,
+    },
+}
+
+cc_prebuilt_library_shared {
+    name: "lib-imsvideocodec",
+    arch: {
+        arm: {
+            srcs: ["lib-imsvideocodec.so"],
+            shared_libs: [
+                "lib-imsvtutils",
+                "lib-imsvtextutils",
+                "libcutils",
+                "libutils",
+                "liblog",
+                // "libdiag_system",
+                "libgui",
+                "libnativewindow",
+                "libmediandk",
+                "libc++",
+                "libc",
+                "libm",
+                "libdl",
+            ],
+        },
+        arm64: {
+            srcs: ["lib64/lib-imsvideocodec.so"],
+            shared_libs: [
+                "lib-imsvtutils",
+                "lib-imsvtextutils",
+                "libcutils",
+                "libutils",
+                "liblog",
+                // "libdiag_system",
+                "libgui",
+                "libnativewindow",
+                "libmediandk",
+                "libc++",
+                "libc",
+                "libm",
+                "libdl",
+            ],
+        },
+    },
+    compile_multilib: "both",
+    owner: "qcom",
+    strip: {
+        none: true,
+    },
+    check_elf_files: false,
+}
+
+cc_prebuilt_library_shared {
+    name: "lib-imsvtextutils",
+    arch: {
+        arm: {
+            srcs: ["lib-imsvtextutils.so"],
+            shared_libs: [
+                "libutils",
+                "libcutils",
+                "liblog",
+                // "libdiag_system",
+                "lib-imsvtutils",
+                "libGLESv2",
+                "libEGL",
+                "libc++",
+                "libc",
+                "libm",
+                "libdl",
+            ],
+        },
+        arm64: {
+            srcs: ["lib64/lib-imsvtextutils.so"],
+            shared_libs: [
+                "libutils",
+                "libcutils",
+                "liblog",
+                // "libdiag_system",
+                "lib-imsvtutils",
+                "libGLESv2",
+                "libEGL",
+                "libc++",
+                "libc",
+                "libm",
+                "libdl",
+            ],
+        },
+    },
+    compile_multilib: "both",
+    owner: "qcom",
+    strip: {
+        none: true,
+    },
+    check_elf_files: false,
+}
+
+cc_prebuilt_library_shared {
+    name: "lib-imsvt",
+    arch: {
+        arm: {
+            srcs: ["lib-imsvt.so"],
+            shared_libs: [
+                "librcc",
+                "lib-imsvideocodec",
+                "lib-imsvtutils",
+                "libandroid",
+                // "libhwbinder",
+                "libhidlbase",
+                // "libhidltransport",
+                // "vendor.qti.imsrtpservice@1.0",
+                // "libdiag_system",
+                "libcutils",
+                "libutils",
+                "liblog",
+                "libc++",
+                "libc",
+                "libm",
+                "libdl",
+            ],
+        },
+        arm64: {
+            srcs: ["lib64/lib-imsvt.so"],
+            shared_libs: [
+                "librcc",
+                "lib-imsvideocodec",
+                "lib-imsvtutils",
+                "libandroid",
+                // "libhwbinder",
+                "libhidlbase",
+                // "libhidltransport",
+                // "vendor.qti.imsrtpservice@1.0",
+                // "libdiag_system",
+                "libcutils",
+                "libutils",
+                "liblog",
+                "libc++",
+                "libc",
+                "libm",
+                "libdl",
+            ],
+        },
+    },
+    compile_multilib: "both",
+    owner: "qcom",
+    strip: {
+        none: true,
+    },
+    check_elf_files: false,
+}
+
+cc_prebuilt_library_shared {
+    name: "lib-imsvtutils",
+    arch: {
+        arm: {
+            srcs: ["lib-imsvtutils.so"],
+            shared_libs: [
+                "libutils",
+                "libcutils",
+                "liblog",
+                // "libdiag_system",
+                "libc++",
+                "libc",
+                "libm",
+                "libdl",
+            ],
+        },
+        arm64: {
+            srcs: ["lib64/lib-imsvtutils.so"],
+            shared_libs: [
+                "libutils",
+                "libcutils",
+                "liblog",
+                // "libdiag_system",
+                "libc++",
+                "libc",
+                "libm",
+                "libdl",
+            ],
+        },
+    },
+    compile_multilib: "both",
+    owner: "qcom",
+    strip: {
+        none: true,
+    },
+    check_elf_files: false,
+}
+
+cc_prebuilt_library_shared {
+    name: "libmdsprpc_system",
+    arch: {
+        arm: {
+            srcs: ["libmdsprpc_system.so"],
+            shared_libs: [
+                "liblog",
+                "libcutils",
+                "libc++",
+                "libc",
+                "libm",
+                "libdl",
+            ],
+        },
+        arm64: {
+            srcs: ["lib64/libmdsprpc_system.so"],
+            shared_libs: [
+                "liblog",
+                "libcutils",
+                "libc++",
+                "libc",
+                "libm",
+                "libdl",
+            ],
+        },
+    },
+    compile_multilib: "both",
+    owner: "qcom",
+    strip: {
+        none: true,
+    },
+}
+
+cc_prebuilt_library_shared {
+    name: "librcc",
+    arch: {
+        arm: {
+            srcs: ["librcc.so"],
+            shared_libs: [
+                "libutils",
+                "libcutils",
+                "liblog",
+                // "libdiag_system",
+                "libc++",
+                "libc",
+                "libm",
+                "libdl",
+            ],
+        },
+        arm64: {
+            srcs: ["lib64/librcc.so"],
+            shared_libs: [
+                "libutils",
+                "libcutils",
+                "liblog",
+                // "libdiag_system",
+                "libc++",
+                "libc",
+                "libm",
+                "libdl",
+            ],
+        },
+    },
+    compile_multilib: "both",
+    owner: "qcom",
+    strip: {
+        none: true,
+    },
+    check_elf_files: false,
+}
+
+cc_prebuilt_library_shared {
+    name: "libsdm-disp-apis",
+    arch: {
+        arm: {
+            srcs: ["libsdm-disp-apis.so"],
+            shared_libs: [
+                "libcutils",
+                "libutils",
+                "liblog",
+                "libhidlbase",
+                // "libhidltransport",
+                // "vendor.display.color@1.0",
+                "libc++",
+                "libc",
+                "libm",
+                "libdl",
+            ],
+        },
+        arm64: {
+            srcs: ["lib64/libsdm-disp-apis.so"],
+            shared_libs: [
+                "libcutils",
+                "libutils",
+                "liblog",
+                "libhidlbase",
+                // "libhidltransport",
+                // "vendor.display.color@1.0",
+                "libc++",
+                "libc",
+                "libm",
+                "libdl",
+            ],
+        },
+    },
+    compile_multilib: "both",
+    owner: "qcom",
+    strip: {
+        none: true,
+    },
+    check_elf_files: false,
+}
+
+cc_prebuilt_library_shared {
+    name: "libsdsprpc_system",
+    arch: {
+        arm: {
+            srcs: ["libsdsprpc_system.so"],
+            shared_libs: [
+                "liblog",
+                "libcutils",
+                "libc++",
+                "libc",
+                "libm",
+                "libdl",
+            ],
+        },
+        arm64: {
+            srcs: ["lib64/libsdsprpc_system.so"],
+            shared_libs: [
+                "liblog",
+                "libcutils",
+                "libc++",
+                "libc",
+                "libm",
+                "libdl",
+            ],
+        },
+    },
+    compile_multilib: "both",
+    owner: "qcom",
+    strip: {
+        none: true,
+    },
+}
+
+cc_prebuilt_library_shared {
+    name: "libsecureui_svcsock_system",
+    arch: {
+        arm: {
+            srcs: ["libsecureui_svcsock_system.so"],
+            shared_libs: [
+                "libutils",
+                "libcutils",
+                "liblog",
+                "libhidlbase",
+                // "libhidltransport",
+                // "libhwbinder",
+                // "vendor.qti.hardware.tui_comm@1.0",
+                "libc++",
+                "libc",
+                "libm",
+                "libdl",
+            ],
+        },
+        arm64: {
+            srcs: ["lib64/libsecureui_svcsock_system.so"],
+            shared_libs: [
+                "libutils",
+                "libcutils",
+                "liblog",
+                "libhidlbase",
+                // "libhidltransport",
+                // "libhwbinder",
+                // "vendor.qti.hardware.tui_comm@1.0",
+                "libc++",
+                "libc",
+                "libm",
+                "libdl",
+            ],
+        },
+    },
+    compile_multilib: "both",
+    owner: "qcom",
+    strip: {
+        none: true,
+    },
+    check_elf_files: false,
+}
diff --git a/self-extractors_sargo/qcom/staging/device-partial.mk b/self-extractors_sargo/qcom/staging/device-partial.mk
index 24b1b2d..6b2a839 100644
--- a/self-extractors_sargo/qcom/staging/device-partial.mk
+++ b/self-extractors_sargo/qcom/staging/device-partial.mk
@@ -12,18 +12,34 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
+PRODUCT_SOONG_NAMESPACES += \
+    vendor/qcom/sargo/proprietary
+
 # AOSP packages required by the blobs
 PRODUCT_PACKAGES := \
     ims \
     QtiTelephonyService
 
 #  blob(s) necessary for sargo hardware
+PRODUCT_PACKAGES += \
+    libadsprpc_system \
+    libcdsprpc_system \
+    libDiagService \
+    libimscamera_jni \
+    libimsmedia_jni \
+    lib-imsvideocodec \
+    lib-imsvtextutils \
+    lib-imsvt \
+    lib-imsvtutils \
+    libmdsprpc_system \
+    librcc \
+    libsdm-disp-apis \
+    libsdsprpc_system \
+    libsecureui_svcsock_system \
+
 PRODUCT_COPY_FILES := \
     vendor/qcom/sargo/proprietary/andsfCne.xml:system/etc/cne/andsfCne.xml:qcom \
-    vendor/qcom/sargo/proprietary/cneapiclient.xml:system/etc/permissions/cneapiclient.xml:qcom \
-    vendor/qcom/sargo/proprietary/com.quicinc.cne.xml:system/etc/permissions/com.quicinc.cne.xml:qcom \
     vendor/qcom/sargo/proprietary/embms.xml:system/etc/permissions/embms.xml:qcom \
-    vendor/qcom/sargo/proprietary/LteDirectDiscovery.xml:system/etc/permissions/LteDirectDiscovery.xml:qcom \
     vendor/qcom/sargo/proprietary/qcrilhook.xml:system/etc/permissions/qcrilhook.xml:qcom \
     vendor/qcom/sargo/proprietary/radioconfiginterface.xml:system/etc/permissions/radioconfiginterface.xml:qcom \
     vendor/qcom/sargo/proprietary/radioconfig.xml:system/etc/permissions/radioconfig.xml:qcom \
@@ -35,37 +51,4 @@
     vendor/qcom/sargo/proprietary/QtiTelephonyServicelibrary.jar:system/framework/QtiTelephonyServicelibrary.jar:qcom \
     vendor/qcom/sargo/proprietary/uimremoteclientlibrary.jar:system/framework/uimremoteclientlibrary.jar:qcom \
     vendor/qcom/sargo/proprietary/uimremoteserverlibrary.jar:system/framework/uimremoteserverlibrary.jar:qcom \
-    vendor/qcom/sargo/proprietary/lib64/libadsprpc_system.so:system/lib64/libadsprpc_system.so:qcom \
-    vendor/qcom/sargo/proprietary/lib64/libcdsprpc_system.so:system/lib64/libcdsprpc_system.so:qcom \
-    vendor/qcom/sargo/proprietary/lib64/libDiagService.so:system/lib64/libDiagService.so:qcom \
-    vendor/qcom/sargo/proprietary/lib64/libGPQTEEC_system.so:system/lib64/libGPQTEEC_system.so:qcom \
-    vendor/qcom/sargo/proprietary/lib64/libGPTEE_system.so:system/lib64/libGPTEE_system.so:qcom \
-    vendor/qcom/sargo/proprietary/lib64/libimscamera_jni.so:system/lib64/libimscamera_jni.so:qcom \
-    vendor/qcom/sargo/proprietary/lib64/libimsmedia_jni.so:system/lib64/libimsmedia_jni.so:qcom \
-    vendor/qcom/sargo/proprietary/lib64/lib-imsvideocodec.so:system/lib64/lib-imsvideocodec.so:qcom \
-    vendor/qcom/sargo/proprietary/lib64/lib-imsvtextutils.so:system/lib64/lib-imsvtextutils.so:qcom \
-    vendor/qcom/sargo/proprietary/lib64/lib-imsvt.so:system/lib64/lib-imsvt.so:qcom \
-    vendor/qcom/sargo/proprietary/lib64/lib-imsvtutils.so:system/lib64/lib-imsvtutils.so:qcom \
-    vendor/qcom/sargo/proprietary/lib64/libmdsprpc_system.so:system/lib64/libmdsprpc_system.so:qcom \
-    vendor/qcom/sargo/proprietary/lib64/libQTEEConnector_system.so:system/lib64/libQTEEConnector_system.so:qcom \
-    vendor/qcom/sargo/proprietary/lib64/librcc.so:system/lib64/librcc.so:qcom \
-    vendor/qcom/sargo/proprietary/lib64/libsdm-disp-apis.so:system/lib64/libsdm-disp-apis.so:qcom \
-    vendor/qcom/sargo/proprietary/lib64/libsdsprpc_system.so:system/lib64/libsdsprpc_system.so:qcom \
-    vendor/qcom/sargo/proprietary/lib64/libsecureui_svcsock_system.so:system/lib64/libsecureui_svcsock_system.so:qcom \
-    vendor/qcom/sargo/proprietary/libadsprpc_system.so:system/lib/libadsprpc_system.so:qcom \
-    vendor/qcom/sargo/proprietary/libcdsprpc_system.so:system/lib/libcdsprpc_system.so:qcom \
-    vendor/qcom/sargo/proprietary/libGPQTEEC_system.so:system/lib/libGPQTEEC_system.so:qcom \
-    vendor/qcom/sargo/proprietary/libGPTEE_system.so:system/lib/libGPTEE_system.so:qcom \
-    vendor/qcom/sargo/proprietary/libimscamera_jni.so:system/lib/libimscamera_jni.so:qcom \
-    vendor/qcom/sargo/proprietary/libimsmedia_jni.so:system/lib/libimsmedia_jni.so:qcom \
-    vendor/qcom/sargo/proprietary/lib-imsvideocodec.so:system/lib/lib-imsvideocodec.so:qcom \
-    vendor/qcom/sargo/proprietary/lib-imsvtextutils.so:system/lib/lib-imsvtextutils.so:qcom \
-    vendor/qcom/sargo/proprietary/lib-imsvt.so:system/lib/lib-imsvt.so:qcom \
-    vendor/qcom/sargo/proprietary/lib-imsvtutils.so:system/lib/lib-imsvtutils.so:qcom \
-    vendor/qcom/sargo/proprietary/libmdsprpc_system.so:system/lib/libmdsprpc_system.so:qcom \
-    vendor/qcom/sargo/proprietary/libQTEEConnector_system.so:system/lib/libQTEEConnector_system.so:qcom \
-    vendor/qcom/sargo/proprietary/librcc.so:system/lib/librcc.so:qcom \
-    vendor/qcom/sargo/proprietary/libsdm-disp-apis.so:system/lib/libsdm-disp-apis.so:qcom \
-    vendor/qcom/sargo/proprietary/libsdsprpc_system.so:system/lib/libsdsprpc_system.so:qcom \
-    vendor/qcom/sargo/proprietary/libsecureui_svcsock_system.so:system/lib/libsecureui_svcsock_system.so:qcom \
-    vendor/qcom/sargo/proprietary/libsns_low_lat_stream_skel.so:system/lib/rfsa/adsp/libsns_low_lat_stream_skel.so:qcom \
+