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