X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=parser%2Fpkgmgr_parser_db.c;h=1a4a0bd646f92569335db4e9705002565f72d94a;hb=9a03c9ee5c0e091f449d5105ea56ce4345a11d1b;hp=8632c8d5fac759ee66401b2fa31bbfe8ea4cbaa2;hpb=f31d568517f93f9a3747f06374ff793e65837b5f;p=platform%2Fcore%2Fappfw%2Fpkgmgr-info.git diff --git a/parser/pkgmgr_parser_db.c b/parser/pkgmgr_parser_db.c index 8632c8d..1a4a0bd 100644 --- a/parser/pkgmgr_parser_db.c +++ b/parser/pkgmgr_parser_db.c @@ -68,6 +68,7 @@ sqlite3 *pkgmgr_cert_db; "(package text primary key not null, " \ "package_type text DEFAULT 'rpm', " \ "package_version text, " \ + "package_api_version text, " \ "install_location text, " \ "package_size text, " \ "package_removable text DEFAULT 'true', " \ @@ -315,7 +316,7 @@ static int __delete_subpkg_list_cb(void *data, int ncols, char **coltxt, char ** return 0; } -static char *__get_str(const char *str) +static const char *__get_str(const char *str) { if (str == NULL) { @@ -497,11 +498,6 @@ static GList *__create_image_list(GList *locale, image_x *image) return locale; } -static void __printfunc(gpointer data, gpointer userdata) -{ - _LOGD("%s ", (char*)data); -} - static void __trimfunc(GList* trim_list) { char *trim_data = NULL; @@ -1529,14 +1525,10 @@ static int __insert_manifest_info_in_db(manifest_x *mfx, uid_t uid) privileges_x *pvs = NULL; privilege_x *pv = NULL; char query[MAX_QUERY_LEN] = { '\0' }; - char root[MAX_QUERY_LEN] = { '\0' }; int ret = -1; - char *type = NULL; - char *path = NULL; const char *auth_name = NULL; const char *auth_email = NULL; const char *auth_href = NULL; - const char *apps_path = NULL; GList *pkglocale = NULL; GList *applocale = NULL; @@ -1567,31 +1559,15 @@ static int __insert_manifest_info_in_db(manifest_x *mfx, uid_t uid) } /*Insert in the package_info DB*/ - if (mfx->type) - type = strdup(mfx->type); - else - type = strdup("rpm"); - /*Insert in the package_info DB*/ - if (mfx->root_path) - path = strdup(mfx->root_path); - else{ - if (strcmp(type,"rpm")==0) { - apps_path = tzplatform_getenv(TZ_SYS_RO_APP); - snprintf(root, MAX_QUERY_LEN - 1, "%s/%s", apps_path, mfx->package); - } else { - apps_path = tzplatform_getenv(TZ_USER_APP); - snprintf(root, MAX_QUERY_LEN - 1, "%s/%s", apps_path, mfx->package); - } - path = strdup(root); - } snprintf(query, MAX_QUERY_LEN, - "insert into package_info(package, package_type, package_version, install_location, package_size, " \ + "insert into package_info(package, package_type, package_version, package_api_version, install_location, package_size, " \ "package_removable, package_preload, package_readonly, package_update, package_appsetting, package_nodisplay, package_system," \ "author_name, author_email, author_href, installed_time, installed_storage, storeclient_id, mainapp_id, package_url, root_path, csc_path) " \ - "values('%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s')",\ + "values('%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s')",\ mfx->package, - type, + mfx->type, mfx->version, + __get_str(mfx->api_version), __get_str(mfx->installlocation), __get_str(mfx->package_size), mfx->removable, @@ -1609,43 +1585,13 @@ static int __insert_manifest_info_in_db(manifest_x *mfx, uid_t uid) __get_str(mfx->storeclient_id), mfx->mainapp_id, __get_str(mfx->package_url), - path, + mfx->root_path, __get_str(mfx->csc_path)); - /*If package dont have main_package tag, this package is main package.*/ - if (mfx->main_package == NULL) { - ret = __exec_query(query); - if (ret == -1) { - _LOGD("Package Info DB Insert Failed\n"); - if (type) { - free(type); - type = NULL; - } - if (path) { - free(path); - path = NULL; - } - return -1; - } - } else { - /*If package has main_package tag, this package is sub package(ug, efl). - skip __exec_query for package_info and change pkgid with main_package*/ - memset(root, '\0', MAX_QUERY_LEN); - snprintf(root, MAX_QUERY_LEN - 1, "/usr/apps/%s", mfx->main_package); - if (access(root, F_OK) == 0) { - free((void *)mfx->package); - mfx->package = strdup(mfx->main_package); - } else { - _LOGE("main package[%s] is not installed\n", root); - return -1; - } - } - if (type) { - free(type); - type = NULL; - } - if (path) { - free(path); - path = NULL; + + ret = __exec_query(query); + if (ret == -1) { + _LOGD("Package Info DB Insert Failed\n"); + return -1; } /*Insert in the package_privilege_info DB*/ @@ -1711,13 +1657,7 @@ static int __insert_manifest_info_in_db(manifest_x *mfx, uid_t uid) /*remove duplicated data in appimage*/ __trimfunc(appimage); - /*g_list_foreach(pkglocale, __printfunc, NULL);*/ - /*_LOGD("\n");*/ - /*g_list_foreach(applocale, __printfunc, NULL);*/ - - /*package locale info, it is only for main package.*/ - if (mfx->main_package == NULL) - g_list_foreach(pkglocale, __insert_pkglocale_info, (gpointer)mfx); + g_list_foreach(pkglocale, __insert_pkglocale_info, (gpointer)mfx); /*native app locale info*/ up = mfx->uiapplication; @@ -2266,7 +2206,7 @@ API int pkgmgr_parser_check_and_create_db(uid_t uid) return 0; } -void pkgmgr_parser_close_db() +void pkgmgr_parser_close_db(void) { sqlite3_close(pkgmgr_parser_db); sqlite3_close(pkgmgr_cert_db);