From 2e581b68c6f171989b656d79457acf0e71364cab Mon Sep 17 00:00:00 2001 From: Jihoon Kang Date: Fri, 6 Dec 2024 23:18:18 +0000 Subject: [PATCH 1/3] Define reboot.recovery and watchdogd.recovery By removing the "recovery_available" property from "reboot" and "watchdogd" modules. "recovery_available" property should be used to allow the reverse dependencies recovery modules to depend on the module, not to install the module to the recovery partition. Test: m soong_generated_recovery_filesystem_test Bug: 381888358 Change-Id: I48014774714957885f3ad648ac302cc3c13687ae --- reboot/Android.bp | 21 ++++++++++++++++++--- watchdogd/Android.bp | 21 ++++++++++++++++++--- 2 files changed, 36 insertions(+), 6 deletions(-) diff --git a/reboot/Android.bp b/reboot/Android.bp index 7b243bd56..1cca82457 100644 --- a/reboot/Android.bp +++ b/reboot/Android.bp @@ -4,10 +4,25 @@ package { default_applicable_licenses: ["Android-Apache-2.0"], } -cc_binary { - name: "reboot", +cc_defaults { + name: "reboot_defaults", srcs: ["reboot.c"], shared_libs: ["libcutils"], cflags: ["-Werror"], - recovery_available: true, +} + +cc_binary { + name: "reboot", + defaults: [ + "reboot_defaults", + ], +} + +cc_binary { + name: "reboot.recovery", + defaults: [ + "reboot_defaults", + ], + recovery: true, + stem: "reboot", } diff --git a/watchdogd/Android.bp b/watchdogd/Android.bp index 03882082f..bc7ffb656 100644 --- a/watchdogd/Android.bp +++ b/watchdogd/Android.bp @@ -2,9 +2,8 @@ package { default_applicable_licenses: ["Android-Apache-2.0"], } -cc_binary { - name: "watchdogd", - recovery_available: true, +cc_defaults { + name: "watchdogd_defaults", srcs: ["watchdogd.cpp"], cflags: [ "-Wall", @@ -16,3 +15,19 @@ cc_binary { misc_undefined: ["signed-integer-overflow"], }, } + +cc_binary { + name: "watchdogd", + defaults: [ + "watchdogd_defaults", + ], +} + +cc_binary { + name: "watchdogd.recovery", + defaults: [ + "watchdogd_defaults", + ], + recovery: true, + stem: "watchdogd", +} From 9b5c6fdce8a142b281ccca5da0a8edbe0a3bd2df Mon Sep 17 00:00:00 2001 From: Jihoon Kang Date: Fri, 6 Dec 2024 23:33:42 +0000 Subject: [PATCH 2/3] Define init_second_stage.recovery By removing `recovery_available` property from "init_second_stage" and defining a dedicated recovery-specific module for "init_second_stage". `recovery_available` property should be used to allow the reverse dependencies recovery modules to depend on the module, not to install the module to the recovery partition. Test: m soong_generated_recovery_filesystem_test Bug: 381888358 Change-Id: Ie9b93b8453bc1e40f7a28e57f498313d3bc4cedb --- init/Android.bp | 65 ++++++++++++++++++++++++------------------------- 1 file changed, 32 insertions(+), 33 deletions(-) diff --git a/init/Android.bp b/init/Android.bp index 4ee3be222..ed19b4b86 100644 --- a/init/Android.bp +++ b/init/Android.bp @@ -268,7 +268,6 @@ phony { cc_defaults { name: "init_second_stage_defaults", - recovery_available: true, stem: "init", defaults: ["init_defaults"], srcs: ["main.cpp"], @@ -280,37 +279,38 @@ cc_binary { defaults: ["init_second_stage_defaults"], static_libs: ["libinit"], visibility: ["//visibility:any_system_partition"], - target: { - platform: { - required: [ - "init.rc", - "ueventd.rc", - "e2fsdroid", - "extra_free_kbytes", - "make_f2fs", - "mke2fs", - "sload_f2fs", - ], - }, - recovery: { - cflags: ["-DRECOVERY"], - exclude_static_libs: [ - "libxml2", - ], - exclude_shared_libs: [ - "libbinder", - "libutils", - ], - required: [ - "init_recovery.rc", - "ueventd.rc.recovery", - "e2fsdroid.recovery", - "make_f2fs.recovery", - "mke2fs.recovery", - "sload_f2fs.recovery", - ], - }, - }, + required: [ + "init.rc", + "ueventd.rc", + "e2fsdroid", + "extra_free_kbytes", + "make_f2fs", + "mke2fs", + "sload_f2fs", + ], +} + +cc_binary { + name: "init_second_stage.recovery", + defaults: ["init_second_stage_defaults"], + static_libs: ["libinit"], + recovery: true, + cflags: ["-DRECOVERY"], + exclude_static_libs: [ + "libxml2", + ], + exclude_shared_libs: [ + "libbinder", + "libutils", + ], + required: [ + "init_recovery.rc", + "ueventd.rc.recovery", + "e2fsdroid.recovery", + "make_f2fs.recovery", + "mke2fs.recovery", + "sload_f2fs.recovery", + ], } cc_binary { @@ -319,7 +319,6 @@ cc_binary { "avf_build_flags_cc", "init_second_stage_defaults", ], - recovery_available: false, static_libs: ["libinit.microdroid"], cflags: ["-DMICRODROID=1"], no_full_install: true, From f9b38f91ac869e1f9eb9e76120aa695ba26540aa Mon Sep 17 00:00:00 2001 From: Jihoon Kang Date: Fri, 6 Dec 2024 23:53:38 +0000 Subject: [PATCH 3/3] Define ueventd.rc.recovery By removing `recovery_available` property from "ueventd.rc" and defining a dedicated recovery-specific module for "ueventd.rc". `recovery_available` property should be used to allow the reverse dependencies recovery modules to depend on the module, not to install the module to the recovery partition. Test: m soong_generated_recovery_filesystem_test Bug: 381888358 Change-Id: I6921cae72a1757e065003efc9d77241625f645e9 --- rootdir/Android.bp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/rootdir/Android.bp b/rootdir/Android.bp index 44acbbae4..4debbbece 100644 --- a/rootdir/Android.bp +++ b/rootdir/Android.bp @@ -47,7 +47,12 @@ prebuilt_etc { prebuilt_etc { name: "ueventd.rc", src: "ueventd.rc", - recovery_available: true, +} + +prebuilt_etc { + name: "ueventd.rc.recovery", + src: "ueventd.rc", + recovery: true, } filegroup {