Files
external_update_binary/updater/Android.bp
T
oxmc 042ffdb2d5 Restore applypatch/updater/edify for non-A/B OTA support
Google deleted this source from bootable/recovery outright (commit c7ebad5f,
"rm -rf non-AB code", 2024-04-05) — confirmed present at android-14, absent
at android-16.0.0_r4. The runtime side (install.cpp's SetUpNonAbUpdateCommands)
and build-side packaging (ota_from_target_files.py's GenerateNonAbOtaPackage)
both survived; only the source that builds the update-binary executable
itself was removed. Sourced from TeamWin's android_bootable_recovery
(android-14.1), the only living copy found, with install/ZipUtil.cpp,
get_args.cpp, and set_metadata.cpp intentionally left out (only wired into
TeamWin's modified install.cpp, which PawletOS isn't adopting — twrpinstall
carries its own independent copies).

Kept as its own repo, not folded into a recovery fork, so it's buildable
independent of whichever recovery UI ends up in use.
2026-07-11 03:21:24 -07:00

210 lines
4.0 KiB
Plaintext

// Copyright (C) 2018 The Android Open Source Project
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
package {
default_applicable_licenses: ["external_update_binary_updater_license"],
}
// external_update_binary is a standalone repo (not nested inside
// bootable/recovery), so this declares its own license module instead of
// depending on bootable/recovery's internal "bootable_recovery_license" name.
license {
name: "external_update_binary_updater_license",
visibility: [":__subpackages__"],
license_kinds: [
"SPDX-license-identifier-Apache-2.0",
],
license_text: [
"//external/update_binary:NOTICE",
],
}
cc_defaults {
name: "libupdater_static_libs",
static_libs: [
"libapplypatch",
"libbootloader_message",
"libbspatch",
"libedify",
"libotautil",
"libext4_utils",
"libdm",
"libfec",
"libfec_rs",
"libavb",
"libverity_tree",
"liblog",
"liblp",
"libselinux",
"libsparse",
"libsquashfs_utils",
"libbrotli",
"libbz",
"libziparchive",
"libz",
"libbase",
"libcrypto_utils",
"libcutils",
"libutils",
],
header_libs: [
"libgtest_prod_headers",
],
}
cc_defaults {
name: "libupdater_defaults",
defaults: [
"recovery_defaults",
"libupdater_static_libs",
],
shared_libs: [
"libcrypto",
],
}
cc_defaults {
name: "libupdater_device_defaults",
static_libs: [
"libfs_mgr",
"libtune2fs",
"libext2_com_err",
"libext2_blkid",
"libext2_quota",
"libext2_uuid",
"libext2_e2p",
"libext2fs",
],
}
cc_library_static {
name: "libupdater_core",
host_supported: true,
defaults: [
"recovery_defaults",
"libupdater_defaults",
],
srcs: [
"blockimg.cpp",
"commands.cpp",
"install.cpp",
"mounts.cpp",
"updater.cpp",
],
target: {
darwin: {
enabled: false,
},
},
export_include_dirs: [
"include",
],
}
cc_library_static {
name: "libupdater_device",
defaults: [
"recovery_defaults",
"libupdater_defaults",
"libupdater_device_defaults",
],
srcs: [
"dynamic_partitions.cpp",
"updater_runtime.cpp",
"updater_runtime_dynamic_partitions.cpp",
],
static_libs: [
"libupdater_core",
],
include_dirs: [
"external/e2fsprogs/misc",
],
export_include_dirs: [
"include",
],
}
cc_library_host_static {
name: "libupdater_host",
defaults: [
"recovery_defaults",
"libupdater_defaults",
],
srcs: [
"build_info.cpp",
"dynamic_partitions.cpp",
"simulator_runtime.cpp",
"target_files.cpp",
],
static_libs: [
"libupdater_core",
"libfstab",
"libc++fs",
],
target: {
darwin: {
enabled: false,
},
},
export_include_dirs: [
"include",
],
}
cc_binary_host {
name: "update_host_simulator",
defaults: ["libupdater_static_libs"],
srcs: ["update_simulator_main.cpp"],
cflags: [
"-Wall",
"-Werror",
],
static_libs: [
"libupdater_host",
"libupdater_core",
"libcrypto_static",
"libfstab",
"libc++fs",
],
target: {
darwin: {
enabled: false,
},
},
}