fs_config: drop fs_config_files/dirs PRODUCT_PACKAGES requirement
When configuring fs_config_files or fs_config_dirs for file_system
capabilities, drop the requirement that OEMs must add the target
to PRODUCT_PACKAGES. This limits the configuration requirement
to only needing to set the new and preferred TARGET_FS_CONFIG_GEN
or the older TARGET_ANDROID_FILESYSTEM_CONFIG_H method.
Test: That only setting TARGET_FS_CONFIG_GEN results in passwd and
group in the build image.
Change-Id: I818854fa1b3e94edaff59a32bd7cf23cf9b504aa
Signed-off-by: William Roberts <william.c.roberts@intel.com>
diff --git a/target/product/embedded.mk b/target/product/embedded.mk
index 690297e..66dad3e 100644
--- a/target/product/embedded.mk
+++ b/target/product/embedded.mk
@@ -91,7 +91,9 @@
# <pwd.h> and <grp.h>
PRODUCT_PACKAGES += \
passwd \
- group
+ group \
+ fs_config_files \
+ fs_config_dirs
# Ensure that this property is always defined so that bionic_systrace.cpp
# can rely on it being initially set by init.
diff --git a/tools/fs_config/Android.mk b/tools/fs_config/Android.mk
index 0734cf6..3d784a7 100644
--- a/tools/fs_config/Android.mk
+++ b/tools/fs_config/Android.mk
@@ -72,6 +72,19 @@
my_fs_config_h := $(LOCAL_PATH)/default/$(ANDROID_FS_CONFIG_H)
endif
+# We only include targets for:
+# fs_config_files
+# fs_config_dirs
+# If TARGET_FS_CONFIG_GEN or TARGET_ANDROID_FILESYSTEM_CONFIG_H
+# is set.
+#
+# We only include targets for:
+# passwd
+# group
+# If TARGET_FS_CONFIG_GEN is set.
+#
+ifneq ($(TARGET_FS_CONFIG_GEN)$(TARGET_ANDROID_FILESYSTEM_CONFIG_H),)
+
##################################
include $(CLEAR_VARS)
LOCAL_SRC_FILES := fs_config_generate.c
@@ -138,6 +151,10 @@
@mkdir -p $(dir $@)
$< -F -o $@
+endif # TARGET_FS_CONFIG_GEN or TARGET_ANDROID_FILESYSTEM_CONFIG_H
+
+# The newer passwd/group targets are only generated if you
+# use the new TARGET_FS_CONFIG_GEN method.
ifneq ($(TARGET_FS_CONFIG_GEN),)
##################################
diff --git a/tools/fs_config/README b/tools/fs_config/README
index b1507a7..c50c056 100644
--- a/tools/fs_config/README
+++ b/tools/fs_config/README
@@ -50,12 +50,12 @@
prefixed with a 0, else mode is used as is.
user:
- The exact, C define for a valid AID. Note custom AIDs can be defined in the
+ Either the C define for a valid AID or the friendly name. For instance both
+ AID_RADIO and radio are acceptable. Note custom AIDs can be defined in the
AID section documented below.
group:
- The exact, C define for a valid AID. Note custom AIDs can be defined in the
- AID section documented below.
+ Same as user.
caps:
The name as declared in
diff --git a/tools/fs_config/default/android_filesystem_config.h b/tools/fs_config/default/android_filesystem_config.h
index 820b04a..b7d936a 100644
--- a/tools/fs_config/default/android_filesystem_config.h
+++ b/tools/fs_config/default/android_filesystem_config.h
@@ -19,13 +19,6 @@
** by the device side of adb.
*/
-/*
-** Resorting to the default file means someone requested fs_config_dirs or
-** fs_config_files in their device configuration without providing an
-** associated header.
-*/
-#warning No device-supplied android_filesystem_config.h, using empty default.
-
/* Rules for directories.
** These rules are applied based on "first match", so they
** should start with the most specific path and work their