Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 214a923f authored by Mohammad Islam's avatar Mohammad Islam Committed by Gerrit Code Review
Browse files

Merge "Add EROFS support for APEX build system"

parents 51da9338 13cac63c
Loading
Loading
Loading
Loading
+9 −3
Original line number Original line Diff line number Diff line
@@ -158,8 +158,8 @@ type apexBundleProperties struct {
	// is 'image'.
	// is 'image'.
	Payload_type *string
	Payload_type *string


	// The type of filesystem to use when the payload_type is 'image'. Either 'ext4' or 'f2fs'.
	// The type of filesystem to use when the payload_type is 'image'. Either 'ext4', 'f2fs'
	// Default 'ext4'.
	// or 'erofs'. Default 'ext4'.
	Payload_fs_type *string
	Payload_fs_type *string


	// For telling the APEX to ignore special handling for system libraries such as bionic.
	// For telling the APEX to ignore special handling for system libraries such as bionic.
@@ -1153,6 +1153,7 @@ const (


	ext4FsType = "ext4"
	ext4FsType = "ext4"
	f2fsFsType = "f2fs"
	f2fsFsType = "f2fs"
	erofsFsType = "erofs"
)
)


// The suffix for the output "file", not the module
// The suffix for the output "file", not the module
@@ -1625,6 +1626,7 @@ type fsType int
const (
const (
	ext4 fsType = iota
	ext4 fsType = iota
	f2fs
	f2fs
	erofs
)
)


func (f fsType) string() string {
func (f fsType) string() string {
@@ -1633,6 +1635,8 @@ func (f fsType) string() string {
		return ext4FsType
		return ext4FsType
	case f2fs:
	case f2fs:
		return f2fsFsType
		return f2fsFsType
	case erofs:
		return erofsFsType
	default:
	default:
		panic(fmt.Errorf("unknown APEX payload type %d", f))
		panic(fmt.Errorf("unknown APEX payload type %d", f))
	}
	}
@@ -2056,8 +2060,10 @@ func (a *apexBundle) GenerateAndroidBuildActions(ctx android.ModuleContext) {
		a.payloadFsType = ext4
		a.payloadFsType = ext4
	case f2fsFsType:
	case f2fsFsType:
		a.payloadFsType = f2fs
		a.payloadFsType = f2fs
	case erofsFsType:
		a.payloadFsType = erofs
	default:
	default:
		ctx.PropertyErrorf("payload_fs_type", "%q is not a valid filesystem for apex [ext4, f2fs]", *a.properties.Payload_fs_type)
		ctx.PropertyErrorf("payload_fs_type", "%q is not a valid filesystem for apex [ext4, f2fs, erofs]", *a.properties.Payload_fs_type)
	}
	}


	// Optimization. If we are building bundled APEX, for the files that are gathered due to the
	// Optimization. If we are building bundled APEX, for the files that are gathered due to the
+2 −1
Original line number Original line Diff line number Diff line
@@ -65,6 +65,7 @@ func init() {
	pctx.HostBinToolVariable("extract_apks", "extract_apks")
	pctx.HostBinToolVariable("extract_apks", "extract_apks")
	pctx.HostBinToolVariable("make_f2fs", "make_f2fs")
	pctx.HostBinToolVariable("make_f2fs", "make_f2fs")
	pctx.HostBinToolVariable("sload_f2fs", "sload_f2fs")
	pctx.HostBinToolVariable("sload_f2fs", "sload_f2fs")
	pctx.HostBinToolVariable("make_erofs", "make_erofs")
	pctx.HostBinToolVariable("apex_compression_tool", "apex_compression_tool")
	pctx.HostBinToolVariable("apex_compression_tool", "apex_compression_tool")
	pctx.SourcePathVariable("genNdkUsedbyApexPath", "build/soong/scripts/gen_ndk_usedby_apex.sh")
	pctx.SourcePathVariable("genNdkUsedbyApexPath", "build/soong/scripts/gen_ndk_usedby_apex.sh")
}
}
@@ -120,7 +121,7 @@ var (
			`--payload_type image ` +
			`--payload_type image ` +
			`--key ${key} ${opt_flags} ${image_dir} ${out} `,
			`--key ${key} ${opt_flags} ${image_dir} ${out} `,
		CommandDeps: []string{"${apexer}", "${avbtool}", "${e2fsdroid}", "${merge_zips}",
		CommandDeps: []string{"${apexer}", "${avbtool}", "${e2fsdroid}", "${merge_zips}",
			"${mke2fs}", "${resize2fs}", "${sefcontext_compile}", "${make_f2fs}", "${sload_f2fs}",
			"${mke2fs}", "${resize2fs}", "${sefcontext_compile}", "${make_f2fs}", "${sload_f2fs}", "${make_erofs}",
			"${soong_zip}", "${zipalign}", "${aapt2}", "prebuilts/sdk/current/public/android.jar"},
			"${soong_zip}", "${zipalign}", "${aapt2}", "prebuilts/sdk/current/public/android.jar"},
		Rspfile:        "${out}.copy_commands",
		Rspfile:        "${out}.copy_commands",
		RspfileContent: "${copy_commands}",
		RspfileContent: "${copy_commands}",