From 78c5637be59a15bc0ea5c774779ad0ca695d1a31 Mon Sep 17 00:00:00 2001 From: luk1337 Date: Fri, 20 Sep 2019 16:18:41 +0200 Subject: [PATCH] sdm710-common: Start using vendor_overlay * This lets us override files in /vendor without relying on bind mounts ^.^ Signed-off-by: SamarV-121 --- BoardConfigCommon.mk | 3 ++ config.fs | 5 +++ light/Android.bp | 31 -------------- light/Android.mk | 42 +++++++++++++++++++ ...ardware.light@2.0-service.realme_sdm710.rc | 2 +- power/Android.mk | 2 + proprietary-files.txt | 4 +- rootdir/etc/init.qcom.rc | 10 ----- sdm710.mk | 10 +++-- usb/Android.bp | 31 -------------- usb/Android.mk | 34 +++++++++++++++ 11 files changed, 96 insertions(+), 78 deletions(-) create mode 100644 config.fs delete mode 100644 light/Android.bp create mode 100644 light/Android.mk delete mode 100644 usb/Android.bp create mode 100644 usb/Android.mk diff --git a/BoardConfigCommon.mk b/BoardConfigCommon.mk index c995eeb..347e366 100644 --- a/BoardConfigCommon.mk +++ b/BoardConfigCommon.mk @@ -48,6 +48,9 @@ BOARD_CHARGER_ENABLE_SUSPEND := true # DRM TARGET_ENABLE_MEDIADRM_64 := true +# Filesystem +TARGET_FS_CONFIG_GEN := $(COMMON_PATH)/config.fs + # FM BOARD_HAVE_QCOM_FM := true BOARD_HAS_QCA_FM_SOC := "cherokee" diff --git a/config.fs b/config.fs new file mode 100644 index 0000000..f966a77 --- /dev/null +++ b/config.fs @@ -0,0 +1,5 @@ +[system/product/vendor_overlay/*/bin/*] +mode: 0755 +user: AID_ROOT +group: AID_SHELL +caps: 0 diff --git a/light/Android.bp b/light/Android.bp deleted file mode 100644 index 52fab9f..0000000 --- a/light/Android.bp +++ /dev/null @@ -1,31 +0,0 @@ -// Copyright (C) 2018 The LineageOS 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. - -cc_binary { - relative_install_path: "hw", - defaults: ["hidl_defaults"], - name: "android.hardware.light@2.0-service.realme_sdm710", - init_rc: ["android.hardware.light@2.0-service.realme_sdm710.rc"], - srcs: ["service.cpp", "Light.cpp"], - shared_libs: [ - "android.hardware.light@2.0", - "libbase", - "libhardware", - "libhidlbase", - "libhidltransport", - "libhwbinder", - "liblog", - "libutils", - ], -} diff --git a/light/Android.mk b/light/Android.mk new file mode 100644 index 0000000..ac25d98 --- /dev/null +++ b/light/Android.mk @@ -0,0 +1,42 @@ +LOCAL_PATH := $(call my-dir) + +include $(CLEAR_VARS) + +LOCAL_MODULE := android.hardware.light@2.0-service.realme_sdm710 +LOCAL_MODULE_TAGS := optional + +LOCAL_MODULE_PATH := $(TARGET_OUT_PRODUCT)/vendor_overlay/$(PRODUCT_TARGET_VNDK_VERSION)/bin +LOCAL_MODULE_RELATIVE_PATH := hw +LOCAL_MODULE_STEM := android.hardware.light@2.0-service + +LOCAL_SRC_FILES := \ + service.cpp \ + Light.cpp + +LOCAL_REQUIRED_MODULES := \ + android.hardware.light@2.0-service.realme_sdm710.rc + +LOCAL_SHARED_LIBRARIES := \ + libbase \ + libhardware \ + libhidlbase \ + libhidltransport \ + liblog \ + libhwbinder \ + libutils \ + android.hardware.light@2.0 + +include $(BUILD_EXECUTABLE) + +include $(CLEAR_VARS) + +LOCAL_MODULE := android.hardware.light@2.0-service.realme_sdm710.rc +LOCAL_MODULE_TAGS := optional +LOCAL_MODULE_CLASS := ETC + +LOCAL_MODULE_PATH := $(TARGET_OUT_PRODUCT)/vendor_overlay/$(PRODUCT_TARGET_VNDK_VERSION)/etc/init +LOCAL_MODULE_STEM := android.hardware.light@2.0-service.rc + +LOCAL_SRC_FILES := android.hardware.light@2.0-service.realme_sdm710.rc + +include $(BUILD_PREBUILT) diff --git a/light/android.hardware.light@2.0-service.realme_sdm710.rc b/light/android.hardware.light@2.0-service.realme_sdm710.rc index 0585377..b1b2070 100644 --- a/light/android.hardware.light@2.0-service.realme_sdm710.rc +++ b/light/android.hardware.light@2.0-service.realme_sdm710.rc @@ -15,7 +15,7 @@ on boot chmod 660 /sys/class/leds/white/ramp_step_ms chmod 660 /sys/class/leds/white/start_idx -service vendor.light-hal-2-0 /system/bin/hw/android.hardware.light@2.0-service.realme_sdm710 +service vendor.light-hal-2-0 /vendor/bin/hw/android.hardware.light@2.0-service interface android.hardware.light@2.0::ILight default class hal user system diff --git a/power/Android.mk b/power/Android.mk index fc80033..ae7aec7 100644 --- a/power/Android.mk +++ b/power/Android.mk @@ -7,6 +7,8 @@ ifneq ($(TARGET_TAP_TO_WAKE_NODE),) endif LOCAL_MODULE := power.qcom +LOCAL_MODULE_PATH_32 := $(TARGET_OUT_PRODUCT)/vendor_overlay/$(PRODUCT_TARGET_VNDK_VERSION)/lib +LOCAL_MODULE_PATH_64 := $(TARGET_OUT_PRODUCT)/vendor_overlay/$(PRODUCT_TARGET_VNDK_VERSION)/lib64 LOCAL_INIT_RC := android.hardware.power@1.0-service.rc LOCAL_MODULE_RELATIVE_PATH := hw LOCAL_MODULE_TAGS := optional diff --git a/proprietary-files.txt b/proprietary-files.txt index 4de889c..9f0b37f 100644 --- a/proprietary-files.txt +++ b/proprietary-files.txt @@ -1,6 +1,6 @@ # Audio - from enchilada - PKQ1.180716.001 -vendor/lib64/soundfx/libvolumelistener.so:lib64/soundfx/libvolumelistener.so|2dffcd0bde20f5f1830918146c9f40c02bbbae9f -vendor/lib/soundfx/libvolumelistener.so:lib/soundfx/libvolumelistener.so|117f8b7d834b4587dc8c8c5d15fada85b877ed26 +vendor/lib64/soundfx/libvolumelistener.so:product/vendor_overlay/29/lib64/soundfx/libvolumelistener.so|2dffcd0bde20f5f1830918146c9f40c02bbbae9f +vendor/lib/soundfx/libvolumelistener.so:product/vendor_overlay/29/lib/soundfx/libvolumelistener.so|117f8b7d834b4587dc8c8c5d15fada85b877ed26 # Bluetooth (aptX) - from crosshatch-user 10 QP1A.190711.020 5800535 release-keys product/lib64/libaptX_encoder.so|df1c89d7af1bb35808d5fe3496b04ba066c10cbc diff --git a/rootdir/etc/init.qcom.rc b/rootdir/etc/init.qcom.rc index d6c1a90..ea46604 100644 --- a/rootdir/etc/init.qcom.rc +++ b/rootdir/etc/init.qcom.rc @@ -1,13 +1,3 @@ -on post-fs - mount none /system/etc/audio_policy_configuration.xml /vendor/etc/audio/audio_policy_configuration.xml bind - mount none /system/etc/audio_policy_configuration.xml /vendor/etc/audio_policy_configuration.xml bind - mount none /system/etc/WCNSS_qcom_cfg.ini /vendor/etc/wifi/WCNSS_qcom_cfg.ini bind - mount none /system/lib64/hw/power.qcom.so /vendor/lib64/hw/power.qcom.so bind - mount none /system/lib64/soundfx/libvolumelistener.so /vendor/lib64/soundfx/libvolumelistener.so bind - mount none /system/lib/soundfx/libvolumelistener.so /vendor/lib/soundfx/libvolumelistener.so bind - mount none /system/bin/hw/android.hardware.usb@1.0-service.realme_sdm710 /vendor/bin/hw/android.hardware.usb@1.0-service bind - mount none /system/etc/manifest.xml /vendor/etc/vintf/manifest.xml bind - on boot # Touchscreen chown system system /proc/touchpanel/oppo_tp_limit_enable diff --git a/sdm710.mk b/sdm710.mk index 3628a96..dd79f1a 100644 --- a/sdm710.mk +++ b/sdm710.mk @@ -9,6 +9,9 @@ $(call inherit-product-if-exists, vendor/realme/sdm710-common/sdm710-common-vend # Enable updating of APEXes $(call inherit-product, $(SRC_TARGET_DIR)/product/updatable_apex.mk) +# VNDK +PRODUCT_TARGET_VNDK_VERSION := 29 + # Boot animation TARGET_SCREEN_HEIGHT := 2244 TARGET_SCREEN_WIDTH := 1080 @@ -28,7 +31,8 @@ PRODUCT_PACKAGES += \ audio.a2dp.default PRODUCT_COPY_FILES += \ - $(LOCAL_PATH)/audio/audio_policy_configuration.xml:system/etc/audio_policy_configuration.xml + $(LOCAL_PATH)/audio/audio_policy_configuration.xml:$(TARGET_COPY_OUT_PRODUCT)/vendor_overlay/$(PRODUCT_TARGET_VNDK_VERSION)/etc/audio/audio_policy_configuration.xml \ + $(LOCAL_PATH)/audio/audio_policy_configuration.xml:$(TARGET_COPY_OUT_PRODUCT)/vendor_overlay/$(PRODUCT_TARGET_VNDK_VERSION)/etc/audio_policy_configuration.xml # Camera PRODUCT_PACKAGES += \ @@ -69,7 +73,7 @@ PRODUCT_PACKAGES += \ android.hidl.base@1.0 PRODUCT_COPY_FILES += \ - $(LOCAL_PATH)/manifest.xml:system/etc/manifest.xml + $(LOCAL_PATH)/manifest.xml:$(TARGET_COPY_OUT_PRODUCT)/vendor_overlay/$(PRODUCT_TARGET_VNDK_VERSION)/etc/vintf/manifest.xml # IMS PRODUCT_PACKAGES += \ @@ -128,7 +132,7 @@ PRODUCT_PACKAGES += \ # WiFi PRODUCT_COPY_FILES += \ - $(LOCAL_PATH)/wifi/WCNSS_qcom_cfg.ini:system/etc/WCNSS_qcom_cfg.ini + $(LOCAL_PATH)/wifi/WCNSS_qcom_cfg.ini:$(TARGET_COPY_OUT_PRODUCT)/vendor_overlay/$(PRODUCT_TARGET_VNDK_VERSION)/etc/wifi/WCNSS_qcom_cfg.ini # WiFi Display PRODUCT_PACKAGES += \ diff --git a/usb/Android.bp b/usb/Android.bp deleted file mode 100644 index 2a54128..0000000 --- a/usb/Android.bp +++ /dev/null @@ -1,31 +0,0 @@ -// -// Copyright (C) 2017-2018 The LineageOS 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. - -cc_binary { - name: "android.hardware.usb@1.0-service.realme_sdm710", - relative_install_path: "hw", - init_rc: ["android.hardware.usb@1.0-service.realme_sdm710.rc"], - srcs: ["service.cpp", "Usb.cpp"], - shared_libs: [ - "libbase", - "libcutils", - "libhidlbase", - "libhidltransport", - "libhwbinder", - "libutils", - "libhardware", - "android.hardware.usb@1.0", - ], -} diff --git a/usb/Android.mk b/usb/Android.mk new file mode 100644 index 0000000..703a4d8 --- /dev/null +++ b/usb/Android.mk @@ -0,0 +1,34 @@ +LOCAL_PATH := $(call my-dir) + +include $(CLEAR_VARS) +LOCAL_MODULE := android.hardware.usb@1.0-service.realme_sdm710 +LOCAL_MODULE_TAGS := optional + +LOCAL_MODULE_PATH := $(TARGET_OUT_PRODUCT)/vendor_overlay/$(PRODUCT_TARGET_VNDK_VERSION)/bin +LOCAL_MODULE_RELATIVE_PATH := hw +LOCAL_MODULE_STEM := android.hardware.usb@1.0-service + +LOCAL_REQUIRED_MODULES := android.hardware.usb@1.0-service.realme_sdm710.rc + +LOCAL_SRC_FILES := service.cpp Usb.cpp + +LOCAL_SHARED_LIBRARIES := \ + libbase \ + libcutils \ + libhidlbase \ + libhidltransport \ + libhwbinder \ + libutils \ + libhardware \ + android.hardware.usb@1.0 + +include $(BUILD_EXECUTABLE) + +include $(CLEAR_VARS) +LOCAL_MODULE := android.hardware.usb@1.0-service.realme_sdm710.rc +LOCAL_MODULE_TAGS := optional +LOCAL_MODULE_CLASS := ETC +LOCAL_MODULE_PATH := $(TARGET_OUT_PRODUCT)/vendor_overlay/$(PRODUCT_TARGET_VNDK_VERSION)/etc/init +LOCAL_MODULE_STEM := android.hardware.usb@1.0-service.rc +LOCAL_SRC_FILES := android.hardware.usb@1.0-service.realme_sdm710.rc +include $(BUILD_PREBUILT)