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
diff --git a/Android.bp b/Android.bp
index 6c04504..9ad961d 100644
--- a/Android.bp
+++ b/Android.bp
@@ -61,22 +61,6 @@
}
cc_library_static {
- name: "libmounts",
-
- defaults: [
- "recovery_defaults",
- ],
-
- srcs: [
- "mounts.cpp",
- ],
-
- static_libs: [
- "libbase",
- ],
-}
-
-cc_library_static {
name: "libverifier",
defaults: [
diff --git a/Android.mk b/Android.mk
index eef4a02..f2fa6fb 100644
--- a/Android.mk
+++ b/Android.mk
@@ -162,7 +162,6 @@
libsparse \
libziparchive \
libotautil \
- libmounts \
libminadbd \
libasyncio \
libfusesideload \
diff --git a/otautil/Android.bp b/otautil/Android.bp
index 958f98b..45d119c 100644
--- a/otautil/Android.bp
+++ b/otautil/Android.bp
@@ -21,6 +21,7 @@
"SysUtil.cpp",
"DirUtil.cpp",
"ThermalUtil.cpp",
+ "mounts.cpp",
"paths.cpp",
"rangeset.cpp",
],
@@ -39,4 +40,12 @@
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 0de1ebd..6786c8d 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 @@
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 60%
rename from mounts.cpp
rename to otautil/mounts.cpp
index 76fa657..951311b 100644
--- a/mounts.cpp
+++ b/otautil/mounts.cpp
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-#include "mounts.h"
+#include "otautil/mounts.h"
#include <errno.h>
#include <fcntl.h>
@@ -30,43 +30,43 @@
#include <android-base/logging.h>
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<MountedVolume*> g_mounts_state;
+static std::vector<MountedVolume*> 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 8907bbd..26ebf1f 100644
--- a/roots.cpp
+++ b/roots.cpp
@@ -39,7 +39,7 @@
#include <ext4_utils/wipe.h>
#include <fs_mgr.h>
-#include "mounts.h"
+#include "otautil/mounts.h"
static struct fstab* fstab = nullptr;
diff --git a/tests/Android.mk b/tests/Android.mk
index fd44978..538ae63 100644
--- a/tests/Android.mk
+++ b/tests/Android.mk
@@ -117,7 +117,6 @@
libbootloader_message \
libverifier \
libotautil \
- libmounts \
libupdate_verifier \
libdivsufsort \
libdivsufsort64 \
diff --git a/updater/Android.mk b/updater/Android.mk
index 6f334ee..4762664 100644
--- a/updater/Android.mk
+++ b/updater/Android.mk
@@ -24,14 +24,13 @@
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 @@
blockimg.cpp
LOCAL_C_INCLUDES := \
- $(LOCAL_PATH)/.. \
$(LOCAL_PATH)/include \
external/e2fsprogs/misc
@@ -87,7 +85,6 @@
updater.cpp
LOCAL_C_INCLUDES := \
- $(LOCAL_PATH)/.. \
$(LOCAL_PATH)/include
LOCAL_CFLAGS := \
diff --git a/updater/install.cpp b/updater/install.cpp
index 6732ab8..5623c33 100644
--- a/updater/install.cpp
+++ b/updater/install.cpp
@@ -57,10 +57,10 @@
#include <ziparchive/zip_archive.h>
#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"