Set cameraserver optional.
Cameraserver is installed in handheld_system.mk, not
in TV and auto. Hence it is manually marked as optional.
Also update README to reflect what "optional" means.
Test: build cf_x86_auto
Bug: 37226359
Change-Id: Ib5e91c97256f9358074e68a67c535e25dec57409
diff --git a/vintfdata/README.md b/vintfdata/README.md
index 0d17b66..cfc1da7 100644
--- a/vintfdata/README.md
+++ b/vintfdata/README.md
@@ -44,6 +44,13 @@
Deprecating a HAL doesn’t mean dropping support of the HAL, so no devices will
break.
+When setting `max-level` of a HAL:
+- If `optional="false"` in frozen DCMs, the build system checks that adding the
+ attribute does not break backwards compatibility; that is,
+ `max-level > last_frozen_level`.
+- If `optional="true"`, the check is disabled. Care must be taken to ensure
+ `max-level` is set appropriately.
+
## Removing HAL
When the framework drops support of a certain HAL, the corresponding HAL entry
@@ -63,15 +70,20 @@
Execute the following, replacing the argument with the level to freeze:
```shell script
+lunch cf_x86_phone-userdebug # or any generic target
LEVEL=5
./freeze.sh ${LEVEL}
```
A new file, `frozen/${LEVEL}.xml`, will be created after the command is
-executed. Frozen system manifests are stored in compatibility matrices. These
-compatibility matrices served as a reference for devices at that
+executed. Frozen system manifests are stored in compatibility matrices. Then,
+manually inspect the frozen compatibility matrix. Modify the `optional`
+field for certain HALs. See comments in the compatibility matrix of the previous
+level for details.
+
+These compatibility matrices served as a reference for devices at that
target FCM version. Devices at the given target FCM version should
-use DCMs in the `frozen/` dir, although some of the HALs may be marked
+reference DCMs in the `frozen/` dir, with some of the HALs marked
as `optional="true"` or even omitted if unused by device-specific code.
At build time, compatibiltiy is checked between framework manifest and
diff --git a/vintfdata/frozen/5.xml b/vintfdata/frozen/5.xml
index 9c52d07..525829d 100644
--- a/vintfdata/frozen/5.xml
+++ b/vintfdata/frozen/5.xml
@@ -1,5 +1,9 @@
<compatibility-matrix version="3.0" type="device">
- <hal format="hidl" optional="false">
+ <!--
+ cameraserver is installed for all phones and tablets, but not
+ auto or TV.
+ -->
+ <hal format="hidl" optional="true">
<name>android.frameworks.cameraservice.service</name>
<version>2.1</version>
<interface>