Changing request_type when installing multiple packages
can affect the request type of other packages
ex) When performing multiple recovery with 'b' option,
original request_type is PKGMGR_REQ_RECOVER
but if the first recovery is about update,
the second recovery will perform update, not recovery
Change-Id: I1dd2c011aac131902eb2d11b1894bd8283590630
Signed-off-by: Ilho Kim <ilho159.kim@samsung.com>
return PKGMGR_INSTALLER_UNINSTALL_EVENT_STR;
else if (strcmp(pkg_type, PKGMGR_INSTALLER_CLEAR_CACHE_KEY_STR) == 0)
return pkg_type;
return PKGMGR_INSTALLER_UNINSTALL_EVENT_STR;
else if (strcmp(pkg_type, PKGMGR_INSTALLER_CLEAR_CACHE_KEY_STR) == 0)
return pkg_type;
+ else if (pi->is_upgrade)
+ return PKGMGR_INSTALLER_UPGRADE_EVENT_STR;
+
switch (pi->request_type) {
case PKGMGR_REQ_INSTALL:
switch (pi->request_type) {
case PKGMGR_REQ_INSTALL:
- if (strcmp(key, PKGMGR_INSTALLER_START_KEY_STR) == 0 &&
- strcmp(val, PKGMGR_INSTALLER_UPGRADE_EVENT_STR) == 0)
- pi->request_type = PKGMGR_REQ_UPGRADE;
-
r = __send_signal_for_event(pi, pkg_type, pkgid, NULL, key, val);
return r;
r = __send_signal_for_event(pi, pkg_type, pkgid, NULL, key, val);
return r;
- if (strcmp(key, PKGMGR_INSTALLER_START_KEY_STR) == 0 &&
- strcmp(val, PKGMGR_INSTALLER_UPGRADE_EVENT_STR) == 0)
- pi->request_type = PKGMGR_REQ_UPGRADE;
-
r = __send_signal_for_event_for_uid(pi, uid, pkg_type, pkgid, NULL,
key, val);
r = __send_signal_for_event_for_uid(pi, uid, pkg_type, pkgid, NULL,
key, val);