platform_bootable_recovery/recovery_utils/Android.bp
Alessandro Astone b6c2273ed4 recovery: make /etc/fstab only include entries that match the detected fs type
* toybox's `mount` does not support multiple entries like we do,
   so if we can detect the filesystem of an fstab enrtry print that
   and only that one to /etc/fstab, so that mounting via toybox has
   a better chance of succeding.

 * as a bonus, this patch also gets rid of duplicates in /etc/fstab
   caused by the fact that ReadDefaultFstab() combines entries from
   DT and from recovery.fstab

Change-Id: Iec4ab38044054555d2a33da6f5d53de7716e7bee
2024-09-08 01:06:24 +02:00

107 lines
2.9 KiB
Text

// Copyright (C) 2019 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 {
// See: http://go/android-license-faq
// A large-scale-change added 'default_applicable_licenses' to import
// all of the 'license_kinds' from "bootable_recovery_license"
// to get the below license kinds:
// SPDX-license-identifier-Apache-2.0
default_applicable_licenses: ["bootable_recovery_license"],
}
cc_defaults {
name: "librecovery_utils_defaults",
defaults: [
"recovery_defaults",
],
shared_libs: [
"android.hardware.health@2.0",
"libbase",
"libbinder_ndk",
"libext4_utils",
"libfs_mgr",
"libhidlbase",
"libselinux",
"libutils",
],
static_libs: [
"libotautil",
// External dependencies.
"android.hardware.health-translate-ndk",
"libfstab",
"libhealthhalutils",
"libhealthshim",
],
whole_static_libs: [
"libext2_blkid",
],
}
// A utility lib that's local to recovery (in contrast, libotautil is exposed to device-specific
// recovery_ui lib as well as device-specific updater).
cc_library_static {
name: "librecovery_utils",
recovery_available: true,
defaults: [
"librecovery_utils_defaults",
],
srcs: [
"battery_utils.cpp",
"logging.cpp",
"parse_install_logs.cpp",
"roots.cpp",
"thermalutil.cpp",
],
header_libs: [
"libvold_headers",
],
shared_libs: [
// The following cannot be placed in librecovery_utils_defaults,
// because at the time of writing, android.hardware.health-V3-ndk.so
// is not installed to the system image yet. (It is installed
// to the recovery ramdisk.) Hence, minadbd_test must link to it
// statically.
"android.hardware.health-V3-ndk",
],
export_include_dirs: [
"include",
],
export_static_lib_headers: [
// roots.h includes <fstab/fstab.h>.
"libfstab",
],
// Should avoid exposing to the libs that might be used in device-specific codes (e.g.
// libedify, libotautil, librecovery_ui).
visibility: [
"//bootable/recovery",
"//bootable/recovery/install",
"//bootable/recovery/minadbd",
"//bootable/recovery/tests",
"//bootable/deprecated-ota:__subpackages__",
],
}