Revert^2 "Filesystem modules follow the installation semantic"

54351867fa0dff593eb61d111d1d7ffb7d3d02f2

Change-Id: I12010c1013fc9dad19d259ba7b0251ac8e8e0907
diff --git a/filesystem/filesystem.go b/filesystem/filesystem.go
index cadf9c2..5bcfce7 100644
--- a/filesystem/filesystem.go
+++ b/filesystem/filesystem.go
@@ -137,6 +137,7 @@
 // partitions like system.img. For example, cc_library modules are placed under ./lib[64] directory.
 func filesystemFactory() android.Module {
 	module := &filesystem{}
+	module.filterPackagingSpec = module.filterInstallablePackagingSpec
 	initFilesystemModule(module)
 	return module
 }
@@ -189,6 +190,12 @@
 	return proptools.StringDefault(f.properties.Partition_name, f.Name())
 }
 
+func (f *filesystem) filterInstallablePackagingSpec(ps android.PackagingSpec) bool {
+	// Filesystem module respects the installation semantic. A PackagingSpec from a module with
+	// IsSkipInstall() is skipped.
+	return !ps.SkipInstall()
+}
+
 var pctx = android.NewPackageContext("android/soong/filesystem")
 
 func (f *filesystem) GenerateAndroidBuildActions(ctx android.ModuleContext) {