fs_config: Fix cases without vendor/oem partition
If the device has neither an OEM nor a vendor partiton,
$PRIVATE_PARTITION_LIST will be empty, causing the fsconfig tool to fail
because the "--all-partitions" argument will be empty.
Quote the comma-substituted "$(PRIVATE_PARTITION_LIST)" - which may be
empty - to appease argparse, which will then populate "_all_partitions"
with an empty "str" object.
Checking _all_partitions against None is superfluous since either
argparse will catch the empty argument and fail early, or the argument
will be a string, in which case it will not be None.
Bug: 140578676
Test: build only a system partition
Signed-off-by: Felix <google@ix5.org>
Change-Id: I236e30445b303b4945467b5dc4387d54b5d984f9
(cherry picked from commit 8453f02c652e1ec0467648064393b61c9b424d68)
diff --git a/tools/fs_config/Android.mk b/tools/fs_config/Android.mk
index 96db0f3..af0da46 100644
--- a/tools/fs_config/Android.mk
+++ b/tools/fs_config/Android.mk
@@ -99,7 +99,7 @@
--aid-header $(PRIVATE_ANDROID_FS_HDR) \
--capability-header $(PRIVATE_ANDROID_CAP_HDR) \
--partition system \
- --all-partitions $(subst $(space),$(comma),$(PRIVATE_PARTITION_LIST)) \
+ --all-partitions "$(subst $(space),$(comma),$(PRIVATE_PARTITION_LIST))" \
--dirs \
--out_file $@ \
$(or $(PRIVATE_TARGET_FS_CONFIG_GEN),/dev/null)
@@ -124,7 +124,7 @@
--aid-header $(PRIVATE_ANDROID_FS_HDR) \
--capability-header $(PRIVATE_ANDROID_CAP_HDR) \
--partition system \
- --all-partitions $(subst $(space),$(comma),$(PRIVATE_PARTITION_LIST)) \
+ --all-partitions "$(subst $(space),$(comma),$(PRIVATE_PARTITION_LIST))" \
--files \
--out_file $@ \
$(or $(PRIVATE_TARGET_FS_CONFIG_GEN),/dev/null)
diff --git a/tools/fs_config/fs_config_generator.py b/tools/fs_config/fs_config_generator.py
index dccff92..4400466 100755
--- a/tools/fs_config/fs_config_generator.py
+++ b/tools/fs_config/fs_config_generator.py
@@ -1004,10 +1004,6 @@
self._partition = args['partition']
self._all_partitions = args['all_partitions']
- if self._partition == 'system' and self._all_partitions is None:
- sys.exit(
- 'All other partitions must be provided if generating output'
- ' for the system partition')
self._out_file = args['out_file']