Microdroid uses mke2fs to format encryptedstore partition. This happens
in parallel to apex activation by apexd. Hence, sometime, mke2fs would
fail if some linker libraries are not available.
Create a target (mke2fs.microdroid) with bootstrap: true
Bug:
238179332
Test: Build succeeds & atest MicrodroidTests#encryptedStorageAvailable
Change-Id: I1aa493bfc188bb78e21efe98423f4a79215f7d95
From AOSP commit:
54818f635e4249db903dd17fca22ae11b3c0f3a0
//########################################################################
// Build mke2fs
//########################################################################
// Build mke2fs
-cc_binary {
- name: "mke2fs",
- host_supported: true,
+cc_defaults {
+ name: "mke2fs_defaults",
recovery_available: true,
defaults: ["e2fsprogs-defaults"],
recovery_available: true,
defaults: ["e2fsprogs-defaults"],
"-Wno-error=type-limits",
"-Wno-format-extra-args",
],
"-Wno-error=type-limits",
"-Wno-format-extra-args",
],
+
+ stl: "libc++_static",
+ include_dirs: ["external/e2fsprogs/e2fsck"],
+}
+
+cc_binary {
+ name: "mke2fs",
+ host_supported: true,
+ defaults: ["mke2fs_defaults"],
target: {
host: {
static_libs: [
target: {
host: {
static_libs: [
symlinks: ["mkfs.ext2", "mkfs.ext3", "mkfs.ext4"],
},
},
symlinks: ["mkfs.ext2", "mkfs.ext3", "mkfs.ext4"],
},
},
- stl: "libc++_static",
- include_dirs: ["external/e2fsprogs/e2fsck"],
+}
+
+cc_binary {
+ name: "mke2fs.microdroid",
+ defaults: ["mke2fs_defaults"],
+ bootstrap: true,
+ target: {
+ android: {
+ required: [
+ "mke2fs.conf",
+ ],
+ shared_libs: [
+ "libext2fs",
+ "libext2_blkid",
+ "libext2_misc",
+ "libext2_uuid",
+ "libext2_quota",
+ "libext2_com_err",
+ "libext2_e2p",
+ ],
+ symlinks: ["mkfs.ext4.microdroid"],
+ },
+ },
+ installable: false,
+ stem: "mke2fs",
+ visibility: ["//packages/modules/Virtualization/microdroid"],
}
//##########################################################################
}
//##########################################################################