#include <common/step/mount/step_mount_install.h>
#include <common/step/mount/step_mount_recover.h>
#include <common/step/mount/step_mount_update.h>
+#include <common/step/pkgmgr/step_check_force_clean.h>
#include <common/step/pkgmgr/step_check_installable.h>
#include <common/step/pkgmgr/step_check_removable.h>
#include <common/step/pkgmgr/step_check_restriction.h>
case ci::RequestType::ManifestPartialUpdate:
ManifestPartialUpdateSteps();
break;
+ case ci::RequestType::PartialUninstall:
+ PartialUninstallSteps();
+ break;
case ci::RequestType::Clear:
ClearSteps();
break;
AddStep<ci::configuration::StepConfigure>(pkgmgr_);
AddStep<ci::pkgmgr::StepCheckRestriction>();
AddStep<ci::pkgmgr::StepCheckRemovable>();
+ AddStep<ci::pkgmgr::StepCheckForceClean>();
AddStep<ci::configuration::StepParseManifest>(
ci::configuration::StepParseManifest::ManifestLocation::INSTALLED,
ci::configuration::StepParseManifest::StoreLocation::NORMAL);
AddStep<ci::filesystem::StepCreateGlobalAppSymlinks>();
}
-void TpkInstaller::ManifestDirectRWInstallSteps() {
+void TpkInstaller::ManifestPartialInstallSteps() {
AddStep<ci::configuration::StepConfigure>(pkgmgr_);
AddStep<ci::configuration::StepParseManifest>(
ci::configuration::StepParseManifest::ManifestLocation::INSTALLED,
AddStep<ci::filesystem::StepCreateGlobalAppSymlinks>();
}
-void TpkInstaller::ManifestDirectRWUpdateSteps() {
+void TpkInstaller::ManifestPartialUpdateSteps() {
AddStep<ci::configuration::StepConfigure>(pkgmgr_);
AddStep<ci::configuration::StepParseManifest>(
ci::configuration::StepParseManifest::ManifestLocation::INSTALLED,
AddStep<ci::filesystem::StepCreateGlobalAppSymlinks>();
}
+void TpkInstaller::PartialUninstallSteps() {
+ AddStep<ci::configuration::StepConfigure>(pkgmgr_);
+ AddStep<ci::pkgmgr::StepCheckRemovable>();
+ AddStep<ci::pkgmgr::StepCheckForceClean>();
+ AddStep<ci::configuration::StepParseManifest>(
+ ci::configuration::StepParseManifest::ManifestLocation::INSTALLED,
+ ci::configuration::StepParseManifest::StoreLocation::NORMAL);
+ AddStep<ci::pkgmgr::StepRunParserPlugin>(
+ ci::Plugin::ActionType::Uninstall);
+ AddStep<ci::filesystem::StepRemoveGlobalAppSymlinks>();
+ AddStep<ci::filesystem::StepOptionalAcquireExternalStorage>();
+ AddStep<ci::filesystem::StepRemovePerUserStorageDirectories>();
+ AddStep<tpk::filesystem::StepRemoveExternalStorageDirectories>();
+ AddStep<ci::pkgmgr::StepUnregisterApplication>();
+ AddStep<ci::security::StepRevokeSecurity>();
+}
+
void TpkInstaller::ClearSteps() {
AddStep<ci::configuration::StepConfigure>(pkgmgr_);
AddStep<ci::configuration::StepParseManifest>(