Remove old recovery behavior. 46/72146/4 accepted/tizen/common/20160602.140058 accepted/tizen/ivi/20160602.022859 accepted/tizen/mobile/20160602.023031 accepted/tizen/tv/20160602.022607 accepted/tizen/wearable/20160602.022746 submit/tizen/20160531.024853
authorjongmyeongko <jongmyeong.ko@samsung.com>
Tue, 31 May 2016 02:13:04 +0000 (11:13 +0900)
committerjongmyeong ko <jongmyeong.ko@samsung.com>
Wed, 1 Jun 2016 04:47:41 +0000 (21:47 -0700)
Instead, new operation is necessory.

The app-installer makes recovery file.
But, there is no trigger operation to do \
a recovery using this file, actually.
So, we should implement this trigger operation in somewhere.

Change-Id: If91207538c8447d0c968b9506cc161fba7d2f0b7
Signed-off-by: jongmyeongko <jongmyeong.ko@samsung.com>
CMakeLists.txt
include/pm-queue.h
packaging/pkgmgr-server.spec
queue_status [deleted file]
src/pkgmgr-server.c
src/pm-queue.c

index 9b8829e..77121f2 100644 (file)
@@ -50,6 +50,5 @@ CONFIGURE_FILE(org.tizen.pkgmgr.service.in org.tizen.pkgmgr.service @ONLY)
 CONFIGURE_FILE(org.tizen.pkgmgr.conf.in org.tizen.pkgmgr.conf @ONLY)
 
 INSTALL(TARGETS ${PKGMGR_SERVER} DESTINATION bin)
-INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/queue_status DESTINATION ${SYSCONF_INSTALL_DIR}/package-manager/server/)
 INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/org.tizen.pkgmgr.service DESTINATION ${PREFIX}/share/dbus-1/system-services/)
 INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/org.tizen.pkgmgr.conf DESTINATION ${SYSCONF_INSTALL_DIR}/dbus-1/system.d/)
index 046edb9..eca0ce3 100644 (file)
@@ -29,9 +29,6 @@
 
 #include "pkgmgr-server.h"
 
-#define STATUS_FILE    "/etc/package-manager/server/queue_status"
-/* #define STATUS_FILE   "./queue_status" */
-
 typedef struct _pm_queue_data {
        pm_dbus_msg *msg;
        struct _pm_queue_data *next;
@@ -54,7 +51,6 @@ pm_dbus_msg *_pm_queue_pop(int position);
 void _pm_queue_final();
 void _pm_queue_delete(pm_dbus_msg *item);
 pm_queue_data *_add_node();
-void _save_queue_status(pm_dbus_msg *item, char *status);
 void _print_queue(int position);
 
 #endif                         /* _PM_QUEUE_H_ */
index 4ea86ec..54164b7 100644 (file)
@@ -64,5 +64,4 @@ mkdir -p %{buildroot}%{_sysconfdir}/package-manager/server
 %config %{_sysconfdir}/dbus-1/system.d/org.tizen.pkgmgr.conf
 %{_bindir}/pkgmgr-server
 %{_sysconfdir}/package-manager/server
-%exclude %{_sysconfdir}/package-manager/server/queue_status
 /usr/share/license/%{name}
diff --git a/queue_status b/queue_status
deleted file mode 100644 (file)
index 5baa80c..0000000
+++ /dev/null
@@ -1 +0,0 @@
-This file is for creating required directory.
index dadac26..12ac2db 100644 (file)
@@ -123,90 +123,6 @@ static void __set_backend_free(int position)
        backend_busy = backend_busy & ~(1<<position);
 }
 
