Add bins and libs into the otatools.zip
- The apksigner, boot_signer, signapk, and verity_signer are sh files.
Can't put them in "srcs" because they will be built as jar files.
- Use soong config to control the modules is not in AOSP.
- Not build "make_erofs": This module is not in main branch.
- Not build "mke2fs.conf": This module is not in $(HOST_OUT).
Bug: 395988167
Test: m otatools-package-temp
Change-Id: Iaa7ca00b6bea41e19aae0ed984262e22a794df8c
diff --git a/tools/otatools_package/Android.bp b/tools/otatools_package/Android.bp
index dea3d82..f9d79d6 100644
--- a/tools/otatools_package/Android.bp
+++ b/tools/otatools_package/Android.bp
@@ -33,6 +33,160 @@
out: ["otatools_package_dep_jars.zip"],
}
+cc_genrule {
+ name: "otatools_package_dep_libs",
+ host_supported: true,
+ device_supported: false,
+ compile_multilib: "first",
+ tools: ["soong_zip"],
+ cmd: "mkdir -p $(genDir)/$$CC_MULTILIB &&" +
+ "cp $(in) $(genDir)/$$CC_MULTILIB && " +
+ "$(location soong_zip) -o $(out) -C $(genDir) -D $(genDir)/$$CC_MULTILIB",
+ srcs: [
+ ":libbase",
+ ":libbrillo",
+ ":libbrillo-stream",
+ ":libc++",
+ "//external/libchrome:libchrome",
+ ":libconscrypt_openjdk_jni",
+ ":libcrypto",
+ ":libcrypto_utils",
+ ":libcutils",
+ ":libevent",
+ ":libext2_blkid",
+ ":libext2_com_err",
+ ":libext2_e2p",
+ ":libext2_quota",
+ ":libext2_uuid",
+ ":libext2fs",
+ ":libext4_utils",
+ ":libfec",
+ ":libhidl-gen-utils",
+ ":libhidlmetadata",
+ ":libicui18n",
+ ":libicuuc",
+ ":liblog",
+ ":liblp",
+ ":liblz4",
+ ":libpcre2",
+ ":libprocessgroup",
+ ":libprotobuf-cpp-lite",
+ ":libselinux",
+ ":libsparse",
+ ":libsqlite",
+ ":libsquashfs_utils",
+ ":libssl",
+ ":libz",
+ ":libziparchive",
+ ],
+ out: ["otatools_package_dep_libs.zip"],
+}
+
+cc_genrule {
+ name: "otatools_package_dep_bins",
+ host_supported: true,
+ device_supported: false,
+ compile_multilib: "first",
+ tools: [
+ "apksigner",
+ "boot_signer",
+ "merge_zips",
+ "signapk",
+ "verity_signer",
+ ],
+ cmd: "mkdir -p $(genDir)/bin && " +
+ "cp $(in) $(genDir)/bin && " +
+ "cp $(location apksigner) $(location boot_signer) $(location merge_zips) $(location signapk) $(location verity_signer) $(genDir)/bin && " +
+ "$(location :soong_zip) -o $(out) -C $(genDir) -D $(genDir)/bin",
+ srcs: [
+ ":aapt2",
+ ":add_img_to_target_files",
+ ":apex_compression_tool",
+ ":apexd_host",
+ ":apexer",
+ ":append2simg",
+ ":avbtool",
+ ":blk_alloc_to_base_fs",
+ ":brillo_update_payload",
+ ":brotli",
+ ":bsdiff",
+ ":build_image",
+ ":build_super_image",
+ ":build_verity_metadata",
+ ":build_verity_tree",
+ ":care_map_generator",
+ ":check_ota_package_signature",
+ ":check_target_files_signatures",
+ ":check_target_files_vintf",
+ ":checkvintf",
+ ":create_brick_ota",
+ ":deapexer",
+ ":debugfs_static",
+ ":delta_generator",
+ ":e2fsck",
+ ":e2fsdroid",
+ ":fc_sort",
+ ":fec",
+ ":fs_config",
+ ":fsck.erofs",
+ ":fsck.f2fs",
+ ":generate_verity_key",
+ ":host_init_verifier",
+ ":img2simg",
+ ":img_from_target_files",
+ ":initrd_bootconfig",
+ ":lpmake",
+ ":lpunpack",
+ ":lz4",
+ ":make_f2fs",
+ ":make_f2fs_casefold",
+ ":merge_ota",
+ ":merge_target_files",
+ "//device/generic/goldfish:mk_combined_img",
+ ":mkbootfs",
+ ":mkbootimg",
+ ":mke2fs",
+ ":mkf2fsuserimg",
+ ":mkfs.erofs",
+ ":mksquashfs",
+ ":mksquashfsimage",
+ ":mkuserimg_mke2fs",
+ ":ota_extractor",
+ ":ota_from_target_files",
+ ":repack_bootimg",
+ ":resize2fs",
+ ":secilc",
+ ":sefcontext_compile",
+ ":sgdisk",
+ ":shflags",
+ ":sign_apex",
+ ":sign_target_files_apks",
+ ":sign_virt_apex",
+ ":simg2img",
+ ":sload_f2fs",
+ ":soong_zip",
+ ":toybox",
+ ":tune2fs",
+ ":unpack_bootimg",
+ ":update_device",
+ ":validate_target_files",
+ ":verity_verifier",
+ ":zip2zip",
+ ":zipalign",
+ ":zucchini",
+ ] + select(soong_config_variable("otatools", "use_vendor_google_tools"), {
+ true: [":build_mixed_kernels_ramdisk_host"],
+ default: [],
+ }) + select(soong_config_variable("otatools", "use_bootable_deprecated_ota_applypatch"), {
+ true: [
+ ":imgdiff",
+ ":update_host_simulator",
+ ],
+ default: [],
+ }),
+ out: ["otatools_package_dep_bins.zip"],
+}
+
java_genrule_host {
name: "otatools_package",
tools: ["merge_zips"],
@@ -40,7 +194,9 @@
cmd: "$(location merge_zips) $(out) $(in)",
srcs: [
":otatools_package_cert_files",
+ ":otatools_package_dep_bins",
":otatools_package_dep_jars",
+ ":otatools_package_dep_libs",
":otatools_package_releasetools",
],
// TODO: Rename as "otatools.zip" when the rest files are ready.