tpk/wgt backend will run as system session 05/78205/9 accepted/tizen/common/20160812.140746 accepted/tizen/ivi/20160815.233253 accepted/tizen/mobile/20160815.233136 accepted/tizen/tv/20160815.233211 accepted/tizen/wearable/20160815.233233 submit/tizen/20160811.013634 submit/tizen/20160811.062803 submit/tizen/20160812.053402
authorJunghyun Yeon <jungh.yeon@samsung.com>
Mon, 4 Jul 2016 12:33:52 +0000 (21:33 +0900)
committerJunghyun Yeon <jungh.yeon@samsung.com>
Tue, 9 Aug 2016 11:05:55 +0000 (04:05 -0700)
Related changes
[slp-pkgmgr] https://review.tizen.org/gerrit/#/c/80764/
[app-installers] https://review.tizen.org/gerrit/#/c/78206/
[tpk-backend] https://review.tizen.org/gerrit/#/c/80787/
[wgt-backend] https://review.tizen.org/gerrit/#/c/81099/

Change-Id: Ifcbe6b0ceeb038d166ca924a576197299bcad8d9
Signed-off-by: Junghyun Yeon <jungh.yeon@samsung.com>
src/pkgmgr-server.c

index b727ac8..69a6623 100644 (file)
@@ -53,6 +53,8 @@
 
 #define OWNER_ROOT 0
 #define GLOBAL_USER tzplatform_getuid(TZ_SYS_GLOBALAPP_USER)
+#define APPFW_UID 301
+
 
 #define EXT_STORAGE_GROUP 10001
 #define EXT_STORAGE_APPDATA_GROUP 10002
@@ -719,7 +721,7 @@ static int __fork_and_exec_with_args(char **argv, uid_t uid)
 
        user_context = get_user_context(uid);
        if (!user_context) {
-               DBG("Failed to getenv for the user : %d", uid);
+               DBG("Failed to getenv");
                return -1;
        }
 
@@ -801,12 +803,12 @@ static int __process_install(pm_dbus_msg *item)
        if (backend_cmd == NULL)
                return -1;
 
-       snprintf(args, sizeof(args), "%s -k %s -i %s %s", backend_cmd,
-                       item->req_id, item->pkgid, item->args);
+       snprintf(args, sizeof(args), "%s -k %s -i %s -u %d %s", backend_cmd,
+                       item->req_id, item->pkgid, (int)item->uid, item->args);
 
        argv = __generate_argv(args);
 
-       pid = __fork_and_exec_with_args(argv, item->uid);
+       pid = __fork_and_exec_with_args(argv, APPFW_UID);
        g_strfreev(argv);
        free(backend_cmd);
 
@@ -824,12 +826,12 @@ static int __process_mount_install(pm_dbus_msg *item)
        if (backend_cmd == NULL)
                return -1;
 
-       snprintf(args, sizeof(args), "%s -k %s -w %s %s", backend_cmd,
-                                        item->req_id, item->pkgid, item->args);
+       snprintf(args, sizeof(args), "%s -k %s -w %s -u %d %s", backend_cmd,
+                                        item->req_id, item->pkgid, (int)item->uid, item->args);
 
        argv = __generate_argv(args);
 
-       pid = __fork_and_exec_with_args(argv, item->uid);
+       pid = __fork_and_exec_with_args(argv, APPFW_UID);
        g_strfreev(argv);
        free(backend_cmd);
 
@@ -847,11 +849,11 @@ static int __process_reinstall(pm_dbus_msg *item)
        if (backend_cmd == NULL)
                return -1;
 
-       snprintf(args, sizeof(args), "%s -k %s -r %s", backend_cmd,
-                       item->req_id, item->pkgid);
+       snprintf(args, sizeof(args), "%s -k %s -r %s -u %d", backend_cmd,
+                       item->req_id, item->pkgid, (int)item->uid);
        argv = __generate_argv(args);
 
-       pid = __fork_and_exec_with_args(argv, item->uid);
+       pid = __fork_and_exec_with_args(argv, APPFW_UID);
 
        g_strfreev(argv);
        free(backend_cmd);
@@ -870,11 +872,11 @@ static int __process_uninstall(pm_dbus_msg *item)
        if (backend_cmd == NULL)
                return -1;
 
-       snprintf(args, sizeof(args), "%s -k %s -d %s", backend_cmd,
-                       item->req_id, item->pkgid);
+       snprintf(args, sizeof(args), "%s -k %s -d %s -u %d", backend_cmd,
+                       item->req_id, item->pkgid, (int)item->uid);
        argv = __generate_argv(args);
 
-       pid = __fork_and_exec_with_args(argv, item->uid);
+       pid = __fork_and_exec_with_args(argv, APPFW_UID);
 
        g_strfreev(argv);
        free(backend_cmd);
@@ -893,11 +895,11 @@ static int __process_move(pm_dbus_msg *item)
        if (backend_cmd == NULL)
                return -1;
 
-       snprintf(args, sizeof(args), "%s -k %s -m %s -t %s", backend_cmd,
-                       item->req_id, item->pkgid, item->args);
+       snprintf(args, sizeof(args), "%s -k %s -m %s -u %d -t %s", backend_cmd,
+                       item->req_id, item->pkgid, (int)item->uid, item->args);
        argv = __generate_argv(args);
 
-       pid = __fork_and_exec_with_args(argv, item->uid);
+       pid = __fork_and_exec_with_args(argv, APPFW_UID);
 
        g_strfreev(argv);
        free(backend_cmd);
@@ -916,11 +918,11 @@ static int __process_enable_pkg(pm_dbus_msg *item)
        if (backend_cmd == NULL)
                return -1;
 
-       snprintf(args, sizeof(args), "%s -k %s -A %s", backend_cmd,
-                       item->req_id, item->pkgid);
+       snprintf(args, sizeof(args), "%s -k %s -u %d -A %s", backend_cmd,
+                       item->req_id, (int)item->uid, item->pkgid);
        argv = __generate_argv(args);
 
-       pid = __fork_and_exec_with_args(argv, item->uid);
+       pid = __fork_and_exec_with_args(argv, APPFW_UID);
 
        g_strfreev(argv);
        free(backend_cmd);
@@ -939,11 +941,11 @@ static int __process_disable_pkg(pm_dbus_msg *item)
        if (backend_cmd == NULL)
                return -1;
 
-       snprintf(args, sizeof(args), "%s -k %s -D %s", backend_cmd,
-                       item->req_id, item->pkgid);
+       snprintf(args, sizeof(args), "%s -k %s -u %d -D %s", backend_cmd,
+                       item->req_id, (int)item->uid, item->pkgid);
        argv = __generate_argv(args);
 
-       pid = __fork_and_exec_with_args(argv, item->uid);
+       pid = __fork_and_exec_with_args(argv, APPFW_UID);
 
        g_strfreev(argv);
        free(backend_cmd);
@@ -1116,11 +1118,11 @@ static int __process_cleardata(pm_dbus_msg *item)
                return -1;
 
        /* TODO: set movetype */
-       snprintf(args, sizeof(args), "%s -k %s -c %s", backend_cmd,
-                       item->req_id, item->pkgid);
+       snprintf(args, sizeof(args), "%s -k %s -c %s -u %d", backend_cmd,
+                       item->req_id, item->pkgid, (int)item->uid);
        argv = __generate_argv(args);
 
-       pid = __fork_and_exec_with_args(argv, item->uid);
+       pid = __fork_and_exec_with_args(argv, APPFW_UID);
 
        g_strfreev(argv);
        free(backend_cmd);