Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 43808209 authored by Nelson Li's avatar Nelson Li
Browse files

Allow librecovery_ui_ext to set InstallInRoot() to true.

`librecovery_ui_ext` is the Recovery UI library used by the device in
Recovery mode. Its default installation directory is
$(TARGET_RECOVERY_ROOT_OUT), not $(TARGET_RECOVERY_ROOT_OUT)/system.
It needs to be able to set InstallInRoot to true to match the original
installation location settings.

Bug: 339143524
Test: m -j librecovery_ui_ext
Change-Id: Ic2f7fd9bacc7d1e320481dd4dc034b5db8e80fa7
parent 9ddba9f7
Loading
Loading
Loading
Loading
+4 −3
Original line number Diff line number Diff line
@@ -55,7 +55,7 @@ func init() {
	AddNeverAllowRules(createJavaDeviceForHostRules()...)
	AddNeverAllowRules(createCcSdkVariantRules()...)
	AddNeverAllowRules(createUncompressDexRules()...)
	AddNeverAllowRules(createInitFirstStageRules()...)
	AddNeverAllowRules(createInstallInRootAllowingRules()...)
	AddNeverAllowRules(createProhibitFrameworkAccessRules()...)
	AddNeverAllowRules(createCcStubsRule())
	AddNeverAllowRules(createProhibitHeaderOnlyRule())
@@ -235,15 +235,16 @@ func createUncompressDexRules() []Rule {
	}
}

func createInitFirstStageRules() []Rule {
func createInstallInRootAllowingRules() []Rule {
	return []Rule{
		NeverAllow().
			Without("name", "init_first_stage_defaults").
			Without("name", "init_first_stage").
			Without("name", "init_first_stage.microdroid").
			Without("name", "librecovery_ui_ext").
			With("install_in_root", "true").
			NotModuleType("prebuilt_root").
			Because("install_in_root is only for init_first_stage."),
			Because("install_in_root is only for init_first_stage or librecovery_ui_ext."),
	}
}