From e40c80d021d667c1400b7a5d1f6d623b8450a47c Mon Sep 17 00:00:00 2001 From: Tianjie Xu Date: Sat, 3 Feb 2018 17:20:56 -0800 Subject: Skip the cache size check on host When running the update simulation, we choose to skip the cache size check for now due to the lack of "/cache" on host. And in later cls we can implement a cache size estimator to make the check more constrained. Also build the host version of support libraries. Test: unit test pass Change-Id: I3ed93c857fd02f7b62f5baba9130f75c3236e717 --- applypatch/Android.bp | 2 ++ applypatch/applypatch.cpp | 5 ++--- applypatch/freecache.cpp | 6 ++++++ otafault/Android.bp | 2 ++ 4 files changed, 12 insertions(+), 3 deletions(-) diff --git a/applypatch/Android.bp b/applypatch/Android.bp index b37614072..d3efa152b 100644 --- a/applypatch/Android.bp +++ b/applypatch/Android.bp @@ -30,6 +30,8 @@ cc_defaults { cc_library_static { name: "libapplypatch", + host_supported: true, + defaults: [ "applypatch_defaults", ], diff --git a/applypatch/applypatch.cpp b/applypatch/applypatch.cpp index 04b964b17..73701abc9 100644 --- a/applypatch/applypatch.cpp +++ b/applypatch/applypatch.cpp @@ -450,9 +450,8 @@ int CacheSizeCheck(size_t bytes) { if (MakeFreeSpaceOnCache(bytes) < 0) { printf("unable to make %zu bytes available on /cache\n", bytes); return 1; - } else { - return 0; } + return 0; } // This function applies binary patches to EMMC target files in a way that is safe (the original @@ -477,7 +476,7 @@ int CacheSizeCheck(size_t bytes) { // become obsolete since we have dropped the support for patching non-EMMC targets (EMMC targets // have the size embedded in the filename). int applypatch(const char* source_filename, const char* target_filename, - const char* target_sha1_str, size_t target_size __unused, + const char* target_sha1_str, size_t /* target_size */, const std::vector& patch_sha1_str, const std::vector>& patch_data, const Value* bonus_data) { printf("patch %s: ", source_filename); diff --git a/applypatch/freecache.cpp b/applypatch/freecache.cpp index 0a40baa97..ec1d20cec 100644 --- a/applypatch/freecache.cpp +++ b/applypatch/freecache.cpp @@ -111,6 +111,12 @@ static std::set FindExpendableFiles() { } int MakeFreeSpaceOnCache(size_t bytes_needed) { +#ifndef __ANDROID__ + // TODO (xunchang) implement a heuristic cache size check during host simulation. + printf("Skip making (%zu) bytes free space on cache; program is running on host\n", bytes_needed); + return 0; +#endif + size_t free_now = FreeSpaceForFile("/cache"); printf("%zu bytes free on /cache (%zu needed)\n", free_now, bytes_needed); diff --git a/otafault/Android.bp b/otafault/Android.bp index 91a5d9a54..30d561015 100644 --- a/otafault/Android.bp +++ b/otafault/Android.bp @@ -15,6 +15,8 @@ cc_library_static { name: "libotafault", + host_supported: true, + srcs: [ "config.cpp", "ota_io.cpp", -- cgit v1.2.3