return NULL;
}
+static GList * __rpm_move_dir_list()
+{
+ GList *dir_list = NULL;
+ GList *list = NULL;
+ app2ext_dir_details* dir_detail = NULL;
+ int i;
+ char pkg_ro_content_rpm[3][5] = { "bin", "res", };
+
+
+ for (i=0; i<3; i++) {
+ dir_detail = (app2ext_dir_details*) calloc(1, sizeof(app2ext_dir_details));
+ if (dir_detail == NULL) {
+ printf("\nMemory allocation failed\n");
+ goto FINISH_OFF;
+ }
+ dir_detail->name = (char*) calloc(1, sizeof(char)*(strlen(pkg_ro_content_rpm[i])+2));
+ if (dir_detail->name == NULL) {
+ printf("\nMemory allocation failed\n");
+ free(dir_detail);
+ goto FINISH_OFF;
+ }
+ snprintf(dir_detail->name, (strlen(pkg_ro_content_rpm[i])+1), "%s", pkg_ro_content_rpm[i]);
+ dir_detail->type = APP2EXT_DIR_RO;
+ dir_list = g_list_append(dir_list, dir_detail);
+ }
+ if (dir_list) {
+ list = g_list_first(dir_list);
+ while (list) {
+ dir_detail = (app2ext_dir_details *)list->data;
+ list = g_list_next(list);
+ }
+ }
+ return dir_list;
+FINISH_OFF:
+ if (dir_list) {
+ list = g_list_first(dir_list);
+ while (list) {
+ dir_detail = (app2ext_dir_details *)list->data;
+ if (dir_detail && dir_detail->name) {
+ free(dir_detail->name);
+ }
+ list = g_list_next(list);
+ }
+ g_list_free(dir_list);
+ }
+ return NULL;
+}
+
int _rpm_uninstall_pkg(char *pkgid)
{
int ret = 0;
hdl = app2ext_init(APP2EXT_SD_CARD);
if ((hdl != NULL) && (hdl->interface.move != NULL)){
- dir_list = __rpm_populate_dir_list();
+ dir_list = __rpm_move_dir_list();
if (dir_list == NULL) {
_d_msg(DEBUG_ERR, "\nError in populating the directory list\n");
return RPM_INSTALLER_ERR_RPM_SCRIPT_WRONG_ARGS;
#define VCONF_RPM_INSTALLER_LAST_REQUESTINFO_OPTIONS \
VCONF_RPM_INSTALLER"/requestinfo/options"
+#define ERR_RETURN_LEN 32
+
extern pkgmgr_installer *pi;
extern char *gpkgname;
void _ri_broadcast_status_notification(char *pkgid, char *key, char *val)
{
char *pkgid_tmp = NULL;
+ char buf[ERR_RETURN_LEN] = {'\0'};
+ int ret_val = 0;
if (gpkgname != NULL)
pkgid_tmp = gpkgname;
else
pkgid_tmp = pkgid;
- _d_msg(DEBUG_INFO, "pkgid = %s, key = %s, val = %s\n",
- pkgid_tmp, key, val);
+ ret_val = _ri_string_to_error_no(val);
+ _d_msg(DEBUG_INFO, "pkgid = %s, key = %s, val = %s, ret_val = %d\n", pkgid_tmp, key, val, ret_val);
- if (pi != NULL)
- pkgmgr_installer_send_signal(pi, PKGTYPE, pkgid_tmp, key, val);
- else
- _d_msg(DEBUG_ERR, "Failure in sending broadcast message\n");
+ if (ret_val == RPM_INSTALLER_ERR_UNKNOWN){
+ if (pi != NULL)
+ pkgmgr_installer_send_signal(pi, PKGTYPE, pkgid_tmp, key, val);
+ else
+ _d_msg(DEBUG_ERR, "Failure in sending broadcast message\n");
+ }
+ else{
+ snprintf(buf, ERR_RETURN_LEN - 1, "%d", ret_val);
+ pkgmgr_installer_send_signal(pi, PKGTYPE, pkgid_tmp, key, buf);
+ }
}
#define PKGTYPE "rpm"
-#define RPM_INSTALLER_SUCCESS 0
-#define RPM_INSTALLER_ERR_WRONG_PARAM 3
-#define RPM_INSTALLER_ERR_DBUS_PROBLEM 4
-#define RPM_INSTALLER_ERR_NOT_ENOUGH_MEMORY 5
-#define RPM_INSTALLER_ERR_PACKAGE_EXIST 7
-#define RPM_INSTALLER_ERR_PACKAGE_NOT_INSTALLED 8
-#define RPM_INSTALLER_ERR_RESOURCE_BUSY 9
-#define RPM_INSTALLER_ERR_UNKNOWN 10
-#define RPM_INSTALLER_ERR_PKG_NOT_FOUND 11
-#define RPM_INSTALLER_ERR_NOT_SUPPOTED_VERSION 12
-#define RPM_INSTALLER_ERR_NO_RPM_FILE 13
-#define RPM_INSTALLER_ERR_DB_ACCESS_FAILED 14
-#define RPM_INSTALLER_ERR_RPM_OPERATION_FAILED 15
-#define RPM_INSTALLER_ERR_PACKAGE_NOT_UPGRADED 16
-#define RPM_INSTALLER_ERR_RPM_SCRIPT_WRONG_ARGS 17
-#define RPM_INSTALLER_ERR_NEED_USER_CONFIRMATION 18
-#define RPM_INSTALLER_ERR_PACKAGE_INSTALLATION_DISABLED 19
-#define RPM_INSTALLER_ERR_PACKAGE_UNINSTALLATION_DISABLED 20
-#define RPM_INSTALLER_ERR_CLEAR_DATA_FAILED 21
-#define RPM_INSTALLER_ERR_INTERNAL 22
-#define RPM_INSTALLER_ERR_NO_MANIFEST 23
-#define RPM_INSTALLER_ERR_INVALID_MANIFEST 24
+#define RPM_INSTALLER_SUCCESS 0
+#define RPM_INSTALLER_ERR_WRONG_PARAM 101
+#define RPM_INSTALLER_ERR_DBUS_PROBLEM 102
+#define RPM_INSTALLER_ERR_NOT_ENOUGH_MEMORY 62
+#define RPM_INSTALLER_ERR_PACKAGE_EXIST 103
+#define RPM_INSTALLER_ERR_PACKAGE_NOT_INSTALLED 104
+#define RPM_INSTALLER_ERR_RESOURCE_BUSY 105
+#define RPM_INSTALLER_ERR_UNKNOWN 120
+#define RPM_INSTALLER_ERR_PKG_NOT_FOUND 1
+#define RPM_INSTALLER_ERR_NOT_SUPPOTED_VERSION 107
+#define RPM_INSTALLER_ERR_NO_RPM_FILE 108
+#define RPM_INSTALLER_ERR_DB_ACCESS_FAILED 109
+#define RPM_INSTALLER_ERR_RPM_OPERATION_FAILED 110
+#define RPM_INSTALLER_ERR_PACKAGE_NOT_UPGRADED 111
+#define RPM_INSTALLER_ERR_RPM_SCRIPT_WRONG_ARGS 112
+#define RPM_INSTALLER_ERR_NEED_USER_CONFIRMATION 113
+#define RPM_INSTALLER_ERR_PACKAGE_INSTALLATION_DISABLED 114
+#define RPM_INSTALLER_ERR_PACKAGE_UNINSTALLATION_DISABLED 115
+#define RPM_INSTALLER_ERR_CLEAR_DATA_FAILED 116
+#define RPM_INSTALLER_ERR_INTERNAL 117
+#define RPM_INSTALLER_ERR_NO_MANIFEST 11
+#define RPM_INSTALLER_ERR_INVALID_MANIFEST 12
#define RPM_INSTALLER_SUCCESS_STR "Success"
#define RPM_INSTALLER_ERR_WRONG_PARAM_STR "Wrong Input Param"
#define RPM_INSTALLER_ERR_NO_MANIFEST_STR "Manifest File Not Found"
#define RPM_INSTALLER_ERR_INVALID_MANIFEST_STR "Manifest Validation Failed"
+
#define DEBUG_ERR 0x0001
#define DEBUG_INFO 0x0002
#define DEBUG_RESULT 0x0004
Name: rpm-installer
Summary: Native rpm installer
Version: 0.1.25
-Release: 1
+Release: 2
Group: System/Libraries
License: Apache License, Version 2.0
Source0: %{name}-%{version}.tar.gz