Build and dist updatepackage

Equivalent make code: https://cs.android.com/android/_/android/platform/build/+/577341036beabe1cf4dcc479b254b878b8963b8d:core/Makefile;l=7593-7620;drc=577341036beabe1cf4dcc479b254b878b8963b8d;bpv=1;bpt=0

Some custom partitions are not included in the updatepackage. Make
determines by looking at a board config variable. To implement this
exclusion in Soong, a new `No_flashall` property has been added to
`android_filesystem`.

Bug: 383902856
Test: Built img.zip files for both make and soong
Test: verified that they contain the same no. of files.
Change-Id: If4df40a7ceb2ef68de27fb44f9e8db4503695e4e
diff --git a/filesystem/filesystem.go b/filesystem/filesystem.go
index 61b731a..0b17025 100644
--- a/filesystem/filesystem.go
+++ b/filesystem/filesystem.go
@@ -249,6 +249,10 @@
 
 	// Whether to enable per-file compression in f2fs
 	Enable_compression *bool
+
+	// Whether this partition is not supported by flashall.
+	// If true, this partition will not be included in the `updatedpackage` dist artifact.
+	No_flashall *bool
 }
 
 type AndroidFilesystemDeps struct {
@@ -464,6 +468,7 @@
 	AvbHashAlgorithm string
 	AvbKey           android.Path
 	PartitionName    string
+	NoFlashall       bool
 	// HasOrIsRecovery returns true for recovery and for ramdisks with a recovery partition.
 	HasOrIsRecovery bool
 }
@@ -725,6 +730,7 @@
 		PartitionSize:       f.properties.Partition_size,
 		PartitionName:       f.partitionName(),
 		HasOrIsRecovery:     f.hasOrIsRecovery(ctx),
+		NoFlashall:          proptools.Bool(f.properties.No_flashall),
 	}
 	if proptools.Bool(f.properties.Use_avb) {
 		fsInfo.UseAvb = true