e363724230
New "mvuserdata" command will move all private app data from one volume UUID to another. It leverages the existing "cp" toybox command to do the heavy lifting for all known users, preserving details like timestamps and permissions. It invokes restorecon() to correctly label the new location when the copy is finished. Changes installd to no longer drop capabilities, so we run as root again. This also allows us to exec "cp" with CAP_DAC_OVERRIDE and CAP_FOWNER still in effect. Bug: 19993667 Change-Id: I1f407a7c4a1af97ca5afc27b04eb16b4936cbdef
43 lines
913 B
Makefile
43 lines
913 B
Makefile
LOCAL_PATH := $(call my-dir)
|
|
|
|
common_src_files := commands.cpp utils.cpp
|
|
common_cflags := -Wall -Werror
|
|
|
|
#
|
|
# Static library used in testing and executable
|
|
#
|
|
|
|
include $(CLEAR_VARS)
|
|
LOCAL_MODULE := libinstalld
|
|
LOCAL_MODULE_TAGS := eng tests
|
|
LOCAL_SRC_FILES := $(common_src_files)
|
|
LOCAL_CFLAGS := $(common_cflags)
|
|
LOCAL_SHARED_LIBRARIES := \
|
|
libbase \
|
|
liblogwrap \
|
|
|
|
LOCAL_ADDITIONAL_DEPENDENCIES += $(LOCAL_PATH)/Android.mk
|
|
LOCAL_CLANG := true
|
|
include $(BUILD_STATIC_LIBRARY)
|
|
|
|
#
|
|
# Executable
|
|
#
|
|
|
|
include $(CLEAR_VARS)
|
|
LOCAL_MODULE := installd
|
|
LOCAL_MODULE_TAGS := optional
|
|
LOCAL_CFLAGS := $(common_cflags)
|
|
LOCAL_SRC_FILES := installd.cpp $(common_src_files)
|
|
LOCAL_SHARED_LIBRARIES := \
|
|
libbase \
|
|
libcutils \
|
|
liblog \
|
|
liblogwrap \
|
|
libselinux \
|
|
|
|
LOCAL_STATIC_LIBRARIES := libdiskusage
|
|
LOCAL_ADDITIONAL_DEPENDENCIES += $(LOCAL_PATH)/Android.mk
|
|
LOCAL_CLANG := true
|
|
include $(BUILD_EXECUTABLE)
|