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.
This commit is contained in:
@@ -0,0 +1,209 @@
|
||||
// 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,
|
||||
},
|
||||
},
|
||||
}
|
||||
Reference in New Issue
Block a user