From daaacea96ebfc55b47f44240e2082c820c8eb234 Mon Sep 17 00:00:00 2001 From: Raman Tenneti Date: Thu, 13 Feb 2020 02:50:42 +0000 Subject: Revert "Force package installation with FUSE unless the package stores on device" This reverts commit 5e6c4e9a91674826bf11cab604250b41a9326fd8. Reason for revert: BUG: 149432069 - build failure on git_qt-qpr1-dev-plus-aosp on docs. 'otautil/roots.h' file not found is the error. Forrest run: https://android-build.googleplex.com/builds/forrest/run/L85900000460577420 Change-Id: I35119c2334895aa0ef4ed71b3ddd08f280c0c031 Merged-In: I35119c2334895aa0ef4ed71b3ddd08f280c0c031 --- Android.bp | 2 -- install/include/install/install.h | 4 ---- install/install.cpp | 47 --------------------------------------- recovery.cpp | 6 +---- tests/Android.bp | 1 - tests/unit/install_test.cpp | 28 ----------------------- 6 files changed, 1 insertion(+), 87 deletions(-) diff --git a/Android.bp b/Android.bp index bda36c2f5..3a8e97883 100644 --- a/Android.bp +++ b/Android.bp @@ -72,7 +72,6 @@ cc_defaults { ], static_libs: [ - "libc++fs", "libinstall", "librecovery_fastboot", "libminui", @@ -96,7 +95,6 @@ cc_library_static { ], shared_libs: [ - "libfusesideload", "librecovery_ui", ], } diff --git a/install/include/install/install.h b/install/include/install/install.h index bef23e9ca..87d43ab09 100644 --- a/install/include/install/install.h +++ b/install/include/install/install.h @@ -63,7 +63,3 @@ bool ReadMetadataFromPackage(ZipArchiveHandle zip, std::map& metadata, OtaType ota_type); - -// Ensures the path to the update package is mounted. Also set the |should_use_fuse| to true if the -// package stays on a removable media. -bool SetupPackageMount(const std::string& package_path, bool* should_use_fuse); diff --git a/install/install.cpp b/install/install.cpp index 1c9bf2fd2..4bb0903cc 100644 --- a/install/install.cpp +++ b/install/install.cpp @@ -30,7 +30,6 @@ #include #include #include -#include #include #include #include @@ -642,49 +641,3 @@ bool verify_package(Package* package, RecoveryUI* ui) { } return true; } - -bool SetupPackageMount(const std::string& package_path, bool* should_use_fuse) { - CHECK(should_use_fuse != nullptr); - - if (package_path.empty()) { - return false; - } - - *should_use_fuse = true; - if (package_path[0] == '@') { - auto block_map_path = package_path.substr(1); - if (ensure_path_mounted(block_map_path) != 0) { - LOG(ERROR) << "Failed to mount " << block_map_path; - return false; - } - // uncrypt only produces block map only if the package stays on /data. - *should_use_fuse = false; - return true; - } - - // Package is not a block map file. - if (ensure_path_mounted(package_path) != 0) { - LOG(ERROR) << "Failed to mount " << package_path; - return false; - } - - // Reject the package if the input path doesn't equal the canonicalized path. - // e.g. /cache/../sdcard/update_package. - std::error_code ec; - auto canonical_path = std::filesystem::canonical(package_path, ec); - if (ec) { - LOG(ERROR) << "Failed to get canonical of " << package_path << ", " << ec.message(); - return false; - } - if (canonical_path.string() != package_path) { - LOG(ERROR) << "Installation aborts. The canonical path " << canonical_path.string() - << " doesn't equal the original path " << package_path; - return false; - } - - constexpr const char* CACHE_ROOT = "/cache"; - if (android::base::StartsWith(package_path, CACHE_ROOT)) { - *should_use_fuse = false; - } - return true; -} diff --git a/recovery.cpp b/recovery.cpp index 9747aae82..e4b8e45fb 100644 --- a/recovery.cpp +++ b/recovery.cpp @@ -687,11 +687,7 @@ Device::BuiltinAction start_recovery(Device* device, const std::vector& file_map, int fd, @@ -514,30 +513,3 @@ TEST(InstallTest, CheckPackageMetadata_ab_post_timestamp) { "\n"); TestCheckPackageMetadata(metadata, OtaType::AB, true); } - -TEST(InstallTest, SetupPackageMount_package_path) { - load_volume_table(); - bool install_with_fuse; - - // Setup should fail if the input path doesn't exist. - ASSERT_FALSE(SetupPackageMount("/does_not_exist", &install_with_fuse)); - - // Package should be installed with fuse if it's not in /cache. - TemporaryDir temp_dir; - TemporaryFile update_package(temp_dir.path); - ASSERT_TRUE(SetupPackageMount(update_package.path, &install_with_fuse)); - ASSERT_TRUE(install_with_fuse); - - // Setup should fail if the input path isn't canonicalized. - std::string uncanonical_package_path = android::base::Join( - std::vector{ - temp_dir.path, - "..", - android::base::Basename(temp_dir.path), - android::base::Basename(update_package.path), - }, - '/'); - - ASSERT_EQ(0, access(uncanonical_package_path.c_str(), R_OK)); - ASSERT_FALSE(SetupPackageMount(uncanonical_package_path, &install_with_fuse)); -} -- cgit v1.2.3