From 7e076cac0686467c43cd89b821cccefce5112f14 Mon Sep 17 00:00:00 2001 From: Sangyoon Jang Date: Thu, 29 Nov 2018 21:41:02 +0900 Subject: [PATCH] Add ReadonlyUpdateInstall/Uninstall mode for hybrid-backend Change-Id: I3007a3bcd696a100cc8c2b0374656d81ba6f47bb Signed-off-by: Sangyoon Jang --- src/hybrid/hybrid_installer.cc | 96 ++++++++++++++++++++++++++++++++++++++++++ src/hybrid/hybrid_installer.h | 2 + 2 files changed, 98 insertions(+) diff --git a/src/hybrid/hybrid_installer.cc b/src/hybrid/hybrid_installer.cc index cc24a5c..25eaa89 100644 --- a/src/hybrid/hybrid_installer.cc +++ b/src/hybrid/hybrid_installer.cc @@ -14,6 +14,7 @@ #include #include #include +#include #include #include #include @@ -40,6 +41,7 @@ #include #include #include +#include #include #include #include @@ -72,6 +74,7 @@ #include #include #include +#include #include #include #include @@ -93,6 +96,7 @@ #include "hybrid/step/encryption/step_encrypt_resources.h" #include "hybrid/step/pkgmgr/step_generate_xml.h" #include "wgt/step/configuration/step_parse.h" +#include "wgt/step/configuration/step_set_old_signature_files_location.h" #include "wgt/step/encryption/step_remove_encryption_data.h" #include "wgt/step/filesystem/step_copy_preview_icons.h" #include "wgt/step/filesystem/step_create_symbolic_link.h" @@ -627,6 +631,98 @@ void HybridInstaller::PartialUninstallSteps() { AddStep(); } +void HybridInstaller::ReadonlyUpdateInstallSteps() { + AddStep(pkgmgr_); + AddStep(); + AddStep(); + AddStep( + ci::configuration::StepParseManifest::ManifestLocation::PACKAGE, + ci::configuration::StepParseManifest::StoreLocation::NORMAL); + AddStep(); + AddStep( + wgt::configuration::StepParse::ConfigLocation::RESOURCE_WGT, true); + AddStep(); + AddStep(); + AddStep(); + AddStep(); + AddStep(); + AddStep( + ci::security::StepPrivilegeCompatibility::InternalPrivType::BOTH); + AddStep(); + AddStep(); + AddStep(); + AddStep(); + AddStep(); + AddStep(); + AddStep( + ci::configuration::StepParseManifest::ManifestLocation::INSTALLED, + ci::configuration::StepParseManifest::StoreLocation::BACKUP); + AddStep(); + AddStep(); + AddStep(); + AddStep(); + AddStep(); + AddStep(); + AddStep(); + AddStep(); + AddStep(); + AddStep(); + AddStep(); + AddStep(); + AddStep(); + AddStep(); + AddStep( + hybrid::configuration::StepMergeTpkConfig::MergeType::CONCAT); + AddStep(); + AddStep(); + AddStep(); + AddStep( + ci::security::StepRegisterTrustAnchor::RegisterType::UPDATE); + AddStep( + ci::security::StepPrivacyPrivilege::ActionType::Update); + AddStep(); + AddStep( + ci::Plugin::ActionType::Upgrade); + AddStep(); + AddStep(); + AddStep(); +} + +void HybridInstaller::ReadonlyUpdateUninstallSteps() { + AddStep(pkgmgr_); + AddStep(); + AddStep(); + AddStep( + ci::configuration::StepParseManifest::ManifestLocation::INSTALLED, + ci::configuration::StepParseManifest::StoreLocation::BACKUP); + AddStep(); + AddStep( + ci::configuration::StepParseManifest::ManifestLocation::INSTALLED, + ci::configuration::StepParseManifest::StoreLocation::NORMAL); + AddStep(); + AddStep(); + AddStep(); + AddStep( + ci::security::StepPrivilegeCompatibility::InternalPrivType::WGT); + AddStep(); + AddStep(); + AddStep(); + AddStep(); + AddStep(); + AddStep(); + AddStep(); + AddStep(); + AddStep(); + AddStep(); + AddStep( + ci::security::StepRegisterTrustAnchor::RegisterType::UPDATE); + AddStep( + ci::security::StepPrivacyPrivilege::ActionType::Update); + AddStep(); + AddStep(); + AddStep(ci::Plugin::ActionType::Upgrade); +} + void HybridInstaller::EnablePkgSteps() { AddStep(pkgmgr_); AddStep( diff --git a/src/hybrid/hybrid_installer.h b/src/hybrid/hybrid_installer.h index 54a4d82..b76cc10 100644 --- a/src/hybrid/hybrid_installer.h +++ b/src/hybrid/hybrid_installer.h @@ -43,6 +43,8 @@ class HybridInstaller : public common_installer::AppInstaller { void ManifestPartialInstallSteps() override; void ManifestPartialUpdateSteps() override; void PartialUninstallSteps() override; + void ReadonlyUpdateInstallSteps() override; + void ReadonlyUpdateUninstallSteps() override; void MigrateExtImgSteps() override; void RecoverDBSteps() override; }; -- 2.7.4