if (backend_cmd == NULL)
return -1;
- snprintf(args, sizeof(args), "%s -k %s -i %s -u %d %s", backend_cmd,
+ snprintf(args, sizeof(args), "%s -k \"%s\" -i \"%s\" -u %d %s", backend_cmd,
job->req_id, job->pkgid, (int)job->target_uid, job->args);
argv = __generate_argv(args);
if (backend_cmd == NULL)
return -1;
- snprintf(args, sizeof(args), "%s -k %s -w %s -u %d %s", backend_cmd,
+ snprintf(args, sizeof(args), "%s -k \"%s\" -w \"%s\" -u %d %s", backend_cmd,
job->req_id, job->pkgid, (int)job->target_uid, job->args);
argv = __generate_argv(args);
if (backend_cmd == NULL)
return -1;
- snprintf(args, sizeof(args), "%s -k %s -r %s -u %d", backend_cmd,
+ snprintf(args, sizeof(args), "%s -k \"%s\" -r \"%s\" -u %d", backend_cmd,
job->req_id, job->pkgid, (int)job->target_uid);
argv = __generate_argv(args);
if (ret != PMINFO_R_OK || strlen(job->appid) == 0) {
_send_app_signal(job->target_uid, job->req_id, job->pkgid, job->pkgid,
PKGMGR_INSTALLER_START_KEY_STR,
- PKGMGR_INSTALLER_GLOBAL_APP_ENABLE_FOR_UID,
+ PKGMGR_INSTALLER_APP_ENABLE_EVENT_STR,
job->req_type);
_send_app_signal(job->target_uid, job->req_id, job->pkgid, job->pkgid,
PKGMGR_INSTALLER_END_KEY_STR,
_send_app_signal(job->target_uid, job->req_id, job->pkgid, job->appid,
PKGMGR_INSTALLER_START_KEY_STR,
- PKGMGR_INSTALLER_GLOBAL_APP_ENABLE_FOR_UID,
+ PKGMGR_INSTALLER_APP_ENABLE_EVENT_STR,
job->req_type);
ret = pkgmgr_parser_update_global_app_disable_for_uid_info_in_db(
_send_app_signal(job->target_uid, job->req_id,
job->pkgid, job->pkgid,
PKGMGR_INSTALLER_START_KEY_STR,
- PKGMGR_INSTALLER_GLOBAL_APP_DISABLE_FOR_UID,
+ PKGMGR_INSTALLER_APP_DISABLE_EVENT_STR,
job->req_type);
_send_app_signal(job->target_uid, job->req_id, job->pkgid, job->pkgid,
PKGMGR_INSTALLER_END_KEY_STR,
_send_app_signal(job->target_uid, job->req_id,
job->pkgid, job->appid,
PKGMGR_INSTALLER_START_KEY_STR,
- PKGMGR_INSTALLER_GLOBAL_APP_DISABLE_FOR_UID,
+ PKGMGR_INSTALLER_APP_DISABLE_EVENT_STR,
job->req_type);
ret = __kill_app(job->appid, job->target_uid);
if ((int)job->target_uid < REGULAR_USER)
return -1;
- snprintf(args, sizeof(args), "%s -d %s", backend_cmd, job->pkgid);
+ snprintf(args, sizeof(args), "%s -d -n %s -u %d",
+ backend_cmd, job->pkgid, job->target_uid);
argv = __generate_argv(args);
- pid = __fork_and_exec_with_args(argv, job->target_uid);
+ pid = __fork_and_exec_with_args(argv, APPFW_UID);
g_strfreev(argv);
return pid;
if ((int)job->target_uid < REGULAR_USER)
return -1;
- snprintf(args, sizeof(args), "%s -c %s", backend_cmd, job->pkgid);
+ snprintf(args, sizeof(args), "%s -c -n %s -u %d",
+ backend_cmd, job->pkgid, job->target_uid);
argv = __generate_argv(args);
- pid = __fork_and_exec_with_args(argv, job->target_uid);
+ pid = __fork_and_exec_with_args(argv, APPFW_UID);
g_strfreev(argv);
return pid;
return ret;
}
+static int __process_migrate_external_image(struct backend_job *job)
+{
+ char *backend_cmd;
+ char **argv;
+ char args[MAX_PKG_ARGS_LEN];
+ int pid;
+
+ backend_cmd = job->backend_path;
+ if (backend_cmd == NULL)
+ return -1;
+
+ snprintf(args, sizeof(args), "%s -k %s --migrate-extimg %s -u %d %s",
+ backend_cmd, job->req_id, job->pkgid,
+ (int)job->target_uid, job->args);
+
+ argv = __generate_argv(args);
+
+ pid = __fork_and_exec_with_args(argv, APPFW_UID);
+ g_strfreev(argv);
+
+ return pid;
+}
+
static int __post_process(int ret, int x, struct backend_job *job)
{
if (ret < 0) {
/* all backend messages queue are empty or busy */
if (x == num_of_backends || job == NULL) {
- DBG("no job left");
+ DBG("no job available");
return FALSE;
}
ret = -1;
_send_fail_signal(job);
_free_backend_job(job);
- return FALSE;
+ return TRUE;
}
}
#endif
ret = __process_set_app_label(job);
_free_backend_job(job);
break;
+ case REQUEST_TYPE_MIGRATE_EXTERNAL_IMAGE:
+ __set_backend_busy(x);
+ ret = __process_migrate_external_image(job);
+ __post_process(ret, x, job);
+ break;
default:
ret = -1;
break;
}
- return FALSE;
+ return TRUE;
}
int main(int argc, char *argv[])