#include "hybrid/hybrid_installer.h"
#include <common/privileges.h>
-#include <common/step/backup/step_backup_icons.h>
-#include <common/step/backup/step_backup_manifest.h>
-#include <common/step/backup/step_copy_backup.h>
-#include <common/step/configuration/step_block_cross_update.h>
-#include <common/step/configuration/step_check_tizen_version.h>
-#include <common/step/configuration/step_configure.h>
#include <common/step/configuration/step_fail.h>
-#include <common/step/configuration/step_parse_manifest.h>
-#include <common/step/configuration/step_parse_preload.h>
-#include <common/step/configuration/step_switch_readonly_mode.h>
-#include <common/step/filesystem/step_acquire_external_storage.h>
-#include <common/step/filesystem/step_optional_acquire_external_storage.h>
-#include <common/step/filesystem/step_change_ownership_and_permission.h>
-#include <common/step/filesystem/step_copy.h>
-#include <common/step/filesystem/step_copy_storage_directories.h>
-#include <common/step/filesystem/step_copy_tep.h>
-#include <common/step/filesystem/step_create_icons.h>
-#include <common/step/filesystem/step_create_globalapp_symlinks.h>
#include <common/step/filesystem/step_create_storage_directories.h>
#include <common/step/filesystem/step_delta_patch.h>
-#include <common/step/filesystem/step_disable_external_mount.h>
-#include <common/step/filesystem/step_enable_external_mount.h>
-#include <common/step/filesystem/step_migrate_legacy_external_image.h>
-#include <common/step/filesystem/step_recover_change_owner.h>
-#include <common/step/filesystem/step_recover_files.h>
-#include <common/step/filesystem/step_recover_icons.h>
-#include <common/step/filesystem/step_recover_manifest.h>
-#include <common/step/filesystem/step_recover_external_storage.h>
-#include <common/step/filesystem/step_recover_storage_directories.h>
-#include <common/step/filesystem/step_remove_files.h>
-#include <common/step/filesystem/step_remove_icons.h>
-#include <common/step/filesystem/step_remove_globalapp_symlinks.h>
-#include <common/step/filesystem/step_remove_per_user_storage_directories.h>
-#include <common/step/filesystem/step_remove_temporary_directory.h>
-#include <common/step/filesystem/step_remove_user_data.h>
-#include <common/step/filesystem/step_remove_zip_image.h>
-#include <common/step/filesystem/step_remove_tep.h>
-#include <common/step/filesystem/step_unzip.h>
-#include <common/step/filesystem/step_update_storage_directories.h>
-#include <common/step/filesystem/step_update_tep.h>
-#include <common/step/mount/step_mount_install.h>
-#include <common/step/mount/step_mount_unpacked.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>
-#include <common/step/pkgmgr/step_check_upgradable.h>
-#include <common/step/pkgmgr/step_kill_apps.h>
-#include <common/step/pkgmgr/step_recover_application.h>
-#include <common/step/pkgmgr/step_recover_parser_plugins.h>
-#include <common/step/pkgmgr/step_register_app.h>
-#include <common/step/pkgmgr/step_remove_manifest.h>
-#include <common/step/pkgmgr/step_run_parser_plugins.h>
-#include <common/step/pkgmgr/step_unregister_app.h>
-#include <common/step/pkgmgr/step_update_app.h>
-#include <common/step/pkgmgr/step_update_pkg_disable_info.h>
-#include <common/step/recovery/step_open_recovery_file.h>
-#include <common/step/recovery/step_create_recovery_file.h>
-#include <common/step/security/step_get_privilege_level.h>
-#include <common/step/security/step_privacy_privilege.h>
#include <common/step/security/step_privilege_compatibility.h>
#include <common/step/security/step_recover_privilege_compatibility.h>
-#include <common/step/security/step_recover_security.h>
-#include <common/step/security/step_register_security.h>
-#include <common/step/security/step_revoke_security.h>
-#include <common/step/security/step_revoke_trust_anchor.h>
-#include <common/step/security/step_rollback_installation_security.h>
-#include <common/step/security/step_signature.h>
-#include <common/step/security/step_update_security.h>
-#include <common/step/security/step_register_trust_anchor.h>
-#include <common/step/security/step_unregister_trust_anchor.h>
#include <tpk/step/filesystem/step_create_tpk_symbolic_link.h>
#include <tpk/step/filesystem/step_tpk_patch_icons.h>
}
void HybridInstaller::InstallSteps() {
- AddStep<ci::configuration::StepConfigure>(pkgmgr_);
- AddStep<ci::recovery::StepCreateRecoveryFile>();
- AddStep<ci::filesystem::StepUnzip>();
- AddStep<ci::configuration::StepParseManifest>(
- ci::configuration::StepParseManifest::ManifestLocation::PACKAGE,
- ci::configuration::StepParseManifest::StoreLocation::NORMAL);
- AddStep<ci::pkgmgr::StepCheckInstallable>();
- AddStep<hybrid::configuration::StepStashTpkConfig>();
- AddStep<wgt::configuration::StepParse>(
+ AppInstaller::InstallSteps();
+ AddStepAfter<hybrid::configuration::StepStashTpkConfig>("CheckInstallable");
+ AddStepAfter<wgt::configuration::StepParse>("StashTpkConfig",
wgt::configuration::StepParse::ConfigLocation::RESOURCE_WGT, true);
- AddStep<ci::configuration::StepParsePreload>();
- AddStep<ci::pkgmgr::StepCheckRestriction>();
- AddStep<ci::configuration::StepCheckTizenVersion>();
- AddStep<ci::security::StepSignature>(true);
- AddStep<wgt::security::StepCheckSettingsLevel>();
- AddStep<wgt::security::StepCheckWgtBackgroundCategory>();
- AddStep<wgt::security::StepCheckWgtNotificationCategory>();
- AddStep<wgt::security::StepCheckWgtImePrivilege>();
- AddStep<hybrid::encryption::StepEncryptHybridResources>();
- AddStep<ci::security::StepRollbackInstallationSecurity>();
- AddStep<ci::filesystem::StepRemoveGlobalAppSymlinks>();
- AddStep<ci::filesystem::StepAcquireExternalStorage>(false);
- AddStep<ci::filesystem::StepCopy>();
- AddStep<ci::filesystem::StepCopyTep>();
- AddStep<tpk::filesystem::StepTpkPatchIcons>();
- AddStep<wgt::filesystem::StepWgtPatchIcons>(true);
- AddStep<ci::filesystem::StepCreateIcons>();
- AddStep<wgt::filesystem::StepCopyPreviewIcons>();
- AddStep<wgt::filesystem::StepWgtPatchStorageDirectories>();
- AddStep<wgt::pkgmgr::StepGenerateXml>();
- AddStep<hybrid::pkgmgr::StepMergeXml>();
- AddStep<tpk::pkgmgr::StepManifestAdjustment>();
- AddStep<hybrid::configuration::StepMergeTpkConfig>();
- AddStep<hybrid::configuration::StepMergeTpkPrivileges>();
- AddStep<ci::security::StepPrivilegeCompatibility>(
+ AddStepAfter<wgt::security::StepCheckSettingsLevel>("Signature");
+ AddStepAfter<wgt::security::StepCheckWgtBackgroundCategory>(
+ "CheckSettingsLevel");
+ AddStepAfter<wgt::security::StepCheckWgtNotificationCategory>(
+ "CheckWgtBackgroundCategory");
+ AddStepAfter<wgt::security::StepCheckWgtImePrivilege>(
+ "CheckWgtNotificationCategory");
+ AddStepAfter<hybrid::encryption::StepEncryptHybridResources>(
+ "CheckWgtImePrivilege");
+ AddStepAfter<tpk::filesystem::StepTpkPatchIcons>("CreateIcons");
+ AddStepAfter<wgt::filesystem::StepWgtPatchIcons>("TpkPatchIcons", true);
+ AddStepAfter<wgt::filesystem::StepCopyPreviewIcons>("WgtPatchIcons");
+ AddStepAfter<wgt::filesystem::StepCreateWgtSymbolicLink>("CopyPreviewIcons");
+ AddStepAfter<tpk::filesystem::StepCreateTpkSymbolicLink>(
+ "CreateWgtSymbolicLink");
+ AddStepAfter<wgt::pkgmgr::StepGenerateXml>("CreateTpkSymbolicLink");
+ AddStepAfter<hybrid::pkgmgr::StepMergeXml>("GenerateXml");
+ AddStepAfter<tpk::pkgmgr::StepManifestAdjustment>("MergeXml");
+ AddStepAfter<hybrid::configuration::StepMergeTpkConfig>("ManifestAdjustment");
+ AddStepAfter<hybrid::configuration::StepMergeTpkPrivileges>("MergeTpkConfig");
+ AddStepAfter<ci::security::StepPrivilegeCompatibility>("MergeTpkPrivileges",
ci::security::StepPrivilegeCompatibility::InternalPrivType::BOTH);
- AddStep<wgt::filesystem::StepCreateWgtSymbolicLink>();
- AddStep<tpk::filesystem::StepCreateTpkSymbolicLink>();
- AddStep<ci::pkgmgr::StepRegisterApplication>();
- AddStep<ci::security::StepRegisterTrustAnchor>(
- ci::security::StepRegisterTrustAnchor::RegisterType::INSTALL);
- AddStep<ci::security::StepPrivacyPrivilege>(
- ci::security::StepPrivacyPrivilege::ActionType::Install);
- AddStep<ci::security::StepRegisterSecurity>();
- AddStep<ci::pkgmgr::StepRunParserPlugin>(
- ci::Plugin::ActionType::Install);
- AddStep<ci::filesystem::StepCreateStorageDirectories>(
+ ReplaceStep<ci::filesystem::StepCreateStorageDirectories>(
+ "CreateStorageDirectories",
wgt::filesystem::HybridAdditionalSharedDirs);
- AddStep<ci::filesystem::StepChangeOwnershipAndPermission>();
- AddStep<ci::filesystem::StepCreateGlobalAppSymlinks>();
+ AddStepAfter<wgt::filesystem::StepWgtPatchStorageDirectories>(
+ "CreateStorageDirectories");
}
void HybridInstaller::UpdateSteps() {
- AddStep<ci::configuration::StepConfigure>(pkgmgr_);
- AddStep<ci::recovery::StepCreateRecoveryFile>();
- AddStep<ci::filesystem::StepUnzip>();
- AddStep<ci::configuration::StepParseManifest>(
- ci::configuration::StepParseManifest::ManifestLocation::PACKAGE,
- ci::configuration::StepParseManifest::StoreLocation::NORMAL);
- AddStep<ci::pkgmgr::StepCheckUpgradable>();
- AddStep<hybrid::configuration::StepStashTpkConfig>();
- AddStep<wgt::configuration::StepParse>(
+ AppInstaller::UpdateSteps();
+ AddStepAfter<hybrid::configuration::StepStashTpkConfig>("CheckUpgradable");
+ AddStepAfter<wgt::configuration::StepParse>("StashTpkConfig",
wgt::configuration::StepParse::ConfigLocation::RESOURCE_WGT, true);
- AddStep<ci::configuration::StepParsePreload>();
- AddStep<ci::configuration::StepCheckTizenVersion>();
- AddStep<ci::security::StepSignature>(true);
- AddStep<wgt::security::StepCheckSettingsLevel>();
- AddStep<wgt::security::StepCheckWgtBackgroundCategory>();
- AddStep<wgt::security::StepCheckWgtNotificationCategory>();
- AddStep<wgt::security::StepCheckWgtImePrivilege>();
- AddStep<hybrid::encryption::StepEncryptHybridResources>();
- AddStep<ci::configuration::StepParseManifest>(
- ci::configuration::StepParseManifest::ManifestLocation::INSTALLED,
- ci::configuration::StepParseManifest::StoreLocation::BACKUP);
- AddStep<ci::configuration::StepBlockCrossUpdate>();
- AddStep<ci::pkgmgr::StepKillApps>();
- AddStep<ci::backup::StepBackupManifest>();
- AddStep<ci::backup::StepBackupIcons>();
- AddStep<ci::filesystem::StepRemoveGlobalAppSymlinks>();
- AddStep<ci::filesystem::StepAcquireExternalStorage>(true);
- AddStep<ci::backup::StepCopyBackup>();
- AddStep<ci::filesystem::StepUpdateTep>();
- AddStep<tpk::filesystem::StepTpkPatchIcons>();
- AddStep<wgt::filesystem::StepWgtPatchIcons>(true);
- AddStep<ci::filesystem::StepCreateIcons>();
- AddStep<wgt::filesystem::StepCopyPreviewIcons>();
- AddStep<wgt::filesystem::StepWgtPatchStorageDirectories>();
- AddStep<ci::filesystem::StepCopyStorageDirectories>();
- AddStep<wgt::pkgmgr::StepGenerateXml>();
- AddStep<hybrid::pkgmgr::StepMergeXml>();
- AddStep<tpk::pkgmgr::StepManifestAdjustment>();
- AddStep<hybrid::configuration::StepMergeTpkConfig>();
- AddStep<hybrid::configuration::StepMergeTpkPrivileges>();
- AddStep<ci::security::StepPrivilegeCompatibility>(
+ AddStepAfter<wgt::security::StepCheckSettingsLevel>("CheckOldCertificate");
+ AddStepAfter<wgt::security::StepCheckWgtBackgroundCategory>(
+ "CheckSettingsLevel");
+ AddStepAfter<wgt::security::StepCheckWgtNotificationCategory>(
+ "CheckWgtBackgroundCategory");
+ AddStepAfter<wgt::security::StepCheckWgtImePrivilege>(
+ "CheckWgtNotificationCategory");
+ AddStepAfter<hybrid::encryption::StepEncryptHybridResources>(
+ "CheckWgtImePrivilege");
+ AddStepAfter<tpk::filesystem::StepTpkPatchIcons>("CreateIcons");
+ AddStepAfter<wgt::filesystem::StepWgtPatchIcons>("TpkPatchIcons", true);
+ AddStepAfter<wgt::filesystem::StepCopyPreviewIcons>("WgtPatchIcons");
+ AddStepAfter<wgt::filesystem::StepCreateWgtSymbolicLink>("CopyPreviewIcons");
+ AddStepAfter<tpk::filesystem::StepCreateTpkSymbolicLink>(
+ "CreateWgtSymbolicLink");
+ AddStepAfter<wgt::pkgmgr::StepGenerateXml>("CreateTpkSymbolicLink");
+ AddStepAfter<hybrid::pkgmgr::StepMergeXml>("GenerateXml");
+ AddStepAfter<tpk::pkgmgr::StepManifestAdjustment>("MergeXml");
+ AddStepAfter<hybrid::configuration::StepMergeTpkConfig>("ManifestAdjustment");
+ AddStepAfter<hybrid::configuration::StepMergeTpkPrivileges>("MergeTpkConfig");
+ AddStepAfter<ci::security::StepPrivilegeCompatibility>("MergeTpkPrivileges",
ci::security::StepPrivilegeCompatibility::InternalPrivType::BOTH);
- AddStep<wgt::filesystem::StepCreateWgtSymbolicLink>();
- AddStep<tpk::filesystem::StepCreateTpkSymbolicLink>();
- AddStep<ci::pkgmgr::StepUpdateApplication>();
- AddStep<ci::security::StepRegisterTrustAnchor>(
- ci::security::StepRegisterTrustAnchor::RegisterType::INSTALL);
- AddStep<ci::security::StepPrivacyPrivilege>(
- ci::security::StepPrivacyPrivilege::ActionType::Update);
- AddStep<ci::security::StepUpdateSecurity>();
- AddStep<ci::pkgmgr::StepRunParserPlugin>(
- ci::Plugin::ActionType::Upgrade);
- AddStep<ci::filesystem::StepUpdateStorageDirectories>();
- AddStep<ci::filesystem::StepChangeOwnershipAndPermission>();
- AddStep<ci::filesystem::StepCreateGlobalAppSymlinks>();
+ AddStepAfter<wgt::filesystem::StepWgtPatchStorageDirectories>(
+ "CopyStorageDirectories");
}
void HybridInstaller::UninstallSteps() {
- 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::pkgmgr::StepRunParserPlugin>(
- ci::Plugin::ActionType::Uninstall);
- AddStep<ci::pkgmgr::StepKillApps>();
- AddStep<ci::filesystem::StepRemoveGlobalAppSymlinks>();
- AddStep<ci::filesystem::StepOptionalAcquireExternalStorage>();
- AddStep<ci::filesystem::StepRemovePerUserStorageDirectories>();
- AddStep<ci::pkgmgr::StepUnregisterApplication>();
- AddStep<ci::filesystem::StepRemoveTep>();
- AddStep<ci::filesystem::StepRemoveFiles>();
- AddStep<ci::filesystem::StepRemoveZipImage>();
- AddStep<ci::filesystem::StepRemoveIcons>();
- AddStep<wgt::encryption::StepRemoveEncryptionData>();
- AddStep<ci::security::StepUnregisterTrustAnchor>();
- AddStep<ci::security::StepPrivacyPrivilege>(
- ci::security::StepPrivacyPrivilege::ActionType::Uninstall);
- AddStep<ci::security::StepRevokeSecurity>();
- AddStep<ci::pkgmgr::StepRemoveManifest>();
- AddStep<ci::filesystem::StepCreateGlobalAppSymlinks>();
+ AppInstaller::UninstallSteps();
+ AddStepAfter<wgt::encryption::StepRemoveEncryptionData>(
+ "RemovePerUserStorageDirectories");
}
void HybridInstaller::ReinstallSteps() {
}
void HybridInstaller::DeltaSteps() {
- AddStep<ci::configuration::StepConfigure>(pkgmgr_);
- AddStep<ci::recovery::StepCreateRecoveryFile>();
- AddStep<ci::filesystem::StepUnzip>();
- AddStep<ci::configuration::StepParseManifest>(
- ci::configuration::StepParseManifest::ManifestLocation::PACKAGE,
- ci::configuration::StepParseManifest::StoreLocation::NORMAL);
- AddStep<ci::pkgmgr::StepCheckUpgradable>();
- AddStep<wgt::filesystem::StepWgtUndoPatchStorageDirectories>();
- AddStep<hybrid::configuration::StepStashTpkConfig>();
- AddStep<ci::configuration::StepParseManifest>(
- ci::configuration::StepParseManifest::ManifestLocation::INSTALLED,
- ci::configuration::StepParseManifest::StoreLocation::BACKUP);
- AddStep<ci::filesystem::StepEnableExternalMount>();
- AddStep<ci::filesystem::StepDeltaPatch>();
- AddStep<ci::filesystem::StepDisableExternalMount>();
- AddStep<wgt::configuration::StepParse>(
- wgt::configuration::StepParse::ConfigLocation::RESOURCE_WGT, true);
- AddStep<ci::configuration::StepParsePreload>();
- AddStep<ci::configuration::StepCheckTizenVersion>();
- AddStep<ci::security::StepSignature>(true);
- AddStep<wgt::security::StepCheckSettingsLevel>();
- AddStep<wgt::security::StepCheckWgtBackgroundCategory>();
- AddStep<wgt::security::StepCheckWgtNotificationCategory>();
- AddStep<wgt::security::StepCheckWgtImePrivilege>();
- AddStep<hybrid::encryption::StepEncryptHybridResources>();
- AddStep<ci::configuration::StepBlockCrossUpdate>();
- AddStep<ci::pkgmgr::StepKillApps>();
- AddStep<ci::backup::StepBackupManifest>();
- AddStep<ci::backup::StepBackupIcons>();
- AddStep<ci::filesystem::StepRemoveGlobalAppSymlinks>();
- AddStep<ci::filesystem::StepAcquireExternalStorage>(true);
- AddStep<ci::backup::StepCopyBackup>();
- AddStep<ci::filesystem::StepUpdateTep>();
- AddStep<tpk::filesystem::StepTpkPatchIcons>();
- AddStep<wgt::filesystem::StepWgtPatchIcons>(true);
- AddStep<ci::filesystem::StepCreateIcons>();
- AddStep<wgt::filesystem::StepCopyPreviewIcons>();
- AddStep<wgt::filesystem::StepWgtPatchStorageDirectories>();
- AddStep<ci::filesystem::StepCopyStorageDirectories>();
- AddStep<wgt::pkgmgr::StepGenerateXml>();
- AddStep<hybrid::pkgmgr::StepMergeXml>();
- AddStep<tpk::pkgmgr::StepManifestAdjustment>();
- AddStep<hybrid::configuration::StepMergeTpkConfig>();
- AddStep<hybrid::configuration::StepMergeTpkPrivileges>();
- AddStep<ci::security::StepPrivilegeCompatibility>(
+ AppInstaller::DeltaSteps();
+ AddStepAfter<hybrid::configuration::StepStashTpkConfig>("CheckUpgradable");
+ AddStepAfter<wgt::filesystem::StepWgtUndoPatchStorageDirectories>(
+ "EnableExternalMount");
+ AddStepAfter<wgt::configuration::StepParse>("StashTpkConfig",
+ wgt::configuration::StepParse::ConfigLocation::RESOURCE_WGT, false);
+ AddStepAfter<wgt::security::StepCheckSettingsLevel>("CheckOldCertificate");
+ AddStepAfter<wgt::security::StepCheckWgtBackgroundCategory>(
+ "CheckSettingsLevel");
+ AddStepAfter<wgt::security::StepCheckWgtNotificationCategory>(
+ "CheckWgtBackgroundCategory");
+ AddStepAfter<wgt::security::StepCheckWgtImePrivilege>(
+ "CheckWgtNotificationCategory");
+ AddStepAfter<hybrid::encryption::StepEncryptHybridResources>(
+ "CheckWgtImePrivilege");
+ AddStepAfter<tpk::filesystem::StepTpkPatchIcons>("CreateIcons");
+ AddStepAfter<wgt::filesystem::StepWgtPatchIcons>("TpkPatchIcons", true);
+ AddStepAfter<wgt::filesystem::StepCopyPreviewIcons>("WgtPatchIcons");
+ AddStepAfter<wgt::filesystem::StepCreateWgtSymbolicLink>("CopyPreviewIcons");
+ AddStepAfter<tpk::filesystem::StepCreateTpkSymbolicLink>(
+ "CreateWgtSymbolicLink");
+ AddStepAfter<wgt::pkgmgr::StepGenerateXml>("CreateTpkSymbolicLink");
+ AddStepAfter<hybrid::pkgmgr::StepMergeXml>("GenerateXml");
+ AddStepAfter<tpk::pkgmgr::StepManifestAdjustment>("MergeXml");
+ AddStepAfter<hybrid::configuration::StepMergeTpkConfig>("ManifestAdjustment");
+ AddStepAfter<hybrid::configuration::StepMergeTpkPrivileges>("MergeTpkConfig");
+ AddStepAfter<ci::security::StepPrivilegeCompatibility>("MergeTpkPrivileges",
ci::security::StepPrivilegeCompatibility::InternalPrivType::BOTH);
- AddStep<wgt::filesystem::StepCreateWgtSymbolicLink>();
- AddStep<tpk::filesystem::StepCreateTpkSymbolicLink>();
- AddStep<ci::security::StepRegisterTrustAnchor>(
- ci::security::StepRegisterTrustAnchor::RegisterType::UPDATE);
- AddStep<ci::security::StepPrivacyPrivilege>(
- ci::security::StepPrivacyPrivilege::ActionType::Update);
- AddStep<ci::pkgmgr::StepUpdateApplication>();
- AddStep<ci::security::StepUpdateSecurity>();
- AddStep<ci::pkgmgr::StepRunParserPlugin>(
- ci::Plugin::ActionType::Upgrade);
- AddStep<ci::filesystem::StepUpdateStorageDirectories>();
- AddStep<ci::filesystem::StepChangeOwnershipAndPermission>();
- AddStep<ci::filesystem::StepCreateGlobalAppSymlinks>();
+ AddStepAfter<wgt::filesystem::StepWgtPatchStorageDirectories>(
+ "CopyStorageDirectories");
}
void HybridInstaller::RecoverySteps() {
- AddStep<ci::configuration::StepConfigure>(pkgmgr_);
- AddStep<ci::recovery::StepOpenRecoveryFile>();
- AddStep<ci::filesystem::StepRemoveTemporaryDirectory>();
- AddStep<ci::configuration::StepParseManifest>(
- ci::configuration::StepParseManifest::ManifestLocation::RECOVERY,
- ci::configuration::StepParseManifest::StoreLocation::NORMAL);
- AddStep<ci::filesystem::StepRecoverIcons>();
- AddStep<ci::pkgmgr::StepRecoverParserPlugin>();
- AddStep<ci::filesystem::StepRecoverManifest>();
- AddStep<ci::filesystem::StepRecoverExternalStorage>();
- AddStep<ci::filesystem::StepRecoverStorageDirectories>();
- AddStep<ci::filesystem::StepRecoverFiles>();
- AddStep<ci::mount::StepMountRecover>();
- AddStep<tpk::security::StepTpkRecoverSignature>();
- AddStep<ci::security::StepRecoverPrivilegeCompatibility>(
+ AppInstaller::RecoverySteps();
+ AddStepAfter<tpk::security::StepTpkRecoverSignature>("MountRecover");
+ AddStepAfter<ci::security::StepRecoverPrivilegeCompatibility>(
+ "TpkRecoverSignature",
ci::security::StepPrivilegeCompatibility::InternalPrivType::BOTH);
- AddStep<ci::filesystem::StepRecoverChangeOwner>();
- AddStep<ci::security::StepRecoverSecurity>();
- AddStep<ci::pkgmgr::StepRecoverApplication>();
}
void HybridInstaller::MountInstallSteps() {
- AddStep<ci::configuration::StepConfigure>(pkgmgr_);
- AddStep<ci::recovery::StepCreateRecoveryFile>();
- AddStep<ci::mount::StepMountUnpacked>();
- AddStep<ci::configuration::StepParseManifest>(
- ci::configuration::StepParseManifest::ManifestLocation::PACKAGE,
- ci::configuration::StepParseManifest::StoreLocation::NORMAL);
- AddStep<ci::pkgmgr::StepCheckInstallable>();
- AddStep<hybrid::configuration::StepStashTpkConfig>();
- AddStep<wgt::configuration::StepParse>(
+ AppInstaller::MountInstallSteps();
+ AddStepAfter<hybrid::configuration::StepStashTpkConfig>("CheckInstallable");
+ AddStepAfter<wgt::configuration::StepParse>("StashTpkConfig",
wgt::configuration::StepParse::ConfigLocation::RESOURCE_WGT, true);
- AddStep<ci::configuration::StepParsePreload>();
- AddStep<ci::pkgmgr::StepCheckRestriction>();
- AddStep<ci::configuration::StepCheckTizenVersion>();
- AddStep<ci::security::StepSignature>(true);
- AddStep<wgt::security::StepCheckSettingsLevel>();
- AddStep<wgt::security::StepCheckWgtBackgroundCategory>();
- AddStep<wgt::security::StepCheckWgtNotificationCategory>();
- AddStep<wgt::security::StepCheckWgtImePrivilege>();
- AddStep<hybrid::encryption::StepEncryptHybridResources>();
- AddStep<ci::security::StepRollbackInstallationSecurity>();
- AddStep<ci::filesystem::StepRemoveGlobalAppSymlinks>();
- AddStep<ci::mount::StepMountInstall>();
- AddStep<tpk::filesystem::StepTpkPreparePackageDirectory>();
- AddStep<ci::filesystem::StepCopyTep>();
- AddStep<tpk::filesystem::StepTpkPatchIcons>();
- AddStep<wgt::filesystem::StepWgtPatchIcons>(true);
- AddStep<ci::filesystem::StepCreateIcons>();
- AddStep<wgt::filesystem::StepCopyPreviewIcons>();
- AddStep<wgt::filesystem::StepWgtPatchStorageDirectories>();
- AddStep<wgt::pkgmgr::StepGenerateXml>();
- AddStep<hybrid::pkgmgr::StepMergeXml>();
- AddStep<tpk::pkgmgr::StepManifestAdjustment>();
- AddStep<hybrid::configuration::StepMergeTpkConfig>();
- AddStep<hybrid::configuration::StepMergeTpkPrivileges>();
- AddStep<ci::security::StepPrivilegeCompatibility>(
+ AddStepAfter<wgt::security::StepCheckSettingsLevel>("Signature");
+ AddStepAfter<wgt::security::StepCheckWgtBackgroundCategory>(
+ "CheckSettingsLevel");
+ AddStepAfter<wgt::security::StepCheckWgtNotificationCategory>(
+ "CheckWgtBackgroundCategory");
+ AddStepAfter<wgt::security::StepCheckWgtImePrivilege>(
+ "CheckWgtNotificationCategory");
+ AddStepAfter<hybrid::encryption::StepEncryptHybridResources>(
+ "CheckWgtImePrivilege");
+ AddStepAfter<tpk::filesystem::StepTpkPreparePackageDirectory>("MountInstall");
+ AddStepAfter<tpk::filesystem::StepTpkPatchIcons>("CreateIcons");
+ AddStepAfter<wgt::filesystem::StepWgtPatchIcons>("TpkPatchIcons", true);
+ AddStepAfter<wgt::filesystem::StepCopyPreviewIcons>("WgtPatchIcons");
+ AddStepAfter<wgt::filesystem::StepCreateWgtSymbolicLink>("CopyPreviewIcons");
+ AddStepAfter<tpk::filesystem::StepCreateTpkSymbolicLink>(
+ "CreateWgtSymbolicLink");
+ AddStepAfter<wgt::pkgmgr::StepGenerateXml>("CreateTpkSymbolicLink");
+ AddStepAfter<hybrid::pkgmgr::StepMergeXml>("GenerateXml");
+ AddStepAfter<tpk::pkgmgr::StepManifestAdjustment>("MergeXml");
+ AddStepAfter<hybrid::configuration::StepMergeTpkConfig>("ManifestAdjustment");
+ AddStepAfter<hybrid::configuration::StepMergeTpkPrivileges>("MergeTpkConfig");
+ AddStepAfter<ci::security::StepPrivilegeCompatibility>("MergeTpkPrivileges",
ci::security::StepPrivilegeCompatibility::InternalPrivType::BOTH);
- AddStep<wgt::filesystem::StepCreateWgtSymbolicLink>();
- AddStep<tpk::filesystem::StepCreateTpkSymbolicLink>();
- AddStep<ci::pkgmgr::StepRegisterApplication>();
- AddStep<ci::security::StepRegisterTrustAnchor>(
- ci::security::StepRegisterTrustAnchor::RegisterType::INSTALL);
- AddStep<ci::security::StepPrivacyPrivilege>(
- ci::security::StepPrivacyPrivilege::ActionType::Install);
- AddStep<ci::security::StepRegisterSecurity>();
- AddStep<ci::pkgmgr::StepRunParserPlugin>(
- ci::Plugin::ActionType::Install);
- AddStep<ci::filesystem::StepCreateStorageDirectories>(
+ ReplaceStep<ci::filesystem::StepCreateStorageDirectories>(
+ "CreateStorageDirectories",
wgt::filesystem::HybridAdditionalSharedDirs);
- AddStep<ci::filesystem::StepChangeOwnershipAndPermission>(true);
- AddStep<ci::filesystem::StepCreateGlobalAppSymlinks>();
+ AddStepAfter<wgt::filesystem::StepWgtPatchStorageDirectories>(
+ "CreateStorageDirectories");
}
void HybridInstaller::MountUpdateSteps() {
- AddStep<ci::configuration::StepConfigure>(pkgmgr_);
- AddStep<ci::recovery::StepCreateRecoveryFile>();
- AddStep<ci::mount::StepMountUnpacked>();
- AddStep<ci::configuration::StepParseManifest>(
- ci::configuration::StepParseManifest::ManifestLocation::PACKAGE,
- ci::configuration::StepParseManifest::StoreLocation::NORMAL);
- AddStep<ci::pkgmgr::StepCheckUpgradable>();
- AddStep<hybrid::configuration::StepStashTpkConfig>();
- AddStep<wgt::configuration::StepParse>(
+ AppInstaller::MountUpdateSteps();
+ AddStepAfter<hybrid::configuration::StepStashTpkConfig>("CheckUpgradable");
+ AddStepAfter<wgt::configuration::StepParse>("StashTpkConfig",
wgt::configuration::StepParse::ConfigLocation::RESOURCE_WGT, true);
- AddStep<ci::configuration::StepParsePreload>();
- AddStep<ci::configuration::StepCheckTizenVersion>();
- AddStep<ci::security::StepSignature>(true);
- AddStep<wgt::security::StepCheckSettingsLevel>();
- AddStep<wgt::security::StepCheckWgtBackgroundCategory>();
- AddStep<wgt::security::StepCheckWgtNotificationCategory>();
- AddStep<wgt::security::StepCheckWgtImePrivilege>();
- AddStep<hybrid::encryption::StepEncryptHybridResources>();
- AddStep<ci::configuration::StepParseManifest>(
- ci::configuration::StepParseManifest::ManifestLocation::INSTALLED,
- ci::configuration::StepParseManifest::StoreLocation::BACKUP);
- AddStep<ci::configuration::StepBlockCrossUpdate>();
- AddStep<ci::pkgmgr::StepKillApps>();
- AddStep<ci::backup::StepBackupManifest>();
- AddStep<ci::backup::StepBackupIcons>();
- AddStep<ci::filesystem::StepRemoveGlobalAppSymlinks>();
- AddStep<ci::mount::StepMountUpdate>();
- AddStep<tpk::filesystem::StepTpkUpdatePackageDirectory>();
- AddStep<ci::filesystem::StepUpdateTep>();
- AddStep<tpk::filesystem::StepTpkPatchIcons>();
- AddStep<wgt::filesystem::StepWgtPatchIcons>(true);
- AddStep<ci::filesystem::StepCreateIcons>();
- AddStep<wgt::filesystem::StepCopyPreviewIcons>();
- AddStep<wgt::filesystem::StepWgtPatchStorageDirectories>();
- AddStep<wgt::pkgmgr::StepGenerateXml>();
- AddStep<hybrid::pkgmgr::StepMergeXml>();
- AddStep<tpk::pkgmgr::StepManifestAdjustment>();
- AddStep<hybrid::configuration::StepMergeTpkConfig>();
- AddStep<hybrid::configuration::StepMergeTpkPrivileges>();
- AddStep<ci::security::StepPrivilegeCompatibility>(
+ AddStepAfter<wgt::security::StepCheckSettingsLevel>("CheckOldCertificate");
+ AddStepAfter<wgt::security::StepCheckWgtBackgroundCategory>(
+ "CheckSettingsLevel");
+ AddStepAfter<wgt::security::StepCheckWgtNotificationCategory>(
+ "CheckWgtBackgroundCategory");
+ AddStepAfter<wgt::security::StepCheckWgtImePrivilege>(
+ "CheckWgtNotificationCategory");
+ AddStepAfter<hybrid::encryption::StepEncryptHybridResources>(
+ "CheckWgtImePrivilege");
+ AddStepAfter<tpk::filesystem::StepTpkUpdatePackageDirectory>("MountUpdate");
+ AddStepAfter<tpk::filesystem::StepTpkPatchIcons>("CreateIcons");
+ AddStepAfter<wgt::filesystem::StepWgtPatchIcons>("TpkPatchIcons", true);
+ AddStepAfter<wgt::filesystem::StepCopyPreviewIcons>("WgtPatchIcons");
+ AddStepAfter<wgt::filesystem::StepCreateWgtSymbolicLink>("CopyPreviewIcons");
+ AddStepAfter<tpk::filesystem::StepCreateTpkSymbolicLink>(
+ "CreateWgtSymbolicLink");
+ AddStepAfter<wgt::pkgmgr::StepGenerateXml>("CreateTpkSymbolicLink");
+ AddStepAfter<hybrid::pkgmgr::StepMergeXml>("GenerateXml");
+ AddStepAfter<tpk::pkgmgr::StepManifestAdjustment>("MergeXml");
+ AddStepAfter<hybrid::configuration::StepMergeTpkConfig>("ManifestAdjustment");
+ AddStepAfter<hybrid::configuration::StepMergeTpkPrivileges>("MergeTpkConfig");
+ AddStepAfter<ci::security::StepPrivilegeCompatibility>("MergeTpkPrivileges",
ci::security::StepPrivilegeCompatibility::InternalPrivType::BOTH);
- AddStep<wgt::filesystem::StepCreateWgtSymbolicLink>();
- AddStep<tpk::filesystem::StepCreateTpkSymbolicLink>();
- AddStep<ci::pkgmgr::StepUpdateApplication>();
- AddStep<ci::security::StepRegisterTrustAnchor>(
- ci::security::StepRegisterTrustAnchor::RegisterType::UPDATE);
- AddStep<ci::security::StepPrivacyPrivilege>(
- ci::security::StepPrivacyPrivilege::ActionType::Update);
- AddStep<ci::security::StepUpdateSecurity>();
- AddStep<ci::pkgmgr::StepRunParserPlugin>(
- ci::Plugin::ActionType::Upgrade);
- AddStep<ci::filesystem::StepUpdateStorageDirectories>();
- AddStep<ci::filesystem::StepChangeOwnershipAndPermission>(true);
- AddStep<ci::filesystem::StepCreateGlobalAppSymlinks>();
+ AddStepAfter<wgt::filesystem::StepWgtPatchStorageDirectories>(
+ "UpdateStorageDirectories");
}
void HybridInstaller::ManifestDirectInstallSteps() {
- AddStep<ci::configuration::StepConfigure>(pkgmgr_);
- AddStep<ci::configuration::StepParseManifest>(
- ci::configuration::StepParseManifest::ManifestLocation::INSTALLED,
- ci::configuration::StepParseManifest::StoreLocation::NORMAL);
- AddStep<ci::pkgmgr::StepCheckInstallable>();
- AddStep<hybrid::configuration::StepStashTpkConfig>();
- AddStep<wgt::configuration::StepParse>(
+ AppInstaller::ManifestDirectInstallSteps();
+ AddStepAfter<hybrid::configuration::StepStashTpkConfig>("CheckInstallable");
+ AddStepAfter<wgt::configuration::StepParse>("StashTpkConfig",
wgt::configuration::StepParse::ConfigLocation::INSTALLED, true);
- AddStep<ci::configuration::StepParsePreload>();
- AddStep<ci::configuration::StepCheckTizenVersion>();
- AddStep<ci::security::StepSignature>(true);
- AddStep<wgt::security::StepCheckSettingsLevel>();
- AddStep<wgt::security::StepCheckWgtBackgroundCategory>();
- AddStep<ci::security::StepRollbackInstallationSecurity>();
- AddStep<ci::filesystem::StepRemoveGlobalAppSymlinks>();
- AddStep<tpk::filesystem::StepTpkPatchIcons>();
- AddStep<wgt::filesystem::StepWgtPatchIcons>(true);
- AddStep<wgt::pkgmgr::StepGenerateXml>();
- AddStep<hybrid::pkgmgr::StepMergeXml>();
- AddStep<tpk::pkgmgr::StepManifestAdjustment>();
- AddStep<hybrid::configuration::StepMergeTpkConfig>();
- AddStep<hybrid::configuration::StepMergeTpkPrivileges>();
- AddStep<ci::security::StepPrivilegeCompatibility>(
+ AddStepAfter<wgt::security::StepCheckSettingsLevel>("Signature");
+ AddStepAfter<wgt::security::StepCheckWgtBackgroundCategory>(
+ "CheckSettingsLevel");
+ AddStepAfter<wgt::security::StepCheckWgtNotificationCategory>(
+ "CheckWgtBackgroundCategory");
+ AddStepAfter<wgt::security::StepCheckWgtImePrivilege>(
+ "CheckWgtNotificationCategory");
+ AddStepAfter<tpk::filesystem::StepTpkPatchIcons>(
+ "RemoveGlobalAppSymlinks");
+ AddStepAfter<wgt::filesystem::StepWgtPatchIcons>("TpkPatchIcons", true);
+ AddStepAfter<wgt::filesystem::StepCreateWgtSymbolicLink>("WgtPatchIcons");
+ AddStepAfter<tpk::filesystem::StepCreateTpkSymbolicLink>(
+ "CreateWgtSymbolicLink");
+ AddStepAfter<wgt::pkgmgr::StepGenerateXml>("CreateTpkSymbolicLink");
+ AddStepAfter<hybrid::pkgmgr::StepMergeXml>("GenerateXml");
+ AddStepAfter<tpk::pkgmgr::StepManifestAdjustment>("MergeXml");
+ AddStepAfter<hybrid::configuration::StepMergeTpkConfig>("ManifestAdjustment");
+ AddStepAfter<hybrid::configuration::StepMergeTpkPrivileges>("MergeTpkConfig");
+ AddStepAfter<ci::security::StepPrivilegeCompatibility>("MergeTpkPrivileges",
ci::security::StepPrivilegeCompatibility::InternalPrivType::BOTH);
- AddStep<hybrid::configuration::StepSetMainapp>();
- AddStep<ci::pkgmgr::StepRegisterApplication>();
- AddStep<ci::security::StepRegisterTrustAnchor>(
- ci::security::StepRegisterTrustAnchor::RegisterType::UPDATE);
- AddStep<ci::security::StepPrivacyPrivilege>(
- ci::security::StepPrivacyPrivilege::ActionType::Install);
- AddStep<ci::security::StepRegisterSecurity>();
- AddStep<ci::pkgmgr::StepRunParserPlugin>(
- ci::Plugin::ActionType::Install);
- AddStep<ci::filesystem::StepCreateStorageDirectories>(
+ AddStepAfter<hybrid::configuration::StepSetMainapp>("PrivilegeCompatibility");
+ ReplaceStep<ci::filesystem::StepCreateStorageDirectories>(
+ "CreateStorageDirectories",
wgt::filesystem::HybridAdditionalSharedDirs);
- AddStep<ci::filesystem::StepChangeOwnershipAndPermission>();
- AddStep<ci::filesystem::StepCreateGlobalAppSymlinks>();
}
void HybridInstaller::ManifestDirectUpdateSteps() {
- AddStep<ci::configuration::StepConfigure>(pkgmgr_);
- AddStep<ci::configuration::StepParseManifest>(
- ci::configuration::StepParseManifest::ManifestLocation::INSTALLED,
- ci::configuration::StepParseManifest::StoreLocation::NORMAL);
- AddStep<ci::pkgmgr::StepCheckUpgradable>();
- AddStep<hybrid::configuration::StepStashTpkConfig>();
- AddStep<wgt::configuration::StepParse>(
+ AppInstaller::ManifestDirectUpdateSteps();
+ AddStepAfter<hybrid::configuration::StepStashTpkConfig>("CheckUpgradable");
+ AddStepAfter<wgt::configuration::StepParse>("StashTpkConfig",
wgt::configuration::StepParse::ConfigLocation::INSTALLED, true);
- AddStep<ci::configuration::StepParsePreload>();
- AddStep<ci::configuration::StepCheckTizenVersion>();
- AddStep<ci::security::StepSignature>(true);
- AddStep<wgt::security::StepCheckSettingsLevel>();
- AddStep<wgt::security::StepCheckWgtBackgroundCategory>();
- AddStep<ci::configuration::StepParseManifest>(
- ci::configuration::StepParseManifest::ManifestLocation::PACKAGE,
- ci::configuration::StepParseManifest::StoreLocation::BACKUP);
- AddStep<ci::pkgmgr::StepKillApps>();
- AddStep<ci::filesystem::StepRemoveGlobalAppSymlinks>();
- AddStep<tpk::filesystem::StepTpkPatchIcons>();
- AddStep<wgt::filesystem::StepWgtPatchIcons>(true);
- AddStep<wgt::pkgmgr::StepGenerateXml>();
- AddStep<hybrid::pkgmgr::StepMergeXml>();
- AddStep<tpk::pkgmgr::StepManifestAdjustment>();
- AddStep<hybrid::configuration::StepMergeTpkConfig>();
- AddStep<hybrid::configuration::StepMergeTpkPrivileges>();
- AddStep<ci::security::StepPrivilegeCompatibility>(
+ AddStepAfter<wgt::security::StepCheckSettingsLevel>("CheckOldCertificate");
+ AddStepAfter<wgt::security::StepCheckWgtBackgroundCategory>(
+ "CheckSettingsLevel");
+ AddStepAfter<wgt::security::StepCheckWgtNotificationCategory>(
+ "CheckWgtBackgroundCategory");
+ AddStepAfter<wgt::security::StepCheckWgtImePrivilege>(
+ "CheckWgtNotificationCategory");
+ AddStepAfter<tpk::filesystem::StepTpkPatchIcons>(
+ "RemoveGlobalAppSymlinks");
+ AddStepAfter<wgt::filesystem::StepWgtPatchIcons>("TpkPatchIcons", true);
+ AddStepAfter<wgt::filesystem::StepCreateWgtSymbolicLink>("WgtPatchIcons");
+ AddStepAfter<tpk::filesystem::StepCreateTpkSymbolicLink>(
+ "CreateWgtSymbolicLink");
+ AddStepAfter<wgt::pkgmgr::StepGenerateXml>("CreateTpkSymbolicLink");
+ AddStepAfter<hybrid::pkgmgr::StepMergeXml>("GenerateXml");
+ AddStepAfter<tpk::pkgmgr::StepManifestAdjustment>("MergeXml");
+ AddStepAfter<hybrid::configuration::StepMergeTpkConfig>("ManifestAdjustment");
+ AddStepAfter<hybrid::configuration::StepMergeTpkPrivileges>("MergeTpkConfig");
+ AddStepAfter<ci::security::StepPrivilegeCompatibility>("MergeTpkPrivileges",
ci::security::StepPrivilegeCompatibility::InternalPrivType::BOTH);
- AddStep<hybrid::configuration::StepSetMainapp>();
- AddStep<ci::pkgmgr::StepUpdateApplication>();
- AddStep<ci::security::StepRegisterTrustAnchor>(
- ci::security::StepRegisterTrustAnchor::RegisterType::UPDATE);
- AddStep<ci::security::StepPrivacyPrivilege>(
- ci::security::StepPrivacyPrivilege::ActionType::Update);
- AddStep<ci::security::StepUpdateSecurity>();
- AddStep<ci::pkgmgr::StepRunParserPlugin>(
- ci::Plugin::ActionType::Upgrade);
- AddStep<ci::filesystem::StepUpdateStorageDirectories>();
- AddStep<ci::filesystem::StepChangeOwnershipAndPermission>();
- AddStep<ci::filesystem::StepCreateGlobalAppSymlinks>();
+ AddStepAfter<hybrid::configuration::StepSetMainapp>("PrivilegeCompatibility");
}
void HybridInstaller::ManifestPartialInstallSteps() {
- AddStep<ci::configuration::StepConfigure>(pkgmgr_);
- AddStep<ci::configuration::StepParseManifest>(
- ci::configuration::StepParseManifest::ManifestLocation::INSTALLED,
- ci::configuration::StepParseManifest::StoreLocation::NORMAL);
- AddStep<hybrid::configuration::StepStashTpkConfig>();
- AddStep<wgt::configuration::StepParse>(
+ AppInstaller::ManifestPartialInstallSteps();
+ AddStepAfter<hybrid::configuration::StepStashTpkConfig>("ParseManifest");
+ AddStepAfter<wgt::configuration::StepParse>("StashTpkConfig",
wgt::configuration::StepParse::ConfigLocation::INSTALLED, true);
- AddStep<hybrid::configuration::StepMergeTpkConfig>();
- AddStep<hybrid::configuration::StepSetMainapp>();
- AddStep<ci::configuration::StepParsePreload>();
- AddStep<ci::security::StepSignature>(false);
- AddStep<hybrid::configuration::StepMergeTpkPrivileges>();
- AddStep<ci::security::StepPrivilegeCompatibility>(
- ci::security::StepPrivilegeCompatibility::InternalPrivType::BOTH);
- AddStep<ci::filesystem::StepRemoveGlobalAppSymlinks>();
- AddStep<wgt::filesystem::StepWgtPatchIcons>(false);
- AddStep<ci::pkgmgr::StepRegisterApplication>();
- AddStep<ci::security::StepRegisterTrustAnchor>(
- ci::security::StepRegisterTrustAnchor::RegisterType::INSTALL);
- AddStep<ci::security::StepPrivacyPrivilege>(
- ci::security::StepPrivacyPrivilege::ActionType::Install);
- AddStep<ci::security::StepRegisterSecurity>();
- AddStep<ci::pkgmgr::StepRunParserPlugin>(
- ci::Plugin::ActionType::Install);
- AddStep<ci::filesystem::StepCreateStorageDirectories>(
+ AddStepAfter<wgt::security::StepCheckSettingsLevel>("Signature");
+ AddStepAfter<wgt::security::StepCheckWgtBackgroundCategory>(
+ "CheckSettingsLevel");
+ AddStepAfter<wgt::security::StepCheckWgtNotificationCategory>(
+ "CheckWgtBackgroundCategory");
+ AddStepAfter<wgt::security::StepCheckWgtImePrivilege>(
+ "CheckWgtNotificationCategory");
+ AddStepAfter<wgt::filesystem::StepWgtPatchIcons>("RemoveGlobalAppSymlinks",
+ false);
+ ReplaceStep<ci::filesystem::StepCreateStorageDirectories>(
+ "CreateStorageDirectories",
wgt::filesystem::HybridAdditionalSharedDirs);
- AddStep<ci::filesystem::StepCreateGlobalAppSymlinks>();
+ AddStepBefore<hybrid::configuration::StepMergeTpkConfig>(
+ "RegisterApplication");
+ AddStepAfter<hybrid::configuration::StepMergeTpkPrivileges>("MergeTpkConfig");
+ AddStepAfter<ci::security::StepPrivilegeCompatibility>("MergeTpkPrivileges",
+ ci::security::StepPrivilegeCompatibility::InternalPrivType::BOTH);
+ AddStepAfter<hybrid::configuration::StepSetMainapp>("PrivilegeCompatibility");
}
void HybridInstaller::ManifestPartialUpdateSteps() {
- AddStep<ci::configuration::StepConfigure>(pkgmgr_);
- AddStep<ci::configuration::StepParseManifest>(
- ci::configuration::StepParseManifest::ManifestLocation::INSTALLED,
- ci::configuration::StepParseManifest::StoreLocation::NORMAL);
- AddStep<hybrid::configuration::StepStashTpkConfig>();
- AddStep<wgt::configuration::StepParse>(
+ AppInstaller::ManifestPartialUpdateSteps();
+ AddStepAfter<hybrid::configuration::StepStashTpkConfig>("ParseManifest");
+ AddStepAfter<wgt::configuration::StepParse>("StashTpkConfig",
wgt::configuration::StepParse::ConfigLocation::INSTALLED, true);
- AddStep<hybrid::configuration::StepMergeTpkConfig>();
- AddStep<hybrid::configuration::StepSetMainapp>();
- AddStep<ci::configuration::StepParsePreload>();
- AddStep<ci::security::StepSignature>(false);
- AddStep<ci::configuration::StepParseManifest>(
- ci::configuration::StepParseManifest::ManifestLocation::INSTALLED,
- ci::configuration::StepParseManifest::StoreLocation::BACKUP);
- AddStep<hybrid::configuration::StepMergeTpkPrivileges>();
- AddStep<ci::security::StepPrivilegeCompatibility>(
+ AddStepAfter<wgt::security::StepCheckSettingsLevel>("CheckOldCertificate");
+ AddStepAfter<wgt::security::StepCheckWgtBackgroundCategory>(
+ "CheckSettingsLevel");
+ AddStepAfter<wgt::security::StepCheckWgtNotificationCategory>(
+ "CheckWgtBackgroundCategory");
+ AddStepAfter<wgt::security::StepCheckWgtImePrivilege>(
+ "CheckWgtNotificationCategory");
+ AddStepAfter<wgt::filesystem::StepWgtPatchIcons>("RemoveGlobalAppSymlinks",
+ false);
+ AddStepBefore<hybrid::configuration::StepMergeTpkConfig>("UpdateApplication");
+ AddStepAfter<hybrid::configuration::StepMergeTpkPrivileges>("MergeTpkConfig");
+ AddStepAfter<ci::security::StepPrivilegeCompatibility>("MergeTpkPrivileges",
ci::security::StepPrivilegeCompatibility::InternalPrivType::BOTH);
- AddStep<ci::pkgmgr::StepKillApps>();
- AddStep<ci::filesystem::StepRemoveGlobalAppSymlinks>();
- AddStep<wgt::filesystem::StepWgtPatchIcons>(false);
- AddStep<ci::pkgmgr::StepUpdateApplication>();
- AddStep<ci::security::StepRegisterTrustAnchor>(
- ci::security::StepRegisterTrustAnchor::RegisterType::UPDATE);
- AddStep<ci::security::StepPrivacyPrivilege>(
- ci::security::StepPrivacyPrivilege::ActionType::Update);
- AddStep<ci::security::StepRegisterSecurity>();
- AddStep<ci::pkgmgr::StepRunParserPlugin>(
- ci::Plugin::ActionType::Upgrade);
- AddStep<ci::filesystem::StepUpdateStorageDirectories>();
- AddStep<ci::filesystem::StepCreateGlobalAppSymlinks>();
+ AddStepAfter<hybrid::configuration::StepSetMainapp>("PrivilegeCompatibility");
}
void HybridInstaller::PartialUninstallSteps() {
- 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::pkgmgr::StepRunParserPlugin>(
- ci::Plugin::ActionType::Uninstall);
- AddStep<ci::filesystem::StepRemoveGlobalAppSymlinks>();
- AddStep<ci::filesystem::StepOptionalAcquireExternalStorage>();
- AddStep<ci::filesystem::StepRemovePerUserStorageDirectories>();
- AddStep<ci::pkgmgr::StepUnregisterApplication>();
- AddStep<wgt::encryption::StepRemoveEncryptionData>();
- AddStep<ci::security::StepUnregisterTrustAnchor>();
- AddStep<ci::security::StepPrivacyPrivilege>(
- ci::security::StepPrivacyPrivilege::ActionType::Uninstall);
- AddStep<ci::security::StepRevokeSecurity>();
+ AppInstaller::PartialUninstallSteps();
+ AddStepAfter<wgt::encryption::StepRemoveEncryptionData>(
+ "RemovePerUserStorageDirectories");
}
void HybridInstaller::ReadonlyUpdateInstallSteps() {
- AddStep<ci::configuration::StepConfigure>(pkgmgr_);
- AddStep<ci::recovery::StepCreateRecoveryFile>();
- AddStep<ci::filesystem::StepUnzip>();
- AddStep<ci::configuration::StepParseManifest>(
- ci::configuration::StepParseManifest::ManifestLocation::PACKAGE,
- ci::configuration::StepParseManifest::StoreLocation::NORMAL);
- AddStep<ci::pkgmgr::StepCheckUpgradable>();
- AddStep<hybrid::configuration::StepStashTpkConfig>();
- AddStep<wgt::configuration::StepParse>(
+ AppInstaller::ReadonlyUpdateInstallSteps();
+ AddStepAfter<hybrid::configuration::StepStashTpkConfig>("CheckUpgradable");
+ AddStepAfter<wgt::configuration::StepParse>("StashTpkConfig",
wgt::configuration::StepParse::ConfigLocation::RESOURCE_WGT, true);
- AddStep<ci::configuration::StepParsePreload>();
- AddStep<ci::configuration::StepCheckTizenVersion>();
- AddStep<ci::security::StepSignature>(true);
- AddStep<wgt::security::StepCheckSettingsLevel>();
- AddStep<wgt::security::StepCheckWgtBackgroundCategory>();
- AddStep<wgt::security::StepCheckWgtNotificationCategory>();
- AddStep<wgt::security::StepCheckWgtImePrivilege>();
- AddStep<hybrid::encryption::StepEncryptHybridResources>();
- AddStep<ci::configuration::StepSwitchReadonlyMode>();
- AddStep<ci::configuration::StepParseManifest>(
- ci::configuration::StepParseManifest::ManifestLocation::INSTALLED,
- ci::configuration::StepParseManifest::StoreLocation::BACKUP);
- AddStep<ci::configuration::StepSwitchReadonlyMode>();
- AddStep<ci::configuration::StepBlockCrossUpdate>();
- AddStep<ci::pkgmgr::StepKillApps>();
- AddStep<ci::filesystem::StepCopy>();
- AddStep<ci::filesystem::StepCopyTep>();
- AddStep<tpk::filesystem::StepTpkPatchIcons>();
- AddStep<wgt::filesystem::StepWgtPatchIcons>(true);
- AddStep<ci::filesystem::StepCreateIcons>();
- AddStep<wgt::filesystem::StepCopyPreviewIcons>();
- AddStep<wgt::filesystem::StepWgtPatchStorageDirectories>();
- AddStep<ci::filesystem::StepCreateStorageDirectories>();
- AddStep<wgt::pkgmgr::StepGenerateXml>();
- AddStep<hybrid::pkgmgr::StepMergeXml>();
- AddStep<tpk::pkgmgr::StepManifestAdjustment>();
- AddStep<hybrid::configuration::StepMergeTpkConfig>();
- AddStep<hybrid::configuration::StepMergeTpkPrivileges>();
- AddStep<ci::security::StepPrivilegeCompatibility>(
+ AddStepAfter<wgt::security::StepCheckSettingsLevel>("CheckOldCertificate");
+ AddStepAfter<wgt::security::StepCheckWgtBackgroundCategory>(
+ "CheckSettingsLevel");
+ AddStepAfter<wgt::security::StepCheckWgtNotificationCategory>(
+ "CheckWgtBackgroundCategory");
+ AddStepAfter<wgt::security::StepCheckWgtImePrivilege>(
+ "CheckWgtNotificationCategory");
+ AddStepAfter<hybrid::encryption::StepEncryptHybridResources>(
+ "CheckWgtImePrivilege");
+ AddStepAfter<tpk::filesystem::StepTpkPatchIcons>("CreateIcons");
+ AddStepAfter<wgt::filesystem::StepWgtPatchIcons>("TpkPatchIcons", true);
+ AddStepAfter<wgt::filesystem::StepCopyPreviewIcons>("WgtPatchIcons");
+ AddStepAfter<wgt::filesystem::StepCreateWgtSymbolicLink>("CopyPreviewIcons");
+ AddStepAfter<tpk::filesystem::StepCreateTpkSymbolicLink>(
+ "CreateWgtSymbolicLink");
+ AddStepAfter<wgt::pkgmgr::StepGenerateXml>("CreateTpkSymbolicLink");
+ AddStepAfter<hybrid::pkgmgr::StepMergeXml>("GenerateXml");
+ AddStepAfter<tpk::pkgmgr::StepManifestAdjustment>("MergeXml");
+ AddStepAfter<hybrid::configuration::StepMergeTpkConfig>("ManifestAdjustment");
+ AddStepAfter<hybrid::configuration::StepMergeTpkPrivileges>("MergeTpkConfig");
+ AddStepAfter<ci::security::StepPrivilegeCompatibility>("MergeTpkPrivileges",
ci::security::StepPrivilegeCompatibility::InternalPrivType::BOTH);
- AddStep<wgt::filesystem::StepCreateWgtSymbolicLink>();
- AddStep<tpk::filesystem::StepCreateTpkSymbolicLink>();
- AddStep<ci::pkgmgr::StepUpdateApplication>();
- AddStep<ci::security::StepRegisterTrustAnchor>(
- ci::security::StepRegisterTrustAnchor::RegisterType::UPDATE);
- AddStep<ci::security::StepPrivacyPrivilege>(
- ci::security::StepPrivacyPrivilege::ActionType::Update);
- AddStep<ci::security::StepUpdateSecurity>();
- AddStep<ci::pkgmgr::StepRunParserPlugin>(
- ci::Plugin::ActionType::Upgrade);
- AddStep<ci::filesystem::StepUpdateStorageDirectories>();
- AddStep<ci::filesystem::StepChangeOwnershipAndPermission>();
- AddStep<ci::filesystem::StepCreateGlobalAppSymlinks>();
+ AddStepAfter<wgt::filesystem::StepWgtPatchStorageDirectories>(
+ "CreateStorageDirectories");
}
void HybridInstaller::ReadonlyUpdateUninstallSteps() {
- AddStep<ci::configuration::StepConfigure>(pkgmgr_);
- AddStep<ci::pkgmgr::StepCheckRestriction>();
- AddStep<ci::pkgmgr::StepCheckRemovable>();
- AddStep<ci::configuration::StepParseManifest>(
- ci::configuration::StepParseManifest::ManifestLocation::INSTALLED,
- ci::configuration::StepParseManifest::StoreLocation::BACKUP);
- AddStep<ci::configuration::StepSwitchReadonlyMode>();
- AddStep<ci::configuration::StepParseManifest>(
- ci::configuration::StepParseManifest::ManifestLocation::INSTALLED,
- ci::configuration::StepParseManifest::StoreLocation::NORMAL);
- AddStep<ci::pkgmgr::StepCheckUpgradable>();
- AddStep<ci::configuration::StepParsePreload>();
- AddStep<wgt::configuration::StepSetOldSignatureFilesLocation>();
- AddStep<ci::security::StepSignature>(false);
- AddStep<ci::security::StepPrivilegeCompatibility>(
- ci::security::StepPrivilegeCompatibility::InternalPrivType::WGT);
- AddStep<ci::configuration::StepSwitchReadonlyMode>();
- AddStep<ci::pkgmgr::StepKillApps>();
- AddStep<ci::filesystem::StepRemoveGlobalAppSymlinks>();
- AddStep<ci::filesystem::StepRemoveTep>();
- AddStep<ci::filesystem::StepRemoveFiles>();
- AddStep<ci::filesystem::StepRemoveZipImage>();
- AddStep<hybrid::configuration::StepSetMainapp>();
- AddStep<ci::pkgmgr::StepUpdateApplication>();
- AddStep<ci::filesystem::StepRemoveUserData>();
- AddStep<ci::configuration::StepSwitchReadonlyMode>();
- AddStep<ci::security::StepRevokeTrustAnchor>();
- AddStep<ci::security::StepRegisterTrustAnchor>(
- ci::security::StepRegisterTrustAnchor::RegisterType::UPDATE);
- AddStep<ci::security::StepPrivacyPrivilege>(
- ci::security::StepPrivacyPrivilege::ActionType::Update);
- AddStep<ci::security::StepUpdateSecurity>();
- AddStep<ci::pkgmgr::StepRemoveManifest>();
- AddStep<ci::pkgmgr::StepRunParserPlugin>(ci::Plugin::ActionType::Upgrade);
+ AppInstaller::ReadonlyUpdateUninstallSteps();
+ AddStepAfter<hybrid::configuration::StepStashTpkConfig>("CheckUpgradable");
+ AddStepAfter<wgt::configuration::StepParse>("StashTpkConfig",
+ wgt::configuration::StepParse::ConfigLocation::INSTALLED, true);
+ AddStepAfter<wgt::security::StepCheckSettingsLevel>("Signature");
+ AddStepAfter<wgt::security::StepCheckWgtBackgroundCategory>(
+ "CheckSettingsLevel");
+ AddStepAfter<wgt::security::StepCheckWgtNotificationCategory>(
+ "CheckWgtBackgroundCategory");
+ AddStepAfter<wgt::security::StepCheckWgtImePrivilege>(
+ "CheckWgtNotificationCategory");
+ AddStepBefore<hybrid::configuration::StepMergeTpkConfig>("UpdateApplication");
+ AddStepAfter<hybrid::configuration::StepMergeTpkPrivileges>("MergeTpkConfig");
+ AddStepAfter<ci::security::StepPrivilegeCompatibility>("MergeTpkPrivileges",
+ ci::security::StepPrivilegeCompatibility::InternalPrivType::BOTH);
+ AddStepAfter<hybrid::configuration::StepSetMainapp>("PrivilegeCompatibility");
}
void HybridInstaller::EnablePkgSteps() {
- AddStep<ci::configuration::StepConfigure>(pkgmgr_);
- AddStep<ci::configuration::StepParseManifest>(
- ci::configuration::StepParseManifest::ManifestLocation::INSTALLED,
- ci::configuration::StepParseManifest::StoreLocation::NORMAL);
- AddStep<ci::pkgmgr::StepKillApps>();
- AddStep<ci::pkgmgr::StepUpdatePkgDisableInfo>(
- ci::pkgmgr::StepUpdatePkgDisableInfo::ActionType::Enable);
- AddStep<ci::pkgmgr::StepRunParserPlugin>(
- ci::Plugin::ActionType::Install);
+ AppInstaller::EnablePkgSteps();
}
void HybridInstaller::DisablePkgSteps() {
- AddStep<ci::configuration::StepConfigure>(pkgmgr_);
- AddStep<ci::configuration::StepParseManifest>(
- ci::configuration::StepParseManifest::ManifestLocation::INSTALLED,
- ci::configuration::StepParseManifest::StoreLocation::NORMAL);
- AddStep<ci::pkgmgr::StepKillApps>();
- AddStep<ci::pkgmgr::StepUpdatePkgDisableInfo>(
- ci::pkgmgr::StepUpdatePkgDisableInfo::ActionType::Disable);
- AddStep<ci::pkgmgr::StepRunParserPlugin>(
- ci::Plugin::ActionType::Uninstall);
+ AppInstaller::DisablePkgSteps();
}
void HybridInstaller::MigrateExtImgSteps() {
- AddStep<ci::configuration::StepConfigure>(pkgmgr_);
- AddStep<ci::security::StepMigrateLegacyExtImage>();
- AddStep<ci::filesystem::StepChangeOwnershipAndPermission>();
+ AppInstaller::MigrateExtImgSteps();
}
void HybridInstaller::RecoverDBSteps() {
- AddStep<ci::configuration::StepConfigure>(pkgmgr_);
- AddStep<ci::configuration::StepParseManifest>(
- ci::configuration::StepParseManifest::ManifestLocation::INSTALLED,
- ci::configuration::StepParseManifest::StoreLocation::NORMAL);
- AddStep<ci::pkgmgr::StepCheckInstallable>();
- AddStep<hybrid::configuration::StepStashTpkConfig>();
- AddStep<wgt::configuration::StepParse>(
- wgt::configuration::StepParse::ConfigLocation::INSTALLED, true);
- AddStep<ci::configuration::StepParsePreload>();
- AddStep<wgt::security::StepCheckSettingsLevel>();
- AddStep<hybrid::configuration::StepMergeTpkConfig>();
- AddStep<hybrid::configuration::StepMergeTpkPrivileges>();
- AddStep<ci::security::StepGetPrivilegeLevel>();
- AddStep<ci::security::StepPrivilegeCompatibility>(
+ AppInstaller::RecoverDBSteps();
+ AddStepAfter<hybrid::configuration::StepStashTpkConfig>("CheckInstallable");
+ AddStepAfter<wgt::configuration::StepParse>("StashTpkConfig",
+ wgt::configuration::StepParse::ConfigLocation::RESOURCE_WGT, true);
+ AddStepAfter<wgt::security::StepCheckSettingsLevel>("GetPrivilegeLevel");
+ AddStepAfter<wgt::security::StepCheckWgtBackgroundCategory>(
+ "CheckSettingsLevel");
+ AddStepAfter<wgt::security::StepCheckWgtNotificationCategory>(
+ "CheckWgtBackgroundCategory");
+ AddStepAfter<wgt::security::StepCheckWgtImePrivilege>(
+ "CheckWgtNotificationCategory");
+ AddStepBefore<hybrid::configuration::StepMergeTpkConfig>(
+ "RegisterApplication");
+ AddStepAfter<hybrid::configuration::StepMergeTpkPrivileges>("MergeTpkConfig");
+ AddStepAfter<ci::security::StepPrivilegeCompatibility>("MergeTpkPrivileges",
ci::security::StepPrivilegeCompatibility::InternalPrivType::BOTH);
- AddStep<wgt::security::StepCheckSettingsLevel>();
- AddStep<hybrid::configuration::StepSetMainapp>();
- AddStep<ci::pkgmgr::StepRegisterApplication>();
+ AddStepAfter<hybrid::configuration::StepSetMainapp>("PrivilegeCompatibility");
}
} // namespace hybrid
#include <common/pkgmgr_interface.h>
#include <common/privileges.h>
-#include <common/step/backup/step_backup_icons.h>
-#include <common/step/backup/step_backup_manifest.h>
-#include <common/step/backup/step_copy_backup.h>
-#include <common/step/configuration/step_block_cross_update.h>
-#include <common/step/configuration/step_check_install_location.h>
-#include <common/step/configuration/step_check_tizen_version.h>
-#include <common/step/configuration/step_configure.h>
-#include <common/step/configuration/step_fail.h>
-#include <common/step/configuration/step_parse_manifest.h>
-#include <common/step/configuration/step_parse_preload.h>
-#include <common/step/configuration/step_switch_readonly_mode.h>
-#include <common/step/filesystem/step_acquire_external_storage.h>
-#include <common/step/filesystem/step_optional_acquire_external_storage.h>
-#include <common/step/filesystem/step_change_ownership_and_permission.h>
-#include <common/step/filesystem/step_copy.h>
-#include <common/step/filesystem/step_copy_storage_directories.h>
-#include <common/step/filesystem/step_copy_tep.h>
-#include <common/step/filesystem/step_create_icons.h>
-#include <common/step/filesystem/step_create_globalapp_symlinks.h>
#include <common/step/filesystem/step_create_storage_directories.h>
#include <common/step/filesystem/step_delta_patch.h>
-#include <common/step/filesystem/step_disable_external_mount.h>
-#include <common/step/filesystem/step_enable_external_mount.h>
-#include <common/step/filesystem/step_migrate_legacy_external_image.h>
-#include <common/step/filesystem/step_move_installed_storage.h>
-#include <common/step/filesystem/step_recover_change_owner.h>
-#include <common/step/filesystem/step_recover_files.h>
-#include <common/step/filesystem/step_recover_globalapp_symlinks.h>
-#include <common/step/filesystem/step_recover_icons.h>
-#include <common/step/filesystem/step_recover_manifest.h>
-#include <common/step/filesystem/step_recover_external_storage.h>
-#include <common/step/filesystem/step_recover_storage_directories.h>
-#include <common/step/filesystem/step_remove_files.h>
-#include <common/step/filesystem/step_remove_icons.h>
-#include <common/step/filesystem/step_remove_globalapp_symlinks.h>
-#include <common/step/filesystem/step_remove_per_user_storage_directories.h>
-#include <common/step/filesystem/step_remove_temporary_directory.h>
-#include <common/step/filesystem/step_remove_tep.h>
-#include <common/step/filesystem/step_remove_user_data.h>
-#include <common/step/filesystem/step_remove_zip_image.h>
-#include <common/step/filesystem/step_unzip.h>
-#include <common/step/filesystem/step_update_storage_directories.h>
-#include <common/step/filesystem/step_update_tep.h>
-#include <common/step/mount/step_check_mount_path.h>
-#include <common/step/mount/step_mount_install.h>
-#include <common/step/mount/step_mount_recover.h>
-#include <common/step/mount/step_mount_unpacked.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>
-#include <common/step/pkgmgr/step_check_upgradable.h>
-#include <common/step/pkgmgr/step_kill_apps.h>
-#include <common/step/pkgmgr/step_recover_application.h>
-#include <common/step/pkgmgr/step_recover_parser_plugins.h>
-#include <common/step/pkgmgr/step_register_app.h>
-#include <common/step/pkgmgr/step_remove_manifest.h>
-#include <common/step/pkgmgr/step_run_parser_plugins.h>
-#include <common/step/pkgmgr/step_unregister_app.h>
-#include <common/step/pkgmgr/step_update_app.h>
-#include <common/step/pkgmgr/step_update_pkg_disable_info.h>
-#include <common/step/rds/step_rds_modify.h>
-#include <common/step/rds/step_rds_parse.h>
-#include <common/step/recovery/step_open_recovery_file.h>
-#include <common/step/recovery/step_create_recovery_file.h>
-#include <common/step/security/step_check_old_certificate.h>
-#include <common/step/security/step_get_privilege_level.h>
-#include <common/step/security/step_privacy_privilege.h>
#include <common/step/security/step_privilege_compatibility.h>
#include <common/step/security/step_recover_privilege_compatibility.h>
-#include <common/step/security/step_recover_security.h>
-#include <common/step/security/step_recover_trust_anchor.h>
-#include <common/step/security/step_register_security.h>
-#include <common/step/security/step_revoke_security.h>
-#include <common/step/security/step_rollback_installation_security.h>
-#include <common/step/security/step_update_security.h>
-#include <common/step/security/step_register_trust_anchor.h>
-#include <common/step/security/step_revoke_trust_anchor.h>
-#include <common/step/security/step_signature.h>
-#include <common/step/security/step_unregister_trust_anchor.h>
#include <wgt_manifest_handlers/widget_config_parser.h>
}
void WgtInstaller::InstallSteps() {
- AddStep<ci::configuration::StepConfigure>(pkgmgr_);
- AddStep<ci::recovery::StepCreateRecoveryFile>();
- AddStep<ci::filesystem::StepUnzip>();
- AddStep<wgt::configuration::StepParse>(
+ AppInstaller::InstallSteps();
+ ReplaceStep<wgt::configuration::StepParse>("ParseManifest",
wgt::configuration::StepParse::ConfigLocation::PACKAGE, true);
- AddStep<ci::configuration::StepCheckInstallLocation>();
- AddStep<ci::pkgmgr::StepCheckInstallable>();
- AddStep<ci::configuration::StepParsePreload>();
- AddStep<ci::pkgmgr::StepCheckRestriction>();
- AddStep<ci::configuration::StepCheckTizenVersion>();
- AddStep<ci::security::StepSignature>(true);
- AddStep<ci::security::StepPrivilegeCompatibility>(
+ AddStepAfter<ci::security::StepPrivilegeCompatibility>("Signature",
ci::security::StepPrivilegeCompatibility::InternalPrivType::WGT);
- AddStep<wgt::security::StepCheckSettingsLevel>();
- AddStep<wgt::security::StepCheckWgtBackgroundCategory>();
- AddStep<wgt::security::StepCheckWgtNotificationCategory>();
- AddStep<wgt::security::StepCheckWgtImePrivilege>();
- AddStep<wgt::encryption::StepEncryptResources>();
- AddStep<wgt::filesystem::StepWgtResourceDirectory>();
- AddStep<ci::security::StepRollbackInstallationSecurity>();
- AddStep<ci::filesystem::StepRemoveGlobalAppSymlinks>();
- AddStep<ci::filesystem::StepAcquireExternalStorage>(false);
- AddStep<ci::filesystem::StepCopy>();
- AddStep<ci::filesystem::StepCopyTep>();
- AddStep<wgt::filesystem::StepWgtPatchStorageDirectories>();
- AddStep<wgt::filesystem::StepCreateWgtSymbolicLink>();
- AddStep<wgt::filesystem::StepWgtPatchIcons>(true);
- AddStep<ci::filesystem::StepCreateIcons>();
- AddStep<wgt::filesystem::StepCopyPreviewIcons>();
- AddStep<wgt::security::StepCheckExtensionPrivileges>();
- AddStep<wgt::pkgmgr::StepGenerateXml>();
- AddStep<ci::pkgmgr::StepRegisterApplication>();
- AddStep<ci::security::StepRegisterTrustAnchor>(
- ci::security::StepRegisterTrustAnchor::RegisterType::INSTALL);
- AddStep<ci::security::StepPrivacyPrivilege>(
- ci::security::StepPrivacyPrivilege::ActionType::Install);
- AddStep<ci::security::StepRegisterSecurity>();
- AddStep<ci::pkgmgr::StepRunParserPlugin>(
- ci::Plugin::ActionType::Install);
- AddStep<ci::filesystem::StepCreateStorageDirectories>(
+ AddStepAfter<wgt::security::StepCheckSettingsLevel>("PrivilegeCompatibility");
+ AddStepAfter<wgt::security::StepCheckWgtBackgroundCategory>(
+ "CheckSettingsLevel");
+ AddStepAfter<wgt::security::StepCheckWgtNotificationCategory>(
+ "CheckWgtBackgroundCategory");
+ AddStepAfter<wgt::security::StepCheckWgtImePrivilege>(
+ "CheckWgtNotificationCategory");
+ AddStepAfter<wgt::encryption::StepEncryptResources>("CheckWgtImePrivilege");
+ AddStepAfter<wgt::filesystem::StepWgtResourceDirectory>("EncryptResources");
+ AddStepAfter<wgt::filesystem::StepWgtPatchIcons>("CreateIcons", true);
+ AddStepAfter<wgt::filesystem::StepCopyPreviewIcons>("WgtPatchIcons");
+ AddStepAfter<wgt::filesystem::StepCreateWgtSymbolicLink>("CopyPreviewIcons");
+ AddStepAfter<wgt::security::StepCheckExtensionPrivileges>(
+ "CreateWgtSymbolicLink");
+ AddStepAfter<wgt::pkgmgr::StepGenerateXml>("CheckExtensionPrivileges");
+ ReplaceStep<ci::filesystem::StepCreateStorageDirectories>(
+ "CreateStorageDirectories",
wgt::filesystem::WgtAdditionalSharedDirs);
- AddStep<ci::filesystem::StepChangeOwnershipAndPermission>();
- AddStep<ci::filesystem::StepCreateGlobalAppSymlinks>();
+ AddStepAfter<wgt::filesystem::StepWgtPatchStorageDirectories>(
+ "CreateStorageDirectories");
}
void WgtInstaller::UpdateSteps() {
- AddStep<ci::configuration::StepConfigure>(pkgmgr_);
- AddStep<ci::recovery::StepCreateRecoveryFile>();
- AddStep<ci::filesystem::StepUnzip>();
- AddStep<wgt::configuration::StepParse>(
+ AppInstaller::UpdateSteps();
+ ReplaceStep<wgt::configuration::StepParse>("ParseManifest",
wgt::configuration::StepParse::ConfigLocation::PACKAGE, true);
- AddStep<ci::configuration::StepCheckInstallLocation>();
- AddStep<ci::pkgmgr::StepCheckUpgradable>();
- AddStep<ci::configuration::StepParsePreload>();
- AddStep<ci::configuration::StepCheckTizenVersion>();
- AddStep<ci::security::StepSignature>(true);
- AddStep<ci::security::StepPrivilegeCompatibility>(
+ AddStepAfter<ci::security::StepPrivilegeCompatibility>("CheckOldCertificate",
ci::security::StepPrivilegeCompatibility::InternalPrivType::WGT);
- AddStep<wgt::security::StepCheckSettingsLevel>();
- AddStep<wgt::security::StepCheckWgtBackgroundCategory>();
- AddStep<wgt::security::StepCheckWgtNotificationCategory>();
- AddStep<wgt::security::StepCheckWgtImePrivilege>();
- AddStep<ci::security::StepCheckOldCertificate>();
- AddStep<wgt::encryption::StepEncryptResources>();
- AddStep<wgt::filesystem::StepWgtResourceDirectory>();
- AddStep<ci::configuration::StepParseManifest>(
- ci::configuration::StepParseManifest::ManifestLocation::INSTALLED,
- ci::configuration::StepParseManifest::StoreLocation::BACKUP);
- AddStep<ci::configuration::StepBlockCrossUpdate>();
- AddStep<ci::pkgmgr::StepKillApps>();
- AddStep<ci::backup::StepBackupManifest>();
- AddStep<ci::backup::StepBackupIcons>();
- AddStep<ci::filesystem::StepRemoveGlobalAppSymlinks>();
- AddStep<ci::filesystem::StepAcquireExternalStorage>(true);
- AddStep<ci::security::StepRevokeTrustAnchor>();
- AddStep<ci::backup::StepCopyBackup>();
- AddStep<ci::filesystem::StepUpdateTep>();
- AddStep<wgt::filesystem::StepWgtPatchStorageDirectories>();
- AddStep<wgt::filesystem::StepCreateWgtSymbolicLink>();
- AddStep<wgt::filesystem::StepWgtPatchIcons>(true);
- AddStep<ci::filesystem::StepCreateIcons>();
- AddStep<wgt::filesystem::StepCopyPreviewIcons>();
- AddStep<ci::filesystem::StepCopyStorageDirectories>();
- AddStep<wgt::security::StepCheckExtensionPrivileges>();
- AddStep<wgt::pkgmgr::StepGenerateXml>();
- AddStep<ci::pkgmgr::StepUpdateApplication>();
- AddStep<ci::security::StepRegisterTrustAnchor>(
- ci::security::StepRegisterTrustAnchor::RegisterType::UPDATE);
- AddStep<ci::security::StepPrivacyPrivilege>(
- ci::security::StepPrivacyPrivilege::ActionType::Update);
- AddStep<ci::security::StepUpdateSecurity>();
- AddStep<ci::pkgmgr::StepRunParserPlugin>(
- ci::Plugin::ActionType::Upgrade);
- AddStep<ci::filesystem::StepUpdateStorageDirectories>();
- AddStep<ci::filesystem::StepChangeOwnershipAndPermission>();
- AddStep<ci::filesystem::StepCreateGlobalAppSymlinks>();
+ AddStepAfter<wgt::security::StepCheckSettingsLevel>("PrivilegeCompatibility");
+ AddStepAfter<wgt::security::StepCheckWgtBackgroundCategory>(
+ "CheckSettingsLevel");
+ AddStepAfter<wgt::security::StepCheckWgtNotificationCategory>(
+ "CheckWgtBackgroundCategory");
+ AddStepAfter<wgt::security::StepCheckWgtImePrivilege>(
+ "CheckWgtNotificationCategory");
+ AddStepAfter<wgt::encryption::StepEncryptResources>("CheckWgtImePrivilege");
+ AddStepAfter<wgt::filesystem::StepWgtResourceDirectory>("EncryptResources");
+ AddStepAfter<wgt::filesystem::StepWgtPatchIcons>("CreateIcons", true);
+ AddStepAfter<wgt::filesystem::StepCopyPreviewIcons>("WgtPatchIcons");
+ AddStepAfter<wgt::filesystem::StepCreateWgtSymbolicLink>("CopyPreviewIcons");
+ AddStepAfter<wgt::security::StepCheckExtensionPrivileges>(
+ "CreateWgtSymbolicLink");
+ AddStepAfter<wgt::pkgmgr::StepGenerateXml>("CheckExtensionPrivileges");
+ AddStepAfter<wgt::filesystem::StepWgtPatchStorageDirectories>(
+ "CopyStorageDirectories");
}
void WgtInstaller::UninstallSteps() {
- 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::configuration::StepCheckInstallLocation>();
- AddStep<ci::pkgmgr::StepKillApps>();
- AddStep<ci::filesystem::StepRemoveGlobalAppSymlinks>();
- AddStep<ci::filesystem::StepOptionalAcquireExternalStorage>();
- AddStep<ci::pkgmgr::StepRunParserPlugin>(
- ci::Plugin::ActionType::Uninstall);
- AddStep<ci::filesystem::StepRemovePerUserStorageDirectories>();
- AddStep<ci::pkgmgr::StepUnregisterApplication>();
- AddStep<ci::filesystem::StepRemoveTep>();
- AddStep<ci::filesystem::StepRemoveFiles>();
- AddStep<ci::filesystem::StepRemoveZipImage>();
- AddStep<ci::filesystem::StepRemoveIcons>();
- AddStep<wgt::encryption::StepRemoveEncryptionData>();
- AddStep<ci::security::StepUnregisterTrustAnchor>();
- AddStep<ci::security::StepPrivacyPrivilege>(
- ci::security::StepPrivacyPrivilege::ActionType::Uninstall);
- AddStep<ci::security::StepRevokeSecurity>();
- AddStep<ci::pkgmgr::StepRemoveManifest>();
- AddStep<ci::filesystem::StepCreateGlobalAppSymlinks>();
+ AppInstaller::UninstallSteps();
+ AddStepAfter<wgt::encryption::StepRemoveEncryptionData>(
+ "RemovePerUserStorageDirectories");
}
void WgtInstaller::ReinstallSteps() {
- AddStep<ci::configuration::StepConfigure>(pkgmgr_);
- AddStep<wgt::configuration::StepCheckRDSManifest>();
- AddStep<wgt::configuration::StepParse>(
+ AppInstaller::ReinstallSteps();
+ AddStepAfter<wgt::configuration::StepCheckRDSManifest>("Configure");
+ ReplaceStep<wgt::configuration::StepParse>("ParseManifest",
wgt::configuration::StepParse::ConfigLocation::RESOURCE_WGT, false);
- AddStep<ci::configuration::StepCheckInstallLocation>();
- AddStep<ci::configuration::StepParsePreload>();
- AddStep<ci::pkgmgr::StepCheckRestriction>();
- AddStep<ci::configuration::StepCheckTizenVersion>();
- AddStep<ci::pkgmgr::StepKillApps>();
- AddStep<ci::configuration::StepParseManifest>(
- ci::configuration::StepParseManifest::ManifestLocation::INSTALLED,
- ci::configuration::StepParseManifest::StoreLocation::BACKUP);
- AddStep<ci::configuration::StepBlockCrossUpdate>();
- AddStep<ci::filesystem::StepRemoveGlobalAppSymlinks>();
- AddStep<ci::security::StepRevokeTrustAnchor>();
- AddStep<ci::rds::StepRDSParse>();
- AddStep<ci::filesystem::StepUpdateTep>();
- AddStep<ci::rds::StepRDSModify>();
- AddStep<wgt::security::StepCheckExtensionPrivileges>();
- AddStep<ci::security::StepRegisterTrustAnchor>(
- ci::security::StepRegisterTrustAnchor::RegisterType::UPDATE);
- AddStep<ci::pkgmgr::StepRunParserPlugin>(
- ci::Plugin::ActionType::Upgrade);
- AddStep<ci::security::StepPrivacyPrivilege>(
- ci::security::StepPrivacyPrivilege::ActionType::Update);
- AddStep<ci::security::StepUpdateSecurity>();
- AddStep<ci::filesystem::StepChangeOwnershipAndPermission>();
- AddStep<ci::filesystem::StepCreateGlobalAppSymlinks>();
+ // Unlike reinstall mode (RDS) of tpk-backend, the RDS package of wgt does not
+ // contain signature files. This may can be changed differently later.
+ RemoveStep("Signature");
+ RemoveStep("CheckOldCertificate");
+ AddStepAfter<wgt::security::StepCheckExtensionPrivileges>("CreateIcons");
}
void WgtInstaller::DeltaSteps() {
- AddStep<ci::configuration::StepConfigure>(pkgmgr_);
- AddStep<ci::recovery::StepCreateRecoveryFile>();
- AddStep<ci::filesystem::StepUnzip>();
- AddStep<wgt::configuration::StepParse>(
+ AppInstaller::DeltaSteps();
+ ReplaceStep<wgt::configuration::StepParse>("ParseManifest",
wgt::configuration::StepParse::ConfigLocation::PACKAGE, false);
- AddStep<ci::configuration::StepCheckInstallLocation>();
- AddStep<ci::configuration::StepParseManifest>(
- ci::configuration::StepParseManifest::ManifestLocation::INSTALLED,
- ci::configuration::StepParseManifest::StoreLocation::BACKUP);
- AddStep<ci::pkgmgr::StepCheckUpgradable>();
- AddStep<ci::configuration::StepParsePreload>();
- AddStep<ci::configuration::StepCheckTizenVersion>();
- AddStep<ci::filesystem::StepEnableExternalMount>();
- AddStep<wgt::filesystem::StepWgtUndoPatchStorageDirectories>();
- AddStep<ci::filesystem::StepDeltaPatch>("res/wgt/");
- AddStep<ci::filesystem::StepDisableExternalMount>();
- AddStep<wgt::configuration::StepCheckStartFiles>();
- AddStep<ci::security::StepSignature>(true);
- AddStep<ci::security::StepPrivilegeCompatibility>(
+ AddStepAfter<wgt::filesystem::StepWgtUndoPatchStorageDirectories>(
+ "EnableExternalMount");
+ ReplaceStep<ci::filesystem::StepDeltaPatch>("DeltaPatch", "res/wgt/");
+ AddStepAfter<wgt::configuration::StepCheckStartFiles>("DisableExternalMount");
+ AddStepAfter<ci::security::StepPrivilegeCompatibility>("CheckOldCertificate",
ci::security::StepPrivilegeCompatibility::InternalPrivType::WGT);
- AddStep<wgt::security::StepCheckSettingsLevel>();
- AddStep<wgt::security::StepCheckWgtBackgroundCategory>();
- AddStep<wgt::security::StepCheckWgtNotificationCategory>();
- AddStep<wgt::security::StepCheckWgtImePrivilege>();
- AddStep<ci::security::StepCheckOldCertificate>();
- AddStep<wgt::encryption::StepEncryptResources>();
- AddStep<wgt::filesystem::StepWgtResourceDirectory>();
- AddStep<ci::configuration::StepBlockCrossUpdate>();
- AddStep<ci::pkgmgr::StepKillApps>();
- AddStep<ci::backup::StepBackupManifest>();
- AddStep<ci::backup::StepBackupIcons>();
- AddStep<ci::filesystem::StepRemoveGlobalAppSymlinks>();
- AddStep<ci::filesystem::StepAcquireExternalStorage>(true);
- AddStep<ci::security::StepRevokeTrustAnchor>();
- AddStep<ci::backup::StepCopyBackup>();
- AddStep<ci::filesystem::StepUpdateTep>();
- AddStep<wgt::filesystem::StepWgtPatchStorageDirectories>();
- AddStep<wgt::filesystem::StepCreateWgtSymbolicLink>();
- AddStep<wgt::filesystem::StepWgtPatchIcons>(true);
- AddStep<ci::filesystem::StepCreateIcons>();
- AddStep<wgt::filesystem::StepCopyPreviewIcons>();
- AddStep<ci::filesystem::StepCopyStorageDirectories>();
- AddStep<wgt::security::StepCheckExtensionPrivileges>();
- AddStep<wgt::pkgmgr::StepGenerateXml>();
- AddStep<ci::pkgmgr::StepUpdateApplication>();
- AddStep<ci::security::StepRegisterTrustAnchor>(
- ci::security::StepRegisterTrustAnchor::RegisterType::UPDATE);
- AddStep<ci::security::StepPrivacyPrivilege>(
- ci::security::StepPrivacyPrivilege::ActionType::Update);
- AddStep<ci::security::StepUpdateSecurity>();
- AddStep<ci::pkgmgr::StepRunParserPlugin>(
- ci::Plugin::ActionType::Upgrade);
- AddStep<ci::filesystem::StepUpdateStorageDirectories>();
- AddStep<ci::filesystem::StepChangeOwnershipAndPermission>();
- AddStep<ci::filesystem::StepCreateGlobalAppSymlinks>();
+ AddStepAfter<wgt::security::StepCheckSettingsLevel>("PrivilegeCompatibility");
+ AddStepAfter<wgt::security::StepCheckWgtBackgroundCategory>(
+ "CheckSettingsLevel");
+ AddStepAfter<wgt::security::StepCheckWgtNotificationCategory>(
+ "CheckWgtBackgroundCategory");
+ AddStepAfter<wgt::security::StepCheckWgtImePrivilege>(
+ "CheckWgtNotificationCategory");
+ AddStepAfter<wgt::encryption::StepEncryptResources>("CheckWgtImePrivilege");
+ AddStepAfter<wgt::filesystem::StepWgtResourceDirectory>("EncryptResources");
+ AddStepAfter<wgt::filesystem::StepWgtPatchIcons>("CreateIcons", true);
+ AddStepAfter<wgt::filesystem::StepCopyPreviewIcons>("WgtPatchIcons");
+ AddStepAfter<wgt::filesystem::StepCreateWgtSymbolicLink>("CopyPreviewIcons");
+ AddStepAfter<wgt::security::StepCheckExtensionPrivileges>(
+ "CreateWgtSymbolicLink");
+ AddStepAfter<wgt::pkgmgr::StepGenerateXml>("CheckExtensionPrivileges");
+ AddStepAfter<wgt::filesystem::StepWgtPatchStorageDirectories>(
+ "CopyStorageDirectories");
}
void WgtInstaller::RecoverySteps() {
- AddStep<ci::configuration::StepConfigure>(pkgmgr_);
- AddStep<ci::recovery::StepOpenRecoveryFile>();
- AddStep<ci::filesystem::StepRemoveTemporaryDirectory>();
- AddStep<ci::configuration::StepParseManifest>(
- ci::configuration::StepParseManifest::ManifestLocation::RECOVERY,
- ci::configuration::StepParseManifest::StoreLocation::NORMAL);
- AddStep<ci::filesystem::StepRecoverIcons>();
- AddStep<ci::pkgmgr::StepRecoverParserPlugin>();
- AddStep<ci::filesystem::StepRecoverManifest>();
- AddStep<ci::filesystem::StepRecoverExternalStorage>();
- AddStep<ci::filesystem::StepRecoverStorageDirectories>();
- AddStep<ci::filesystem::StepRecoverGlobalAppSymlinks>();
- AddStep<ci::filesystem::StepRecoverFiles>();
- AddStep<ci::mount::StepMountRecover>();
- AddStep<wgt::security::StepWgtRecoverSignature>();
- AddStep<ci::security::StepRecoverPrivilegeCompatibility>(
+ AppInstaller::RecoverySteps();
+ AddStepAfter<wgt::security::StepWgtRecoverSignature>("MountRecover");
+ AddStepAfter<ci::security::StepRecoverPrivilegeCompatibility>(
+ "WgtRecoverSignature",
ci::security::StepPrivilegeCompatibility::InternalPrivType::WGT);
- AddStep<ci::filesystem::StepRecoverChangeOwner>();
- AddStep<ci::security::StepRecoverSecurity>();
- AddStep<ci::pkgmgr::StepRecoverApplication>();
- AddStep<ci::security::StepRecoverTrustAnchor>();
}
void WgtInstaller::MountInstallSteps() {
- AddStep<ci::configuration::StepConfigure>(pkgmgr_);
- AddStep<ci::recovery::StepCreateRecoveryFile>();
- AddStep<ci::mount::StepMountUnpacked>();
- AddStep<wgt::configuration::StepParse>(
+ AppInstaller::MountInstallSteps();
+ ReplaceStep<wgt::configuration::StepParse>("ParseManifest",
wgt::configuration::StepParse::ConfigLocation::PACKAGE, true);
- AddStep<ci::configuration::StepCheckInstallLocation>();
- AddStep<ci::pkgmgr::StepCheckInstallable>();
- AddStep<ci::configuration::StepParsePreload>();
- AddStep<ci::pkgmgr::StepCheckRestriction>();
- AddStep<ci::configuration::StepCheckTizenVersion>();
- AddStep<ci::security::StepSignature>(true);
- AddStep<ci::security::StepPrivilegeCompatibility>(
+ AddStepAfter<ci::security::StepPrivilegeCompatibility>("Signature",
ci::security::StepPrivilegeCompatibility::InternalPrivType::WGT);
- AddStep<wgt::security::StepCheckSettingsLevel>();
- AddStep<wgt::security::StepCheckWgtBackgroundCategory>();
- AddStep<wgt::security::StepCheckWgtNotificationCategory>();
- AddStep<wgt::security::StepCheckWgtImePrivilege>();
- AddStep<wgt::encryption::StepEncryptResources>();
- AddStep<ci::security::StepRollbackInstallationSecurity>();
- AddStep<ci::filesystem::StepRemoveGlobalAppSymlinks>();
- AddStep<ci::mount::StepMountInstall>();
- AddStep<wgt::filesystem::StepWgtPreparePackageDirectory>();
- AddStep<ci::filesystem::StepCopyTep>();
- AddStep<wgt::filesystem::StepWgtPatchStorageDirectories>();
- AddStep<wgt::filesystem::StepCreateWgtSymbolicLink>();
- AddStep<wgt::filesystem::StepWgtPatchIcons>(true);
- AddStep<ci::filesystem::StepCreateIcons>();
- AddStep<wgt::filesystem::StepCopyPreviewIcons>();
- AddStep<wgt::pkgmgr::StepGenerateXml>();
- AddStep<wgt::security::StepCheckExtensionPrivileges>();
- AddStep<ci::pkgmgr::StepRegisterApplication>();
- AddStep<ci::security::StepRegisterTrustAnchor>(
- ci::security::StepRegisterTrustAnchor::RegisterType::INSTALL);
- AddStep<ci::security::StepPrivacyPrivilege>(
- ci::security::StepPrivacyPrivilege::ActionType::Install);
- AddStep<ci::security::StepRegisterSecurity>();
- AddStep<ci::pkgmgr::StepRunParserPlugin>(
- ci::Plugin::ActionType::Install);
- AddStep<ci::filesystem::StepCreateStorageDirectories>(
+ AddStepAfter<wgt::security::StepCheckSettingsLevel>("PrivilegeCompatibility");
+ AddStepAfter<wgt::security::StepCheckWgtBackgroundCategory>(
+ "CheckSettingsLevel");
+ AddStepAfter<wgt::security::StepCheckWgtNotificationCategory>(
+ "CheckWgtBackgroundCategory");
+ AddStepAfter<wgt::security::StepCheckWgtImePrivilege>(
+ "CheckWgtNotificationCategory");
+ AddStepAfter<wgt::encryption::StepEncryptResources>("CheckWgtImePrivilege");
+ AddStepAfter<wgt::filesystem::StepWgtPreparePackageDirectory>("MountInstall");
+ AddStepAfter<wgt::filesystem::StepWgtPatchIcons>("CreateIcons", true);
+ AddStepAfter<wgt::filesystem::StepCopyPreviewIcons>("WgtPatchIcons");
+ AddStepAfter<wgt::filesystem::StepCreateWgtSymbolicLink>(
+ "CopyPreviewIcons");
+ AddStepAfter<wgt::security::StepCheckExtensionPrivileges>(
+ "CreateWgtSymbolicLink");
+ AddStepAfter<wgt::pkgmgr::StepGenerateXml>("CheckExtensionPrivileges");
+ ReplaceStep<ci::filesystem::StepCreateStorageDirectories>(
+ "CreateStorageDirectories",
wgt::filesystem::WgtAdditionalSharedDirs);
- AddStep<ci::filesystem::StepChangeOwnershipAndPermission>(true);
- AddStep<ci::filesystem::StepCreateGlobalAppSymlinks>();
+ AddStepAfter<wgt::filesystem::StepWgtPatchStorageDirectories>(
+ "CreateStorageDirectories");
}
void WgtInstaller::MountUpdateSteps() {
- AddStep<ci::configuration::StepConfigure>(pkgmgr_);
- AddStep<ci::recovery::StepCreateRecoveryFile>();
- AddStep<ci::mount::StepMountUnpacked>();
- AddStep<wgt::configuration::StepParse>(
+ AppInstaller::MountUpdateSteps();
+ ReplaceStep<wgt::configuration::StepParse>("ParseManifest",
wgt::configuration::StepParse::ConfigLocation::PACKAGE, true);
- AddStep<ci::configuration::StepCheckInstallLocation>();
- AddStep<ci::pkgmgr::StepCheckUpgradable>();
- AddStep<ci::configuration::StepParsePreload>();
- AddStep<ci::configuration::StepCheckTizenVersion>();
- AddStep<ci::security::StepSignature>(true);
- AddStep<ci::security::StepPrivilegeCompatibility>(
+ AddStepAfter<ci::security::StepPrivilegeCompatibility>("CheckOldCertificate",
ci::security::StepPrivilegeCompatibility::InternalPrivType::WGT);
- AddStep<wgt::security::StepCheckSettingsLevel>();
- AddStep<wgt::security::StepCheckWgtBackgroundCategory>();
- AddStep<wgt::security::StepCheckWgtNotificationCategory>();
- AddStep<wgt::security::StepCheckWgtImePrivilege>();
- AddStep<ci::security::StepCheckOldCertificate>();
- AddStep<ci::configuration::StepParseManifest>(
- ci::configuration::StepParseManifest::ManifestLocation::INSTALLED,
- ci::configuration::StepParseManifest::StoreLocation::BACKUP);
- AddStep<ci::configuration::StepBlockCrossUpdate>();
- AddStep<ci::security::StepRevokeTrustAnchor>();
- AddStep<ci::pkgmgr::StepKillApps>();
- AddStep<ci::backup::StepBackupManifest>();
- AddStep<ci::backup::StepBackupIcons>();
- AddStep<ci::filesystem::StepRemoveGlobalAppSymlinks>();
- AddStep<ci::mount::StepMountUpdate>();
- AddStep<wgt::filesystem::StepWgtUpdatePackageDirectory>();
- AddStep<ci::filesystem::StepUpdateTep>();
- AddStep<wgt::filesystem::StepWgtPatchStorageDirectories>();
- AddStep<wgt::filesystem::StepCreateWgtSymbolicLink>();
- AddStep<wgt::filesystem::StepWgtPatchIcons>(true);
- AddStep<ci::filesystem::StepCreateIcons>();
- AddStep<wgt::filesystem::StepCopyPreviewIcons>();
- AddStep<wgt::security::StepCheckExtensionPrivileges>();
- AddStep<wgt::pkgmgr::StepGenerateXml>();
- AddStep<ci::pkgmgr::StepUpdateApplication>();
- AddStep<ci::security::StepRegisterTrustAnchor>(
- ci::security::StepRegisterTrustAnchor::RegisterType::UPDATE);
- AddStep<ci::security::StepPrivacyPrivilege>(
- ci::security::StepPrivacyPrivilege::ActionType::Update);
- AddStep<ci::security::StepUpdateSecurity>();
- AddStep<ci::pkgmgr::StepRunParserPlugin>(
- ci::Plugin::ActionType::Upgrade);
- AddStep<ci::filesystem::StepUpdateStorageDirectories>();
- AddStep<ci::filesystem::StepChangeOwnershipAndPermission>(true);
- AddStep<ci::filesystem::StepCreateGlobalAppSymlinks>();
+ AddStepAfter<wgt::security::StepCheckSettingsLevel>("PrivilegeCompatibility");
+ AddStepAfter<wgt::security::StepCheckWgtBackgroundCategory>(
+ "CheckSettingsLevel");
+ AddStepAfter<wgt::security::StepCheckWgtNotificationCategory>(
+ "CheckWgtBackgroundCategory");
+ AddStepAfter<wgt::security::StepCheckWgtImePrivilege>(
+ "CheckWgtNotificationCategory");
+ AddStepAfter<wgt::encryption::StepEncryptResources>("CheckWgtImePrivilege");
+ AddStepAfter<wgt::filesystem::StepWgtUpdatePackageDirectory>("MountUpdate");
+ AddStepAfter<wgt::filesystem::StepWgtPatchIcons>("CreateIcons", true);
+ AddStepAfter<wgt::filesystem::StepCopyPreviewIcons>("WgtPatchIcons");
+ AddStepAfter<wgt::filesystem::StepCreateWgtSymbolicLink>(
+ "CopyPreviewIcons");
+ AddStepAfter<wgt::security::StepCheckExtensionPrivileges>(
+ "CreateWgtSymbolicLink");
+ AddStepAfter<wgt::pkgmgr::StepGenerateXml>("CheckExtensionPrivileges");
+ AddStepAfter<wgt::filesystem::StepWgtPatchStorageDirectories>(
+ "UpdateStorageDirectories");
}
void WgtInstaller::ManifestDirectInstallSteps() {
- AddStep<ci::configuration::StepConfigure>(pkgmgr_);
- AddStep<wgt::configuration::StepParse>(
+ AppInstaller::ManifestDirectInstallSteps();
+ ReplaceStep<wgt::configuration::StepParse>("ParseManifest",
wgt::configuration::StepParse::ConfigLocation::INSTALLED, true);
- AddStep<ci::pkgmgr::StepCheckInstallable>();
- AddStep<ci::mount::StepCheckMountPath>();
- AddStep<ci::configuration::StepParsePreload>();
- AddStep<ci::configuration::StepCheckTizenVersion>();
- AddStep<wgt::security::StepDirectManifestSignature>(true);
- AddStep<ci::security::StepPrivilegeCompatibility>(
+ ReplaceStep<wgt::security::StepDirectManifestSignature>("Signature", true);
+ AddStepAfter<ci::security::StepPrivilegeCompatibility>(
+ "DirectManifestSignature",
ci::security::StepPrivilegeCompatibility::InternalPrivType::WGT);
- AddStep<wgt::security::StepCheckWgtNotificationCategory>();
- AddStep<wgt::security::StepCheckWgtImePrivilege>();
- AddStep<wgt::security::StepCheckSettingsLevel>();
- AddStep<wgt::security::StepCheckWgtBackgroundCategory>();
- AddStep<ci::security::StepRollbackInstallationSecurity>();
- AddStep<ci::filesystem::StepRemoveGlobalAppSymlinks>();
- AddStep<wgt::filesystem::StepWgtPatchIcons>(true);
- AddStep<wgt::pkgmgr::StepGenerateXml>();
- AddStep<ci::pkgmgr::StepRegisterApplication>();
- AddStep<ci::security::StepRegisterTrustAnchor>(
- ci::security::StepRegisterTrustAnchor::RegisterType::UPDATE);
- AddStep<ci::security::StepPrivacyPrivilege>(
- ci::security::StepPrivacyPrivilege::ActionType::Install);
- AddStep<ci::security::StepRegisterSecurity>();
- AddStep<ci::pkgmgr::StepRunParserPlugin>(ci::Plugin::ActionType::Install);
- AddStep<ci::filesystem::StepCreateStorageDirectories>(
+ AddStepAfter<wgt::security::StepCheckSettingsLevel>("PrivilegeCompatibility");
+ AddStepAfter<wgt::security::StepCheckWgtBackgroundCategory>(
+ "CheckSettingsLevel");
+ AddStepAfter<wgt::security::StepCheckWgtNotificationCategory>(
+ "CheckWgtBackgroundCategory");
+ AddStepAfter<wgt::security::StepCheckWgtImePrivilege>(
+ "CheckWgtNotificationCategory");
+ AddStepAfter<wgt::filesystem::StepWgtPatchIcons>("RemoveGlobalAppSymlinks",
+ true);
+ AddStepAfter<wgt::filesystem::StepCreateWgtSymbolicLink>(
+ "WgtPatchIcons");
+ AddStepAfter<wgt::pkgmgr::StepGenerateXml>("CreateWgtSymbolicLink");
+ ReplaceStep<ci::filesystem::StepCreateStorageDirectories>(
+ "CreateStorageDirectories",
wgt::filesystem::WgtAdditionalSharedDirs);
- AddStep<ci::filesystem::StepChangeOwnershipAndPermission>();
- AddStep<ci::filesystem::StepCreateGlobalAppSymlinks>();
}
void WgtInstaller::ManifestDirectUpdateSteps() {
- AddStep<ci::configuration::StepConfigure>(pkgmgr_);
- AddStep<wgt::configuration::StepParse>(
+ AppInstaller::ManifestDirectUpdateSteps();
+ ReplaceStep<wgt::configuration::StepParse>("ParseManifest",
wgt::configuration::StepParse::ConfigLocation::INSTALLED, true);
- AddStep<ci::mount::StepCheckMountPath>();
- AddStep<ci::pkgmgr::StepCheckUpgradable>();
- AddStep<ci::configuration::StepParsePreload>();
- AddStep<ci::configuration::StepCheckTizenVersion>();
- AddStep<wgt::security::StepDirectManifestSignature>(true);
- AddStep<ci::security::StepPrivilegeCompatibility>(
+ ReplaceStep<wgt::security::StepDirectManifestSignature>("Signature", true);
+ AddStepAfter<ci::security::StepPrivilegeCompatibility>(
+ "CheckOldCertificate",
ci::security::StepPrivilegeCompatibility::InternalPrivType::WGT);
- AddStep<wgt::security::StepCheckWgtNotificationCategory>();
- AddStep<wgt::security::StepCheckWgtImePrivilege>();
- AddStep<wgt::security::StepCheckSettingsLevel>();
- AddStep<wgt::security::StepCheckWgtBackgroundCategory>();
- AddStep<ci::configuration::StepParseManifest>(
- ci::configuration::StepParseManifest::ManifestLocation::INSTALLED,
- ci::configuration::StepParseManifest::StoreLocation::BACKUP);
- AddStep<ci::pkgmgr::StepKillApps>();
- AddStep<ci::filesystem::StepCopyTep>();
- AddStep<ci::filesystem::StepRemoveGlobalAppSymlinks>();
- AddStep<wgt::filesystem::StepWgtPatchIcons>(true);
- AddStep<wgt::pkgmgr::StepGenerateXml>();
- AddStep<ci::pkgmgr::StepUpdateApplication>();
- AddStep<ci::security::StepRegisterTrustAnchor>(
- ci::security::StepRegisterTrustAnchor::RegisterType::UPDATE);
- AddStep<ci::security::StepPrivacyPrivilege>(
- ci::security::StepPrivacyPrivilege::ActionType::Update);
- AddStep<ci::security::StepUpdateSecurity>();
- AddStep<ci::pkgmgr::StepRunParserPlugin>(
- ci::Plugin::ActionType::Upgrade);
- AddStep<ci::filesystem::StepUpdateStorageDirectories>();
- AddStep<ci::filesystem::StepChangeOwnershipAndPermission>();
- AddStep<ci::filesystem::StepCreateGlobalAppSymlinks>();
+ AddStepAfter<wgt::security::StepCheckSettingsLevel>("PrivilegeCompatibility");
+ AddStepAfter<wgt::security::StepCheckWgtBackgroundCategory>(
+ "CheckSettingsLevel");
+ AddStepAfter<wgt::security::StepCheckWgtNotificationCategory>(
+ "CheckWgtBackgroundCategory");
+ AddStepAfter<wgt::security::StepCheckWgtImePrivilege>(
+ "CheckWgtNotificationCategory");
+ AddStepAfter<wgt::filesystem::StepWgtPatchIcons>("RemoveGlobalAppSymlinks",
+ true);
+ AddStepAfter<wgt::filesystem::StepCreateWgtSymbolicLink>(
+ "WgtPatchIcons");
+ AddStepAfter<wgt::pkgmgr::StepGenerateXml>("CreateWgtSymbolicLink");
}
void WgtInstaller::ReadonlyUpdateInstallSteps() {
- AddStep<ci::configuration::StepConfigure>(pkgmgr_);
- AddStep<ci::recovery::StepCreateRecoveryFile>();
- AddStep<ci::filesystem::StepUnzip>();
- AddStep<wgt::configuration::StepParse>(
+ AppInstaller::ReadonlyUpdateInstallSteps();
+ ReplaceStep<wgt::configuration::StepParse>("ParseManifest",
wgt::configuration::StepParse::ConfigLocation::PACKAGE, true);
- AddStep<ci::pkgmgr::StepCheckUpgradable>();
- AddStep<ci::configuration::StepParsePreload>();
- AddStep<ci::configuration::StepCheckTizenVersion>();
- AddStep<ci::security::StepSignature>(true);
- AddStep<ci::security::StepPrivilegeCompatibility>(
+ AddStepAfter<ci::security::StepPrivilegeCompatibility>("CheckOldCertificate",
ci::security::StepPrivilegeCompatibility::InternalPrivType::WGT);
- AddStep<wgt::security::StepCheckSettingsLevel>();
- AddStep<wgt::security::StepCheckWgtBackgroundCategory>();
- AddStep<wgt::security::StepCheckWgtNotificationCategory>();
- AddStep<wgt::security::StepCheckWgtImePrivilege>();
- AddStep<ci::security::StepCheckOldCertificate>();
- AddStep<wgt::encryption::StepEncryptResources>();
- AddStep<wgt::filesystem::StepWgtResourceDirectory>();
- AddStep<ci::security::StepRollbackInstallationSecurity>();
- AddStep<ci::configuration::StepSwitchReadonlyMode>();
- AddStep<ci::configuration::StepParseManifest>(
- ci::configuration::StepParseManifest::ManifestLocation::INSTALLED,
- ci::configuration::StepParseManifest::StoreLocation::BACKUP);
- AddStep<ci::configuration::StepSwitchReadonlyMode>();
- AddStep<ci::configuration::StepBlockCrossUpdate>();
- AddStep<ci::pkgmgr::StepKillApps>();
- AddStep<ci::filesystem::StepCopy>();
- AddStep<ci::filesystem::StepCopyTep>();
- AddStep<wgt::filesystem::StepWgtPatchStorageDirectories>();
- AddStep<ci::filesystem::StepCreateStorageDirectories>();
- AddStep<wgt::filesystem::StepCreateWgtSymbolicLink>();
- AddStep<wgt::filesystem::StepWgtPatchIcons>(true);
- AddStep<wgt::filesystem::StepCopyPreviewIcons>();
- AddStep<wgt::security::StepCheckExtensionPrivileges>();
- AddStep<wgt::pkgmgr::StepGenerateXml>();
- AddStep<ci::pkgmgr::StepUpdateApplication>();
- AddStep<ci::security::StepRegisterTrustAnchor>(
- ci::security::StepRegisterTrustAnchor::RegisterType::UPDATE);
- AddStep<ci::security::StepPrivacyPrivilege>(
- ci::security::StepPrivacyPrivilege::ActionType::Update);
- AddStep<ci::security::StepUpdateSecurity>();
- AddStep<ci::pkgmgr::StepRunParserPlugin>(ci::Plugin::ActionType::Upgrade);
- AddStep<ci::filesystem::StepChangeOwnershipAndPermission>();
- AddStep<ci::filesystem::StepCreateGlobalAppSymlinks>();
+ AddStepAfter<wgt::security::StepCheckSettingsLevel>("PrivilegeCompatibility");
+ AddStepAfter<wgt::security::StepCheckWgtBackgroundCategory>(
+ "CheckSettingsLevel");
+ AddStepAfter<wgt::security::StepCheckWgtNotificationCategory>(
+ "CheckWgtBackgroundCategory");
+ AddStepAfter<wgt::security::StepCheckWgtImePrivilege>(
+ "CheckWgtNotificationCategory");
+ AddStepAfter<wgt::encryption::StepEncryptResources>("CheckWgtImePrivilege");
+ AddStepAfter<wgt::filesystem::StepWgtResourceDirectory>("EncryptResources");
+ AddStepAfter<wgt::filesystem::StepWgtPatchIcons>("CreateIcons", true);
+ AddStepAfter<wgt::filesystem::StepCopyPreviewIcons>("WgtPatchIcons");
+ AddStepAfter<wgt::filesystem::StepCreateWgtSymbolicLink>(
+ "CopyPreviewIcons");
+ AddStepAfter<wgt::security::StepCheckExtensionPrivileges>(
+ "CreateWgtSymbolicLink");
+ AddStepAfter<wgt::pkgmgr::StepGenerateXml>("CheckExtensionPrivileges");
+ AddStepAfter<wgt::filesystem::StepWgtPatchStorageDirectories>(
+ "CreateStorageDirectories");
}
void WgtInstaller::ReadonlyUpdateUninstallSteps() {
- AddStep<ci::configuration::StepConfigure>(pkgmgr_);
- AddStep<ci::pkgmgr::StepCheckRestriction>();
- AddStep<ci::pkgmgr::StepCheckRemovable>();
- AddStep<ci::configuration::StepParseManifest>(
- ci::configuration::StepParseManifest::ManifestLocation::INSTALLED,
- ci::configuration::StepParseManifest::StoreLocation::BACKUP);
- AddStep<ci::configuration::StepSwitchReadonlyMode>();
- AddStep<ci::configuration::StepParseManifest>(
- ci::configuration::StepParseManifest::ManifestLocation::INSTALLED,
- ci::configuration::StepParseManifest::StoreLocation::NORMAL);
- AddStep<ci::pkgmgr::StepCheckUpgradable>();
- AddStep<ci::configuration::StepParsePreload>();
- AddStep<wgt::configuration::StepSetOldSignatureFilesLocation>();
- AddStep<ci::security::StepSignature>(false);
- AddStep<ci::security::StepPrivilegeCompatibility>(
+ AppInstaller::ReadonlyUpdateUninstallSteps();
+ AddStepBefore<wgt::configuration::StepSetOldSignatureFilesLocation>(
+ "Signature");
+ AddStepAfter<ci::security::StepPrivilegeCompatibility>("Signature",
ci::security::StepPrivilegeCompatibility::InternalPrivType::WGT);
- AddStep<ci::configuration::StepSwitchReadonlyMode>();
- AddStep<ci::pkgmgr::StepKillApps>();
- AddStep<ci::filesystem::StepRemoveGlobalAppSymlinks>();
- AddStep<ci::filesystem::StepRemoveTep>();
- AddStep<ci::filesystem::StepRemoveFiles>();
- AddStep<ci::filesystem::StepRemoveZipImage>();
- AddStep<ci::pkgmgr::StepUpdateApplication>();
- AddStep<ci::filesystem::StepRemoveUserData>();
- AddStep<ci::configuration::StepSwitchReadonlyMode>();
- AddStep<ci::security::StepRevokeTrustAnchor>();
- AddStep<ci::security::StepRegisterTrustAnchor>(
- ci::security::StepRegisterTrustAnchor::RegisterType::UPDATE);
- AddStep<ci::security::StepPrivacyPrivilege>(
- ci::security::StepPrivacyPrivilege::ActionType::Update);
- AddStep<ci::security::StepUpdateSecurity>();
- AddStep<ci::pkgmgr::StepRemoveManifest>();
- AddStep<ci::pkgmgr::StepRunParserPlugin>(ci::Plugin::ActionType::Upgrade);
+ AddStepAfter<wgt::security::StepCheckSettingsLevel>("PrivilegeCompatibility");
+ AddStepAfter<wgt::security::StepCheckWgtBackgroundCategory>(
+ "CheckSettingsLevel");
+ AddStepAfter<wgt::security::StepCheckWgtNotificationCategory>(
+ "CheckWgtBackgroundCategory");
+ AddStepAfter<wgt::security::StepCheckWgtImePrivilege>(
+ "CheckWgtNotificationCategory");
}
void WgtInstaller::ManifestPartialInstallSteps() {
- AddStep<ci::configuration::StepConfigure>(pkgmgr_);
- AddStep<wgt::configuration::StepParse>(
+ AppInstaller::ManifestPartialInstallSteps();
+ ReplaceStep<wgt::configuration::StepParse>("ParseManifest",
wgt::configuration::StepParse::ConfigLocation::INSTALLED, true);
- AddStep<ci::configuration::StepParsePreload>();
- AddStep<ci::security::StepSignature>(false);
- AddStep<ci::security::StepPrivilegeCompatibility>(
+ ReplaceStep<wgt::security::StepDirectManifestSignature>("Signature", false);
+ AddStepAfter<ci::security::StepPrivilegeCompatibility>(
+ "DirectManifestSignature",
ci::security::StepPrivilegeCompatibility::InternalPrivType::WGT);
- AddStep<wgt::security::StepCheckWgtBackgroundCategory>();
- AddStep<ci::filesystem::StepRemoveGlobalAppSymlinks>();
- AddStep<wgt::filesystem::StepWgtPatchIcons>(false);
- AddStep<ci::pkgmgr::StepRegisterApplication>();
- AddStep<ci::security::StepRegisterTrustAnchor>(
- ci::security::StepRegisterTrustAnchor::RegisterType::INSTALL);
- AddStep<ci::security::StepPrivacyPrivilege>(
- ci::security::StepPrivacyPrivilege::ActionType::Install);
- AddStep<ci::security::StepRegisterSecurity>();
- AddStep<ci::pkgmgr::StepRunParserPlugin>(ci::Plugin::ActionType::Install);
- AddStep<ci::filesystem::StepCreateStorageDirectories>(
+ AddStepAfter<wgt::security::StepCheckSettingsLevel>("PrivilegeCompatibility");
+ AddStepAfter<wgt::security::StepCheckWgtBackgroundCategory>(
+ "CheckSettingsLevel");
+ AddStepAfter<wgt::security::StepCheckWgtNotificationCategory>(
+ "CheckWgtBackgroundCategory");
+ AddStepAfter<wgt::security::StepCheckWgtImePrivilege>(
+ "CheckWgtNotificationCategory");
+ AddStepAfter<wgt::filesystem::StepWgtPatchIcons>("RemoveGlobalAppSymlinks",
+ false);
+ ReplaceStep<ci::filesystem::StepCreateStorageDirectories>(
+ "CreateStorageDirectories",
wgt::filesystem::WgtAdditionalSharedDirs);
- AddStep<ci::filesystem::StepCreateGlobalAppSymlinks>();
}
void WgtInstaller::ManifestPartialUpdateSteps() {
- AddStep<ci::configuration::StepConfigure>(pkgmgr_);
- AddStep<wgt::configuration::StepParse>(
+ AppInstaller::ManifestPartialUpdateSteps();
+ ReplaceStep<wgt::configuration::StepParse>("ParseManifest",
wgt::configuration::StepParse::ConfigLocation::INSTALLED, true);
- AddStep<ci::configuration::StepParsePreload>();
- AddStep<ci::configuration::StepParseManifest>(
- ci::configuration::StepParseManifest::ManifestLocation::INSTALLED,
- ci::configuration::StepParseManifest::StoreLocation::BACKUP);
- AddStep<ci::security::StepSignature>(false);
- AddStep<ci::security::StepPrivilegeCompatibility>(
+ ReplaceStep<wgt::security::StepDirectManifestSignature>("Signature", false);
+ AddStepAfter<ci::security::StepPrivilegeCompatibility>(
+ "CheckOldCertificate",
ci::security::StepPrivilegeCompatibility::InternalPrivType::WGT);
- AddStep<wgt::security::StepCheckWgtBackgroundCategory>();
- AddStep<ci::pkgmgr::StepKillApps>();
- AddStep<ci::filesystem::StepRemoveGlobalAppSymlinks>();
- AddStep<wgt::filesystem::StepWgtPatchIcons>(false);
- AddStep<ci::pkgmgr::StepUpdateApplication>();
- AddStep<ci::security::StepRegisterTrustAnchor>(
- ci::security::StepRegisterTrustAnchor::RegisterType::UPDATE);
- AddStep<ci::security::StepPrivacyPrivilege>(
- ci::security::StepPrivacyPrivilege::ActionType::Update);
- AddStep<ci::security::StepRegisterSecurity>();
- AddStep<ci::pkgmgr::StepRunParserPlugin>(
- ci::Plugin::ActionType::Upgrade);
- AddStep<ci::filesystem::StepUpdateStorageDirectories>();
- AddStep<ci::filesystem::StepCreateGlobalAppSymlinks>();
+ AddStepAfter<wgt::security::StepCheckSettingsLevel>("PrivilegeCompatibility");
+ AddStepAfter<wgt::security::StepCheckWgtBackgroundCategory>(
+ "CheckSettingsLevel");
+ AddStepAfter<wgt::security::StepCheckWgtNotificationCategory>(
+ "CheckWgtBackgroundCategory");
+ AddStepAfter<wgt::security::StepCheckWgtImePrivilege>(
+ "CheckWgtNotificationCategory");
+ AddStepAfter<wgt::filesystem::StepWgtPatchIcons>("RemoveGlobalAppSymlinks",
+ false);
}
void WgtInstaller::PartialUninstallSteps() {
- 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::StepRemoveGlobalAppSymlinks>();
- AddStep<ci::filesystem::StepOptionalAcquireExternalStorage>();
- AddStep<ci::pkgmgr::StepRunParserPlugin>(
- ci::Plugin::ActionType::Uninstall);
- AddStep<ci::filesystem::StepRemovePerUserStorageDirectories>();
- AddStep<ci::pkgmgr::StepUnregisterApplication>();
- AddStep<wgt::encryption::StepRemoveEncryptionData>();
- AddStep<ci::security::StepUnregisterTrustAnchor>();
- AddStep<ci::security::StepPrivacyPrivilege>(
- ci::security::StepPrivacyPrivilege::ActionType::Uninstall);
- AddStep<ci::security::StepRevokeSecurity>();
+ AppInstaller::PartialUninstallSteps();
+ AddStepAfter<wgt::encryption::StepRemoveEncryptionData>(
+ "RemovePerUserStorageDirectories");
}
void WgtInstaller::MoveSteps() {
- AddStep<ci::configuration::StepConfigure>(pkgmgr_);
- AddStep<ci::configuration::StepParseManifest>(
- ci::configuration::StepParseManifest::ManifestLocation::INSTALLED,
- ci::configuration::StepParseManifest::StoreLocation::NORMAL);
- AddStep<ci::configuration::StepCheckInstallLocation>();
- AddStep<ci::pkgmgr::StepKillApps>();
- AddStep<ci::filesystem::StepMoveInstalledStorage>();
- AddStep<ci::security::StepRegisterSecurity>();
+ AppInstaller::MoveSteps();
}
void WgtInstaller::EnablePkgSteps() {
- AddStep<ci::configuration::StepConfigure>(pkgmgr_);
- AddStep<ci::configuration::StepParseManifest>(
- ci::configuration::StepParseManifest::ManifestLocation::INSTALLED,
- ci::configuration::StepParseManifest::StoreLocation::NORMAL);
- AddStep<ci::pkgmgr::StepKillApps>();
- AddStep<ci::pkgmgr::StepUpdatePkgDisableInfo>(
- ci::pkgmgr::StepUpdatePkgDisableInfo::ActionType::Enable);
- AddStep<ci::pkgmgr::StepRunParserPlugin>(
- ci::Plugin::ActionType::Install);
+ AppInstaller::EnablePkgSteps();
}
void WgtInstaller::DisablePkgSteps() {
- AddStep<ci::configuration::StepConfigure>(pkgmgr_);
- AddStep<ci::configuration::StepParseManifest>(
- ci::configuration::StepParseManifest::ManifestLocation::INSTALLED,
- ci::configuration::StepParseManifest::StoreLocation::NORMAL);
- AddStep<ci::pkgmgr::StepKillApps>();
- AddStep<ci::pkgmgr::StepUpdatePkgDisableInfo>(
- ci::pkgmgr::StepUpdatePkgDisableInfo::ActionType::Disable);
- AddStep<ci::pkgmgr::StepRunParserPlugin>(
- ci::Plugin::ActionType::Uninstall);
+ AppInstaller::DisablePkgSteps();
}
void WgtInstaller::MigrateExtImgSteps() {
- AddStep<ci::configuration::StepConfigure>(pkgmgr_);
- AddStep<ci::security::StepMigrateLegacyExtImage>();
- AddStep<ci::filesystem::StepChangeOwnershipAndPermission>();
+ AppInstaller::MigrateExtImgSteps();
}
void WgtInstaller::RecoverDBSteps() {
- AddStep<ci::configuration::StepConfigure>(pkgmgr_);
- AddStep<wgt::configuration::StepParse>(
+ AppInstaller::RecoverDBSteps();
+ ReplaceStep<wgt::configuration::StepParse>("ParseManifest",
wgt::configuration::StepParse::ConfigLocation::INSTALLED, true);
- AddStep<ci::pkgmgr::StepCheckInstallable>();
- AddStep<ci::mount::StepCheckMountPath>();
- AddStep<ci::configuration::StepParsePreload>();
- AddStep<ci::security::StepGetPrivilegeLevel>();
- AddStep<ci::security::StepPrivilegeCompatibility>(
+ AddStepAfter<ci::security::StepPrivilegeCompatibility>("GetPrivilegeLevel",
ci::security::StepPrivilegeCompatibility::InternalPrivType::WGT);
- AddStep<wgt::security::StepCheckWgtImePrivilege>();
- AddStep<wgt::security::StepCheckSettingsLevel>();
- AddStep<ci::pkgmgr::StepRegisterApplication>();
+ AddStepAfter<wgt::security::StepCheckSettingsLevel>("PrivilegeCompatibility");
+ AddStepAfter<wgt::security::StepCheckWgtBackgroundCategory>(
+ "CheckSettingsLevel");
+ AddStepAfter<wgt::security::StepCheckWgtNotificationCategory>(
+ "CheckWgtBackgroundCategory");
+ AddStepAfter<wgt::security::StepCheckWgtImePrivilege>(
+ "CheckWgtNotificationCategory");
}
} // namespace wgt