From 09c89672b6a5ed6e6b6fc3ad28ac309c7ff69170 Mon Sep 17 00:00:00 2001 From: Yifan Hong Date: Tue, 1 Aug 2017 16:33:11 -0700 Subject: [PATCH 1/2] Move android_filesystem_config.h => fs_config.h The non AID_ things in android_filesystem_config.h are moved to fs_config.h. For libcutils.vendor and libcutils_headers.vendor, fs_config.h is not exported. An empty system/core/include/private/fs_config.h is placed to appease the dependency from certain modules (logd, etc.) that includes system/core/include/private/android_filesystem_config.h directly. Test: m -j Test: BOARD_VNDK_VERSION=current m -j Bug: 63135587 Change-Id: I95dfb874a426941022b100c0ca26a0576b0f4aa3 Merged-In: I95dfb874a426941022b100c0ca26a0576b0f4aa3 --- include/private/fs_config.h | 4 ++ libcutils/canned_fs_config.c | 1 + .../cutils/android_filesystem_config.h | 1 + .../private/android_filesystem_config.h | 47 +------------------ libcutils/include/private/fs_config.h | 43 +++++++++++++++++ .../cutils/android_filesystem_config.h | 1 + 6 files changed, 52 insertions(+), 45 deletions(-) create mode 100644 include/private/fs_config.h create mode 120000 libcutils/include/cutils/android_filesystem_config.h create mode 120000 libcutils/include_vndk/cutils/android_filesystem_config.h diff --git a/include/private/fs_config.h b/include/private/fs_config.h new file mode 100644 index 000000000..e9868a41f --- /dev/null +++ b/include/private/fs_config.h @@ -0,0 +1,4 @@ +// TODO(b/63135587) remove this file after the transitive dependency +// from private/android_filesystem_config.h is resolved. All files that use +// libcutils/include/private/fs_config.h should include the file directly, not +// indirectly via private/android_filesystem_config.h. diff --git a/libcutils/canned_fs_config.c b/libcutils/canned_fs_config.c index 96ca566cd..819a846a6 100644 --- a/libcutils/canned_fs_config.c +++ b/libcutils/canned_fs_config.c @@ -23,6 +23,7 @@ #include #include +#include #include typedef struct { diff --git a/libcutils/include/cutils/android_filesystem_config.h b/libcutils/include/cutils/android_filesystem_config.h new file mode 120000 index 000000000..d2a92fefa --- /dev/null +++ b/libcutils/include/cutils/android_filesystem_config.h @@ -0,0 +1 @@ +../private/android_filesystem_config.h \ No newline at end of file diff --git a/libcutils/include/private/android_filesystem_config.h b/libcutils/include/private/android_filesystem_config.h index 02141d687..d4ba01963 100644 --- a/libcutils/include/private/android_filesystem_config.h +++ b/libcutils/include/private/android_filesystem_config.h @@ -14,11 +14,6 @@ * limitations under the License. */ -/* This file is used to define the properties of the filesystem -** images generated by build tools (mkbootfs and mkyaffs2image) and -** by the device side of adb. -*/ - /* * This file is consumed by build/tools/fs_config and is used * for generating various files. Anything #define AID_ @@ -49,18 +44,12 @@ #ifndef _ANDROID_FILESYSTEM_CONFIG_H_ #define _ANDROID_FILESYSTEM_CONFIG_H_ -#include -#include #include -#if defined(__BIONIC__) -#include -#else -#include "android_filesystem_capability.h" +#if !defined(__ANDROID_VNDK__) && !defined(EXCLUDE_FS_CONFIG_STRUCTURES) +#include #endif -#define CAP_MASK_LONG(cap_name) (1ULL << (cap_name)) - /* This is the master Users and Groups config for the platform. * DO NOT EVER RENUMBER */ @@ -193,36 +182,4 @@ * Also see build/tools/fs_config for more details. */ -#if !defined(EXCLUDE_FS_CONFIG_STRUCTURES) - -struct fs_path_config { - unsigned mode; - unsigned uid; - unsigned gid; - uint64_t capabilities; - const char* prefix; -}; - -/* Rules for directories and files has moved to system/code/libcutils/fs_config.c */ - -__BEGIN_DECLS - -/* - * Used in: - * build/tools/fs_config/fs_config.c - * build/tools/fs_get_stats/fs_get_stats.c - * system/extras/ext4_utils/make_ext4fs_main.c - * external/squashfs-tools/squashfs-tools/android.c - * system/core/cpio/mkbootfs.c - * system/core/adb/file_sync_service.cpp - * system/extras/ext4_utils/canned_fs_config.c - */ -void fs_config(const char* path, int dir, const char* target_out_path, unsigned* uid, unsigned* gid, - unsigned* mode, uint64_t* capabilities); - -ssize_t fs_config_generate(char* buffer, size_t length, const struct fs_path_config* pc); - -__END_DECLS - -#endif #endif diff --git a/libcutils/include/private/fs_config.h b/libcutils/include/private/fs_config.h index 7dad668aa..aab504281 100644 --- a/libcutils/include/private/fs_config.h +++ b/libcutils/include/private/fs_config.h @@ -14,10 +14,24 @@ * limitations under the License. */ +/* This file is used to define the properties of the filesystem +** images generated by build tools (mkbootfs and mkyaffs2image) and +** by the device side of adb. +*/ + #ifndef _LIBS_CUTILS_PRIVATE_FS_CONFIG_H #define _LIBS_CUTILS_PRIVATE_FS_CONFIG_H #include +#include + +#if defined(__BIONIC__) +#include +#else // defined(__BIONIC__) +#include "android_filesystem_capability.h" +#endif // defined(__BIONIC__) + +#define CAP_MASK_LONG(cap_name) (1ULL << (cap_name)) /* * binary format for the runtime /etc/fs_config_(dirs|files) @@ -34,4 +48,33 @@ struct fs_path_config_from_file { char prefix[]; } __attribute__((__aligned__(sizeof(uint64_t)))); +struct fs_path_config { + unsigned mode; + unsigned uid; + unsigned gid; + uint64_t capabilities; + const char* prefix; +}; + +/* Rules for directories and files has moved to system/code/libcutils/fs_config.c */ + +__BEGIN_DECLS + +/* + * Used in: + * build/tools/fs_config/fs_config.c + * build/tools/fs_get_stats/fs_get_stats.c + * system/extras/ext4_utils/make_ext4fs_main.c + * external/squashfs-tools/squashfs-tools/android.c + * system/core/cpio/mkbootfs.c + * system/core/adb/file_sync_service.cpp + * system/extras/ext4_utils/canned_fs_config.c + */ +void fs_config(const char* path, int dir, const char* target_out_path, unsigned* uid, unsigned* gid, + unsigned* mode, uint64_t* capabilities); + +ssize_t fs_config_generate(char* buffer, size_t length, const struct fs_path_config* pc); + +__END_DECLS + #endif /* _LIBS_CUTILS_PRIVATE_FS_CONFIG_H */ diff --git a/libcutils/include_vndk/cutils/android_filesystem_config.h b/libcutils/include_vndk/cutils/android_filesystem_config.h new file mode 120000 index 000000000..13a5a08ef --- /dev/null +++ b/libcutils/include_vndk/cutils/android_filesystem_config.h @@ -0,0 +1 @@ +../../include/private/android_filesystem_config.h \ No newline at end of file From b6807125df696e21a8f37ca7bad24fcd85a523b8 Mon Sep 17 00:00:00 2001 From: Yifan Hong Date: Tue, 25 Jul 2017 15:24:04 -0700 Subject: [PATCH 2/2] Remove private headers from libcutils.vendor Bug: 63135587 Test: m -j Test: BOARD_VNDK_VERSION=current m -j Test: mma -j Test: BOARD_VNDK_VERSION=current mma -j Change-Id: I9eecf23c4c311bd8336a5bfaaeb2afb3b51c6513 Merged-In: I9eecf23c4c311bd8336a5bfaaeb2afb3b51c6513 --- libcutils/Android.bp | 1 + libcutils/include_vndk/private | 1 - 2 files changed, 1 insertion(+), 1 deletion(-) delete mode 120000 libcutils/include_vndk/private diff --git a/libcutils/Android.bp b/libcutils/Android.bp index 85258cdda..8528a4bd1 100644 --- a/libcutils/Android.bp +++ b/libcutils/Android.bp @@ -150,6 +150,7 @@ cc_library { "libutils_headers", ], export_header_lib_headers: ["libcutils_headers"], + local_include_dirs: ["include"], cflags: [ "-Werror", diff --git a/libcutils/include_vndk/private b/libcutils/include_vndk/private deleted file mode 120000 index 2245a855e..000000000 --- a/libcutils/include_vndk/private +++ /dev/null @@ -1 +0,0 @@ -../include/private \ No newline at end of file