Support "updatable groups".
* BOARD_SUPER_PARTITION_GROUPS defines a list of "updatable groups". Each
updatable group is a group of partitions that share the same pool of free
spaces.
* For each group in BOARD_SUPER_PARTITION_GROUPS, a BOARD_{GROUP}_SIZE and
BOARD_{GROUP}_PARTITION_PARTITION_LIST may be defined.
- BOARD_{GROUP}_SIZE: The maximum sum of sizes of all
partitions in the group.
If empty, no limit is enforced on the sum of sizes for this group.
- BOARD_{GROUP}_PARTITION_PARTITION_LIST: the list of partitions that
belongs to this group.
If empty, no partitions belong to this group, and the sum of sizes is
effectively 0.
* BOARD_SUPER_PARTITION_PARTITION_LIST should not be defined
by the device. It is now computed from all
BOARD_{GROUP}_PARTITION_PARTITION_LIST.
* Each 'updatable group' has its own pool of space for its
partitions to grow into. Enforce the following:
* sum(all partitions) <= super partition (/ 2 for A/B)
* For each group, sum(partitions in group) <= group size
* sum(all group sizes) <= super partition (/ 2 for A/B)
Test: builds
Bug: 111610495
Change-Id: I072b011714ec31a1d8813cc75edd27da3c6ff39a
Merged-In: I072b011714ec31a1d8813cc75edd27da3c6ff39a
diff --git a/core/product.mk b/core/product.mk
index 8c8246e..d1c74e7 100644
--- a/core/product.mk
+++ b/core/product.mk
@@ -408,7 +408,7 @@
BOARD_PRODUCTIMAGE_PARTITION_RESERVED_SIZE \
BOARD_PRODUCT_SERVICESIMAGE_PARTITION_RESERVED_SIZE \
BOARD_SUPER_PARTITION_SIZE \
- BOARD_SUPER_PARTITION_PARTITION_LIST \
+ BOARD_SUPER_PARTITION_GROUPS \
#
# Mark the variables in _product_stash_var_list as readonly