rm -rf "/opt/isu/$PKG_NAME"
}
+TRY_START_SERVICE()
+{
+ local SERVICE=$1
+ local DESIRED_STATE=$2
+
+ systemctl start "$SERVICE"
+
+ if [ "$(systemctl is-active $SERVICE)" != "$DESIRED_STATE" ]; then
+ echo "Couldn't start service: $SERVICE"
+ fi
+}
+
+PREPARE_PKGMGR_ENV()
+{
+ TRY_START_SERVICE pkgmgr-info active
+ # "systemctl is-active" will output "inactive" for a oneshot unit
+ # that's currently not running but was successful last time it ran
+ TRY_START_SERVICE security-manager-rules-loader inactive
+ TRY_START_SERVICE security-manager active
+ TRY_START_SERVICE ac.service active
+ TRY_START_SERVICE package-manager active
+}
+
+REMOVE_ISU_APP_PKG()
+{
+ local PKG_NAME="$1"
+ local APP_NAME="org.tizen.isu.$PKG_NAME"
+ local APP_DIR="/opt/usr/globalapps/$APP_NAME"
+ if [ -d "$APP_DIR" ]; then
+ /usr/bin/pkgcmd -u -n "$APP_NAME"
+ fi
+}
+
REMOVE_UNNECESSARY_ISU_PKGS()
{
local OS_RELEASE_NAME
if [ ! -d "/etc/isu/$PKG_NAME" ]; then
NOTIFY "Platform image does not contain information about ${PKG_NAME} - unable to verify which is newer (ISU or Platform). Dropping ISU package ${PKG_NAME}."
REMOVE_ISU_PKG "$PKG_NAME"
+ REMOVE_ISU_APP_PKG "$PKG_NAME"
continue
fi
CUR_IMG_VERSION=$(grep -e "^version" "/etc/isu/$PKG_NAME/isu.cfg" | awk -F "=" '{ gsub(/[ ]+/, ""); print $2}')
# not be compatible with this version of the system.
NOTIFY "${field} value is different for OS and ISU - removing incompatible ${PKG_NAME} ISU package"
REMOVE_ISU_PKG "$PKG_NAME"
+ REMOVE_ISU_APP_PKG "$PKG_NAME"
continue 2
fi
# Package from the current image is newer than the one installed
# so we can remove the installed one
REMOVE_ISU_PKG "$PKG_NAME"
+ REMOVE_ISU_APP_PKG "$PKG_NAME"
fi
done
}
exit
fi
-NOTIFY "----------------------------------------------------------------------"
-NOTIFY "Remove deprecated ISU Packages"
-
-REMOVE_UNNECESSARY_ISU_PKGS
-
NOTIFY "----------------------------------------------------------------------"
NOTIFY "System RW update: rw update started"
CURRENT_TASK=$(( ${CURRENT_TASK} + 1 ))
done
+ NOTIFY "----------------------------------------------------------------------"
+ NOTIFY "Remove deprecated ISU Packages"
+
+ PREPARE_PKGMGR_ENV
+ REMOVE_UNNECESSARY_ISU_PKGS
+
write_version_info
if [ ${UPDATE_PROGRESS_ERR} = "1" ]