From 9a319f01f8768a1342c3f1c684f04c112a51f45c Mon Sep 17 00:00:00 2001 From: Tao Bao Date: Thu, 4 Jan 2018 13:19:11 -0800 Subject: [PATCH] Merge libmounts into libotautil. Export its header (mounts.h) from there, and drop the dot dot dependency from libupdater / updater. Test: mmma bootable/recovery Test: recovery_component_test Change-Id: Ic26a6b9b78a34dbe1f178b138f3abaafffbec44c --- Android.bp | 16 ------ Android.mk | 1 - otautil/Android.bp | 9 +++ mounts.h => otautil/include/otautil/mounts.h | 5 +- mounts.cpp => otautil/mounts.cpp | 60 ++++++++++---------- roots.cpp | 2 +- tests/Android.mk | 1 - updater/Android.mk | 13 ++--- updater/install.cpp | 2 +- 9 files changed, 47 insertions(+), 62 deletions(-) rename mounts.h => otautil/include/otautil/mounts.h (94%) rename mounts.cpp => otautil/mounts.cpp (61%) diff --git a/Android.bp b/Android.bp index 6c04504e..9ad961d5 100644 --- a/Android.bp +++ b/Android.bp @@ -60,22 +60,6 @@ cc_library_static { ], } -cc_library_static { - name: "libmounts", - - defaults: [ - "recovery_defaults", - ], - - srcs: [ - "mounts.cpp", - ], - - static_libs: [ - "libbase", - ], -} - cc_library_static { name: "libverifier", diff --git a/Android.mk b/Android.mk index eef4a020..f2fa6fb3 100644 --- a/Android.mk +++ b/Android.mk @@ -162,7 +162,6 @@ LOCAL_STATIC_LIBRARIES := \ libsparse \ libziparchive \ libotautil \ - libmounts \ libminadbd \ libasyncio \ libfusesideload \ diff --git a/otautil/Android.bp b/otautil/Android.bp index 958f98b7..45d119cb 100644 --- a/otautil/Android.bp +++ b/otautil/Android.bp @@ -21,6 +21,7 @@ cc_library_static { "SysUtil.cpp", "DirUtil.cpp", "ThermalUtil.cpp", + "mounts.cpp", "paths.cpp", "rangeset.cpp", ], @@ -39,4 +40,12 @@ cc_library_static { export_include_dirs: [ "include", ], + + target: { + darwin: { + exclude_srcs: [ + "mounts.cpp", + ], + }, + }, } diff --git a/mounts.h b/otautil/include/otautil/mounts.h similarity index 94% rename from mounts.h rename to otautil/include/otautil/mounts.h index 0de1ebd0..6786c8d2 100644 --- a/mounts.h +++ b/otautil/include/otautil/mounts.h @@ -14,8 +14,7 @@ * limitations under the License. */ -#ifndef MOUNTS_H_ -#define MOUNTS_H_ +#pragma once struct MountedVolume; @@ -24,5 +23,3 @@ bool scan_mounted_volumes(); MountedVolume* find_mounted_volume_by_mount_point(const char* mount_point); int unmount_mounted_volume(MountedVolume* volume); - -#endif diff --git a/mounts.cpp b/otautil/mounts.cpp similarity index 61% rename from mounts.cpp rename to otautil/mounts.cpp index 76fa6573..951311bf 100644 --- a/mounts.cpp +++ b/otautil/mounts.cpp @@ -14,7 +14,7 @@ * limitations under the License. */ -#include "mounts.h" +#include "otautil/mounts.h" #include #include @@ -30,43 +30,43 @@ #include struct MountedVolume { - std::string device; - std::string mount_point; - std::string filesystem; - std::string flags; + std::string device; + std::string mount_point; + std::string filesystem; + std::string flags; }; -std::vector g_mounts_state; +static std::vector g_mounts_state; bool scan_mounted_volumes() { - for (size_t i = 0; i < g_mounts_state.size(); ++i) { - delete g_mounts_state[i]; - } - g_mounts_state.clear(); + for (size_t i = 0; i < g_mounts_state.size(); ++i) { + delete g_mounts_state[i]; + } + g_mounts_state.clear(); - // Open and read mount table entries. - FILE* fp = setmntent("/proc/mounts", "re"); - if (fp == NULL) { - return false; - } - mntent* e; - while ((e = getmntent(fp)) != NULL) { - MountedVolume* v = new MountedVolume; - v->device = e->mnt_fsname; - v->mount_point = e->mnt_dir; - v->filesystem = e->mnt_type; - v->flags = e->mnt_opts; - g_mounts_state.push_back(v); - } - endmntent(fp); - return true; + // Open and read mount table entries. + FILE* fp = setmntent("/proc/mounts", "re"); + if (fp == NULL) { + return false; + } + mntent* e; + while ((e = getmntent(fp)) != NULL) { + MountedVolume* v = new MountedVolume; + v->device = e->mnt_fsname; + v->mount_point = e->mnt_dir; + v->filesystem = e->mnt_type; + v->flags = e->mnt_opts; + g_mounts_state.push_back(v); + } + endmntent(fp); + return true; } MountedVolume* find_mounted_volume_by_mount_point(const char* mount_point) { - for (size_t i = 0; i < g_mounts_state.size(); ++i) { - if (g_mounts_state[i]->mount_point == mount_point) return g_mounts_state[i]; - } - return nullptr; + for (size_t i = 0; i < g_mounts_state.size(); ++i) { + if (g_mounts_state[i]->mount_point == mount_point) return g_mounts_state[i]; + } + return nullptr; } int unmount_mounted_volume(MountedVolume* volume) { diff --git a/roots.cpp b/roots.cpp index 8907bbd9..26ebf1fb 100644 --- a/roots.cpp +++ b/roots.cpp @@ -39,7 +39,7 @@ #include #include -#include "mounts.h" +#include "otautil/mounts.h" static struct fstab* fstab = nullptr; diff --git a/tests/Android.mk b/tests/Android.mk index fd449785..538ae63e 100644 --- a/tests/Android.mk +++ b/tests/Android.mk @@ -117,7 +117,6 @@ LOCAL_STATIC_LIBRARIES := \ libbootloader_message \ libverifier \ libotautil \ - libmounts \ libupdate_verifier \ libdivsufsort \ libdivsufsort64 \ diff --git a/updater/Android.mk b/updater/Android.mk index 6f334ee1..47626640 100644 --- a/updater/Android.mk +++ b/updater/Android.mk @@ -24,14 +24,13 @@ tune2fs_static_libraries := \ updater_common_static_libraries := \ libapplypatch \ - libbspatch \ - libedify \ - libziparchive \ - libotautil \ libbootloader_message \ - libutils \ - libmounts \ + libedify \ libotafault \ + libotautil \ + libbspatch \ + libziparchive \ + libutils \ libext4_utils \ libfec \ libfec_rs \ @@ -61,7 +60,6 @@ LOCAL_SRC_FILES := \ blockimg.cpp LOCAL_C_INCLUDES := \ - $(LOCAL_PATH)/.. \ $(LOCAL_PATH)/include \ external/e2fsprogs/misc @@ -87,7 +85,6 @@ LOCAL_SRC_FILES := \ updater.cpp LOCAL_C_INCLUDES := \ - $(LOCAL_PATH)/.. \ $(LOCAL_PATH)/include LOCAL_CFLAGS := \ diff --git a/updater/install.cpp b/updater/install.cpp index 6732ab89..5623c337 100644 --- a/updater/install.cpp +++ b/updater/install.cpp @@ -57,10 +57,10 @@ #include #include "edify/expr.h" -#include "mounts.h" #include "otafault/ota_io.h" #include "otautil/DirUtil.h" #include "otautil/error_code.h" +#include "otautil/mounts.h" #include "otautil/print_sha1.h" #include "updater/updater.h"