-static int __is_global(uid_t uid)
-{
-       return (uid == OWNER_ROOT || uid == GLOBAL_USER) ? 1 : 0;
-}
-
-static const char *__get_recovery_file_path(uid_t uid)
-{
-       const char *path;
-
-       if (!__is_global(uid))
-               tzplatform_set_user(uid);
-
-       path = tzplatform_getenv(__is_global(uid)
-                       ? TZ_SYS_RW_PACKAGES : TZ_USER_PACKAGES);
-
-       tzplatform_reset_user();
-
-       return path;
-}
-
-static void __set_recovery_mode(uid_t uid, char *pkgid, char *pkg_type)
-{
-       char recovery_file[MAX_PKG_NAME_LEN] = { 0, };
-       char buffer[MAX_PKG_NAME_LEN] = { 0 };
-       char *pkgid_tmp = NULL;
-       FILE *rev_file = NULL;
-
-       if (pkgid == NULL) {
-               DBG("pkgid is null\n");
-               return;
-       }
-
-       /*if pkgid has a "/"charactor, that is a path name for installation, then extract pkgid from absolute path*/
-       if (strstr(pkgid, "/")) {
-               pkgid_tmp = strrchr(pkgid, '/') + 1;
-               if (pkgid_tmp == NULL) {
-                       DBG("pkgid_tmp[%s] is null\n", pkgid);
-                       return;
-               }
-               snprintf(recovery_file, sizeof(recovery_file), "%s/%s", __get_recovery_file_path(uid), pkgid_tmp);
-       } else {
-               snprintf(recovery_file, sizeof(recovery_file), "%s/%s", __get_recovery_file_path(uid), pkgid);
-       }
-
-       rev_file = fopen(recovery_file, "w");
-       if (rev_file== NULL) {
-               DBG("rev_file[%s] is null\n", recovery_file);
-               return;
-       }
-
-       snprintf(buffer, MAX_PKG_NAME_LEN, "pkgid : %s\n", pkgid);
-       fwrite(buffer, sizeof(char), strlen(buffer), rev_file);
-
-       fclose(rev_file);
-}
-
-static void __unset_recovery_mode(uid_t uid, char *pkgid, char *pkg_type)
-{
-       int ret = -1;
-       char recovery_file[MAX_PKG_NAME_LEN] = { 0, };
-       char *pkgid_tmp = NULL;
-
-       if (pkgid == NULL) {
-               DBG("pkgid is null\n");
-               return;
-       }
-
-       /*if pkgid has a "/"charactor, that is a path name for installation, then extract pkgid from absolute path*/
-       if (strstr(pkgid, "/")) {
-               pkgid_tmp = strrchr(pkgid, '/') + 1;
-               if (pkgid_tmp == NULL) {
-                       DBG("pkgid_tmp[%s] is null\n", pkgid);
-                       return;
-               }
-               snprintf(recovery_file, sizeof(recovery_file), "%s/%s", __get_recovery_file_path(uid), pkgid_tmp);
-       } else {
-               snprintf(recovery_file, sizeof(recovery_file), "%s/%s", __get_recovery_file_path(uid), pkgid);
-       }
-
-       ret = remove(recovery_file);
-       if (ret < 0)
-               DBG("remove recovery_file[%s] fail\n", recovery_file);
-}
-
 static void __send_app_signal(uid_t uid, const char *req_id,
                const char *pkgid, const char *appid,
                const char *key, const char *val, int req_type)
@@ -311,7 +227,6 @@ static gboolean pipe_io_handler(GIOChannel *io, GIOCondition cond, gpointer data
        }
 
        __set_backend_free(x);
