rootpath = tzplatform_getenv(TZ_USER_APP);
tzplatform_reset_user();
- snprintf(dirname, sizeof(dirname), "%s/%s/data", rootpath, pkgid);
__send_signal(pkgid, pkg_type,
PKGMGR_INSTALLER_START_KEY_STR,
PKGMGR_INSTALLER_CLEAR_EVENT_STR);
+ snprintf(dirname, sizeof(dirname), "%s/%s/data", rootpath, pkgid);
+ ret = __clear_dir(dirname);
+ if (ret != 0) {
+ LOGE("Failed to clear data for pkg %s", pkgid);
+ __send_signal(pkgid, pkg_type,
+ PKGMGR_INSTALLER_END_KEY_STR,
+ PKGMGR_INSTALLER_FAIL_EVENT_STR);
+ ret = -1;
+ goto catch;
+ }
+
+ snprintf(dirname, sizeof(dirname), "%s/%s/shared/data", rootpath,
+ pkgid);
ret = __clear_dir(dirname);
if (ret != 0) {
LOGE("Failed to clear data for pkg %s", pkgid);
__send_signal(pkgid, pkg_type,
PKGMGR_INSTALLER_END_KEY_STR,
PKGMGR_INSTALLER_FAIL_EVENT_STR);
+ ret = -1;
+ goto catch;
+ }
- } else {
+ snprintf(dirname, sizeof(dirname), "%s/%s/shared/trusted", rootpath,
+ pkgid);
+ ret = __clear_dir(dirname);
+ if (ret != 0) {
+ LOGE("Failed to clear data for pkg %s", pkgid);
__send_signal(pkgid, pkg_type,
PKGMGR_INSTALLER_END_KEY_STR,
- PKGMGR_INSTALLER_OK_EVENT_STR);
+ PKGMGR_INSTALLER_FAIL_EVENT_STR);
+ ret = -1;
+ goto catch;
}
+ __send_signal(pkgid, pkg_type, PKGMGR_INSTALLER_END_KEY_STR,
+ PKGMGR_INSTALLER_OK_EVENT_STR);
+
catch:
if (pkg_handle)
pkgmgrinfo_pkginfo_destroy_pkginfo(pkg_handle);