Merge "Remove obsolete prunedexcache"
This commit is contained in:
commit
8c1642ad4e
@ -1531,50 +1531,3 @@ int restorecon_data(const char* pkgName, const char* seinfo, uid_t uid)
|
||||
return ret;
|
||||
}
|
||||
|
||||
static int prune_dex_exclusion_predicate(const char *file_name, const int is_dir)
|
||||
{
|
||||
// Exclude all directories. The top level command will be
|
||||
// given a list of ISA specific directories that are assumed
|
||||
// to be flat.
|
||||
if (is_dir) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
||||
// Don't exclude regular files that start with the list
|
||||
// of prefixes.
|
||||
static const char data_app_prefix[] = "data@app@";
|
||||
static const char data_priv_app_prefix[] = "data@priv-app@";
|
||||
if (!strncmp(file_name, data_app_prefix, sizeof(data_app_prefix) - 1) ||
|
||||
!strncmp(file_name, data_priv_app_prefix, sizeof(data_priv_app_prefix) - 1)) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
// Exclude all regular files that don't start with the prefix "data@app@" or
|
||||
// "data@priv-app@".
|
||||
return 1;
|
||||
}
|
||||
|
||||
int prune_dex_cache(const char* subdir) {
|
||||
// "." is handled as a special case, and refers to
|
||||
// DALVIK_CACHE_PREFIX (usually /data/dalvik-cache).
|
||||
const bool is_dalvik_cache_root = !strcmp(subdir, ".");
|
||||
|
||||
// Don't allow the path to contain "." or ".." except for the
|
||||
// special case above. This is much stricter than we need to be,
|
||||
// but there's no good reason to support them.
|
||||
if (strchr(subdir, '.' ) != NULL && !is_dalvik_cache_root) {
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (!is_dalvik_cache_root) {
|
||||
char full_path[PKG_PATH_MAX];
|
||||
snprintf(full_path, sizeof(full_path), "%s%s", DALVIK_CACHE_PREFIX, subdir);
|
||||
return delete_dir_contents(full_path, 0, &prune_dex_exclusion_predicate);
|
||||
}
|
||||
|
||||
|
||||
// When subdir == ".", clean the contents of the top level
|
||||
// dalvik-cache directory.
|
||||
return delete_dir_contents(DALVIK_CACHE_PREFIX, 0, &prune_dex_exclusion_predicate);
|
||||
}
|
||||
|
@ -140,12 +140,6 @@ static int do_restorecon_data(char **arg, char reply[REPLY_MAX] __attribute__((u
|
||||
/* pkgName, seinfo, uid*/
|
||||
}
|
||||
|
||||
static int do_prune_dex_cache(char **arg __attribute__((unused)),
|
||||
char reply[REPLY_MAX] __attribute__((unused)))
|
||||
{
|
||||
return prune_dex_cache(arg[0] /* subdirectory name */);
|
||||
}
|
||||
|
||||
static int do_patchoat(char **arg, char reply[REPLY_MAX]) {
|
||||
/* apk_path, uid, is_public, pkgname, instruction_set, vm_safe_mode, should_relocate */
|
||||
return dexopt(arg[0], atoi(arg[1]), atoi(arg[2]), arg[3], arg[4], 0, 1);
|
||||
@ -177,7 +171,6 @@ struct cmdinfo cmds[] = {
|
||||
{ "rmuser", 1, do_rm_user },
|
||||
{ "idmap", 3, do_idmap },
|
||||
{ "restorecondata", 3, do_restorecon_data },
|
||||
{ "prunedexcache", 1, do_prune_dex_cache },
|
||||
{ "patchoat", 5, do_patchoat },
|
||||
};
|
||||
|
||||
|
@ -220,4 +220,3 @@ int movefiles();
|
||||
int linklib(const char* target, const char* source, int userId);
|
||||
int idmap(const char *target_path, const char *overlay_path, uid_t uid);
|
||||
int restorecon_data();
|
||||
int prune_dex_cache(const char* subdir);
|
||||
|
Loading…
Reference in New Issue
Block a user