-       __unset_recovery_mode(ptr->uid, ptr->pkgid, ptr->pkgtype);
        if (WIFSIGNALED(info.status) || WEXITSTATUS(info.status)) {
                send_fail_signal(ptr->pkgid, ptr->pkgtype, ptr->args);
                DBG("backend[%s] exit with error", ptr->pkgtype);
@@ -1396,27 +1311,22 @@ gboolean queue_job(void *data)
        switch (item->req_type) {
        case PKGMGR_REQUEST_TYPE_INSTALL:
                __set_backend_busy(x);
-               __set_recovery_mode(item->uid, item->pkgid, item->pkg_type);
                ret = __process_install(item);
                break;
        case PKGMGR_REQUEST_TYPE_MOUNT_INSTALL:
                __set_backend_busy(x);
-               __set_recovery_mode(item->uid, item->pkgid, item->pkg_type);
                ret = __process_mount_install(item);
                break;
        case PKGMGR_REQUEST_TYPE_REINSTALL:
                __set_backend_busy(x);
-               __set_recovery_mode(item->uid, item->pkgid, item->pkg_type);
                ret = __process_reinstall(item);
                break;
        case PKGMGR_REQUEST_TYPE_UNINSTALL:
                __set_backend_busy(x);
-               __set_recovery_mode(item->uid, item->pkgid, item->pkg_type);
                ret = __process_uninstall(item);
                break;
        case PKGMGR_REQUEST_TYPE_MOVE:
                __set_backend_busy(x);
-               __set_recovery_mode(item->uid, item->pkgid, item->pkg_type);
                ret = __process_move(item);
                break;
        case PKGMGR_REQUEST_TYPE_ENABLE_PKG:
@@ -1565,60 +1475,10 @@ char *_get_backend_cmd(char *type)
 
 int main(int argc, char *argv[])
 {
-       FILE *fp_status = NULL;
-       char buf[32] = { 0, };
-       pid_t pid;
-       char *backend_cmd = NULL;
-       char *backend_name = NULL;
        int r;
 
        DBG("server start");
 
-       if (argv[1] && (strcmp(argv[1], "init") == 0)) {
-               /* if current status is "processing",
-                  execute related backend with '-r' option */
-               if (!(fp_status = fopen(STATUS_FILE, "r")))
-                       return 0;       /*if file is not exist, terminated. */
-               /* if processing <-- unintended termination */
-               if (fgets(buf, 32, fp_status) &&
-                               strcmp(buf, "processing") == 0) {
-                       pid = fork();
-                       if (pid == 0) { /* child */
-                               if (fgets(buf, 32, fp_status))
-                                       backend_cmd = _get_backend_cmd(buf);
-                               if (!backend_cmd) {     /* if NULL, */
-                                       DBG("fail to get backend command");
-                                       goto err;
-                               }
-                               backend_name =
-                                       strrchr(backend_cmd, '/');
-                               if (!backend_name) {
-                                       DBG("fail to get backend name");
-                                       goto err;
-                               }
-
-                               execl(backend_cmd, backend_name, "-r",
-                                               NULL);
-                               if (backend_cmd)
-                                       free(backend_cmd);
-                               fprintf(fp_status, " ");
-err:
-                               fclose(fp_status);
-                               exit(13);
-                       } else if (pid < 0) {   /* error */
-                               DBG("fork fail");
-                               fclose(fp_status);
-                               return 0;
-                       } else {        /* parent */
-
-                               DBG("parent end\n");
-                               fprintf(fp_status, " ");
-                               fclose(fp_status);
-                               return 0;
-                       }
-               }
-       }
-
        r = _pm_queue_init();
        if (r) {
                DBG("Queue Initialization Failed\n");
index 53aa25c..496fdbb 100644 (file)
@@ -481,24 +481,6 @@ void _pm_queue_delete(pm_dbus_msg *item)
        }
 }
 
-void _save_queue_status(pm_dbus_msg *item, char *status)
-{
-       FILE *fp_status = NULL;
-
-       fp_status = fopen(STATUS_FILE, "w");    /* overwrite always */
-       if (!fp_status) {
-               ERR("Can't open status file:%s", STATUS_FILE);
-               return;
-       }
-
-       fprintf(fp_status, "%s\n", status);
-       fprintf(fp_status, "%s\n", item->pkg_type);
-
-       fsync(fileno(fp_status));
-
-       fclose(fp_status);
-}
-
 void _print_queue(int position)
 {
        pm_queue_data *cur = NULL;