Use no_full_install: true instead of installable: false
So far, we have used `instalable: false` to avoid collision with the
other modules that are installed to the same path. A typical example was
<foo> and <foo>.microdroid. The latter is a modified version of the
former for the inclusion of the microdroid image. They however both have
the same instalation path (ex: system/bin) and stem (ex: foo) so that we
can reference them using the same path regardless of whether we are in
Android or microdroid.
However, the use of `installable: false` for the purpose is actually
incorrect, because `installable: false` also means, obviously, "this
module shouldn't be installed". The only reason this incorrect way has
worked is simply because packaging modules (ex: android_filesystem)
didn't respect the property when gathering the modules.
As packaging modules are now fixed to respect `installable: false`, we
need a correct way of avoiding the collision. `no_full_install: true` is
it.
If a module has this property set to true, it is never installed to the
full instal path like out/target/product/<partition>/... It can be
installed only via packaging modules.
Bug: 338160898
Test: m
Change-Id: I267031c68f2157a679a1fceb3ae684bb7580c77c
diff --git a/microdroid/Android.bp b/microdroid/Android.bp
index d7006b5..dce4898 100644
--- a/microdroid/Android.bp
+++ b/microdroid/Android.bp
@@ -243,7 +243,7 @@
":microdroid_plat_pub_versioned.cil",
":microdroid_vendor_sepolicy.cil",
],
- installable: false,
+ no_full_install: true,
// b/259729287. In Microdroid, su is allowed to be in permissive mode.
// This is to support fully debuggable VMs on user builds. This is safe
@@ -265,7 +265,7 @@
filename: "plat_file_contexts",
src: ":microdroid_file_contexts.gen",
relative_install_path: "selinux",
- installable: false,
+ no_full_install: true,
}
genrule {
@@ -282,7 +282,7 @@
filename: "plat_property_contexts",
src: "system/private/property_contexts",
relative_install_path: "selinux",
- installable: false,
+ no_full_install: true,
}
// For CTS