super partition: include lpdump utility
Change-Id: Ifaac3b660ae3d46d9f1589470dcf6fd7c21b8ef8
diff --git a/Android.mk b/Android.mk
index 80af9ba..8cdf057 100755
--- a/Android.mk
+++ b/Android.mk
@@ -156,7 +156,10 @@
ifeq ($(PRODUCT_USE_DYNAMIC_PARTITIONS),true)
LOCAL_CFLAGS += -DPRODUCT_USE_DYNAMIC_PARTITIONS=1
TWRP_REQUIRED_MODULES += android.hardware.health@2.1-service android.hardware.health@2.1-impl.recovery android.hardware.health@2.1-service.rc android.hardware.health@2.1.xml
- TWRP_REQUIRED_MODULES += android.hardware.health@2.0-service android.hardware.health@2.0-impl.recovery android.hardware.health@2.0-service.rc
+ TWRP_REQUIRED_MODULES += android.hardware.health@2.0-service android.hardware.health@2.0-impl.recovery android.hardware.health@2.0-service.rc
+ ifeq ($(TW_EXCLUDE_LPDUMP),)
+ TWRP_REQUIRED_MODULES += lpdump lpdumpd.rc
+ endif
endif
ifeq ($(TW_USES_VENDOR_LIBS),true)
diff --git a/etc/Android.mk b/etc/Android.mk
index 8cef51b..a6f309b 100755
--- a/etc/Android.mk
+++ b/etc/Android.mk
@@ -117,6 +117,14 @@
LOCAL_MODULE_PATH := $(TARGET_RECOVERY_ROOT_OUT)/system/etc/init
LOCAL_SRC_FILES := init/$(LOCAL_MODULE)
include $(BUILD_PREBUILT)
+
+ include $(CLEAR_VARS)
+ LOCAL_MODULE := lpdumpd.rc
+ LOCAL_MODULE_TAGS := optional
+ LOCAL_MODULE_CLASS := EXECUTABLES
+ LOCAL_MODULE_PATH := $(TARGET_RECOVERY_ROOT_OUT)/system/etc/init
+ LOCAL_SRC_FILES := init/$(LOCAL_MODULE)
+ include $(BUILD_PREBUILT)
endif
ifneq ($(TW_INCLUDE_CRYPTO),)
diff --git a/etc/init/lpdumpd.rc b/etc/init/lpdumpd.rc
new file mode 100644
index 0000000..63b6c9d
--- /dev/null
+++ b/etc/init/lpdumpd.rc
@@ -0,0 +1,36 @@
+#
+# Copyright (C) 2019 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.
+#
+
+service lpdumpd /system/bin/lpdumpd
+ # TODO(b/129011369): make this killable by lmkd
+ oneshot
+ disabled
+ user root
+ group root
+ # On Launch devices, assume "super". On virtual devices, ${ro.boot.super_partition}
+ # might be something else.
+ file /dev/block/by-name/${ro.boot.super_partition:-super} r
+ # On retrofit devices, ${ro.boot.super_partition} is slot-suffixed.
+ # Use NO_SUCH_DEVICE_NO_SUCH_SUFFIX as default values so that host_init_verifier does
+ # not complain about missing sysprops
+ file /dev/block/by-name/${ro.boot.super_partition:-NO_SUCH_DEVICE}${ro.boot.slot_suffix:-_NO_SUCH_SUFFIX} r
+ seclabel u:r:recovery:s0
+
+on property:sys.lpdumpd=start
+ start lpdumpd
+
+on property:sys.lpdumpd=stop
+ stop lpdumpd
diff --git a/prebuilt/Android.mk b/prebuilt/Android.mk
index 114e9d7..61ac255 100755
--- a/prebuilt/Android.mk
+++ b/prebuilt/Android.mk
@@ -232,7 +232,14 @@
RECOVERY_BINARY_SOURCE_FILES += $(TARGET_RECOVERY_ROOT_OUT)/system/bin/update_engine_sideload
RECOVERY_LIBRARY_SOURCE_FILES += $(TARGET_OUT_SHARED_LIBRARIES)/android.hardware.boot@1.0.so
RECOVERY_LIBRARY_SOURCE_FILES += $(TARGET_OUT_SHARED_LIBRARIES)/android.hardware.boot@1.1.so
- RECOVERY_BINARY_SOURCE_FILES += $(TARGET_OUT_EXECUTABLES)/bootctl
+ ifeq ($(TW_EXCLUDE_LPDUMP),)
+ RECOVERY_BINARY_SOURCE_FILES += $(TARGET_OUT_EXECUTABLES)/bootctl
+ RECOVERY_BINARY_SOURCE_FILES += $(TARGET_OUT_EXECUTABLES)/lpdump
+ RECOVERY_BINARY_SOURCE_FILES += $(TARGET_OUT_EXECUTABLES)/lpdumpd
+ RECOVERY_LIBRARY_SOURCE_FILES += $(TARGET_OUT_SHARED_LIBRARIES)/liblpdump.so
+ RECOVERY_LIBRARY_SOURCE_FILES += $(TARGET_OUT_SHARED_LIBRARIES)/liblpdump_interface-V1-cpp.so
+ RECOVERY_LIBRARY_SOURCE_FILES += $(TARGET_OUT_SHARED_LIBRARIES)/libprotobuf-cpp-full.so
+ endif
endif
ifneq ($(wildcard system/core/libsparse/Android.*),)