Device config - YOCAP/documentation GitHub Wiki

Error seen:

FAILED: ninja: '/commonsys-intf/telephony/build/telephony_product_privapp-permissions-qti.xml', needed by 'out/target/product/msm8998/system/product/etc/permissions/telephony_product_privapp-permissions-qti.xml', missing and no known rule to make it

Grepping the code we find two references, and nothing else:

device/qcom/common/common64.mk:PRODUCT_COPY_FILES += $(QCPATH)/commonsys-intf/telephony/build/telephony_product_privapp-permissions-qti.xml:$(TARGET_COPY_OUT_PRODUCT)/etc/permissions/telephony_product_privapp-permissions-qti.xml
device/qcom/common/common.mk:PRODUCT_COPY_FILES += $(QCPATH)/commonsys-intf/telephony/build/telephony_product_privapp-permissions-qti.xml:$(TARGET_COPY_OUT_PRODUCT)/etc/permissions/telephony_product_privapp-permissions-qti.xml

But /device/qcom/common/privapp-permissions-qti.xml already defines all of these as well. So for the system partition we're good, but if something goes on the product partition we will need this as well. But since it's not provided ... do we actually have packages on the product partition requiring these permissions, or can we just get rid of it?

It appears we do, for example, the org.codeaurora.dialer package seems to install to the product partition.

So we will find this file and place it where expected.

But QCPATH does not seem to exist or be set. It also appears that this may be deprecated, I see others getting rid of it as well. So we will just re-work that line into something that works for us.

So we find the file on github, place it in device/qcom/common, and edit common.mk and comm64.mk to modify the offending lines as such:

PRODUCT_COPY_FILES += device/qcom/common/telephony_product_privapp-permissions-qti.xml:$(TARGET_COPY_OUT_PRODUCT)/etc/permissions/telephony_product_privapp-permissions-qti.xml

Next:

FAILED: ninja: 'out/target/product/msm8998/obj/SHARED_LIBRARIES/[email protected]_intermediates/export_includes', needed by 'out/target/product/msm8998/obj/EXECUTABLES/fstman_intermediates/import_includes', missing and no known rule to make it

This is not an actual interface to hardware. It's a fake HAL used to store configuration it seems, like Android's ConfigStore. It's proprietary, so we'll find the relevant files and include them in our proprietary folder/build.

Then

FAILED: ninja: 'out/target/product/msm8998/obj_arm/SHARED_LIBRARIES/[email protected]_intermediates/export_includes', needed by 'out/target/product/msm8998/obj_arm/EXECUTABLES/[email protected]_intermediates/import_includes', missing and no known rule to make it

Now that android interface is prebuilt in the vndk, so it doesn't actually need the includes, it's just a dependency. SDo we'll just get the bluetooth_audio stuff from the OP5T image.