From 9a5e02d7eca30a94e0aa222a84018448f0290c52 Mon Sep 17 00:00:00 2001 From: Junghyun Yeon Date: Fri, 30 Mar 2018 17:14:03 +0900 Subject: [PATCH 01/16] Release version 0.10.0 Changes: - Add StepSaveSignature step Change-Id: I9a34653ed2a30bd7d6ee86fccd0dbff23e4f4aea Signed-off-by: Junghyun Yeon --- packaging/wgt-backend.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packaging/wgt-backend.spec b/packaging/wgt-backend.spec index d2021c6..40a266c 100644 --- a/packaging/wgt-backend.spec +++ b/packaging/wgt-backend.spec @@ -1,6 +1,6 @@ Name: wgt-backend Summary: Application installer backend for WGT -Version: 0.9.6 +Version: 0.10.0 Release: 1 Group: Application Framework/Package Management License: Apache-2.0 -- 2.7.4 From 98f73621730e4b3d5844deda5391fc4d8442ff16 Mon Sep 17 00:00:00 2001 From: Sangyoon Jang Date: Mon, 2 Apr 2018 20:08:08 +0900 Subject: [PATCH 02/16] Fix static analyzer issues - Fix uncaught exception. Change-Id: Ica139ffdff375bbbaf9345787744f167dc79c788 Signed-off-by: Sangyoon Jang --- src/unit_tests/smoke_test.cc | 27 ++++++++++++++++----------- 1 file changed, 16 insertions(+), 11 deletions(-) diff --git a/src/unit_tests/smoke_test.cc b/src/unit_tests/smoke_test.cc index b5bf24d..d61b444 100644 --- a/src/unit_tests/smoke_test.cc +++ b/src/unit_tests/smoke_test.cc @@ -867,16 +867,21 @@ TEST_F(SmokeTest, InstallExtendedMode) { } // namespace smoke_test int main(int argc, char** argv) { - ci::RequestMode request_mode = st::ParseRequestMode(argc, argv); - if (getuid() != 0 || request_mode != ci::RequestMode::GLOBAL) { - std::cout << "Skip tests for preload request" << std::endl; - ::testing::GTEST_FLAG(filter) = "SmokeTest.*"; + try { + ci::RequestMode request_mode = st::ParseRequestMode(argc, argv); + if (getuid() != 0 || request_mode != ci::RequestMode::GLOBAL) { + std::cout << "Skip tests for preload request" << std::endl; + ::testing::GTEST_FLAG(filter) = "SmokeTest.*"; + } + testing::InitGoogleTest(&argc, argv); + ::env = static_cast( + testing::AddGlobalTestEnvironment( + new smoke_test::SmokeEnvironment(request_mode))); + signal(SIGINT, ::signalHandler); + signal(SIGSEGV, ::signalHandler); + return RUN_ALL_TESTS(); + } catch (...) { + std::cout << "Exception occurred during testing" << std::endl; + return 1; } - testing::InitGoogleTest(&argc, argv); - ::env = static_cast( - testing::AddGlobalTestEnvironment( - new smoke_test::SmokeEnvironment(request_mode))); - signal(SIGINT, ::signalHandler); - signal(SIGSEGV, ::signalHandler); - return RUN_ALL_TESTS(); } -- 2.7.4 From 84a3125bad9480e6353579223558791e3c8ce3da Mon Sep 17 00:00:00 2001 From: Sangyoon Jang Date: Tue, 3 Apr 2018 19:57:39 +0900 Subject: [PATCH 03/16] Release version 0.10.1 Changes: - Fix static analyzer issues Change-Id: I095a9771cac2e8386c42f087a650f9dd62321742 Signed-off-by: Sangyoon Jang --- packaging/wgt-backend.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packaging/wgt-backend.spec b/packaging/wgt-backend.spec index 40a266c..27edded 100644 --- a/packaging/wgt-backend.spec +++ b/packaging/wgt-backend.spec @@ -1,6 +1,6 @@ Name: wgt-backend Summary: Application installer backend for WGT -Version: 0.10.0 +Version: 0.10.1 Release: 1 Group: Application Framework/Package Management License: Apache-2.0 -- 2.7.4 From 2d518b823d320676893b75869c9e9f2f00b8a6c7 Mon Sep 17 00:00:00 2001 From: Junghyun Yeon Date: Fri, 6 Apr 2018 13:17:17 +0900 Subject: [PATCH 04/16] Add StepSaveSignature at mount install or update - Distributor signature don't have to be extracted because its value will be stored at separated directory. Related changes: [app-installers] : https://review.tizen.org/gerrit/174993 Change-Id: I132f25356912e7f34894c1761f8a1bac2ac27303 --- src/wgt/step/filesystem/step_wgt_prepare_package_directory.cc | 2 -- src/wgt/wgt_installer.cc | 2 ++ 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/wgt/step/filesystem/step_wgt_prepare_package_directory.cc b/src/wgt/step/filesystem/step_wgt_prepare_package_directory.cc index 10c44a7..7275621 100644 --- a/src/wgt/step/filesystem/step_wgt_prepare_package_directory.cc +++ b/src/wgt/step/filesystem/step_wgt_prepare_package_directory.cc @@ -23,8 +23,6 @@ const std::vector kExtractEntries = { "config.xml", "index.html", "author-signature.xml", - "signature1.xml", - "signature2.xml" }; const std::vector& GetExtractEntries() { diff --git a/src/wgt/wgt_installer.cc b/src/wgt/wgt_installer.cc index 96c9494..2ccdd6f 100755 --- a/src/wgt/wgt_installer.cc +++ b/src/wgt/wgt_installer.cc @@ -376,6 +376,7 @@ void WgtInstaller::MountInstallSteps() { AddStep(); AddStep(); AddStep(); + AddStep(); AddStep( ci::security::StepPrivilegeCompatibility::InternalPrivType::WGT); AddStep(); @@ -420,6 +421,7 @@ void WgtInstaller::MountUpdateSteps() { AddStep(); AddStep(); AddStep(); + AddStep(); AddStep( ci::security::StepPrivilegeCompatibility::InternalPrivType::WGT); AddStep(); -- 2.7.4 From 7da7343d758dc64435da6e89c86dc0e2e7252b1b Mon Sep 17 00:00:00 2001 From: Junghyun Yeon Date: Tue, 10 Apr 2018 19:34:36 +0900 Subject: [PATCH 05/16] Add signature removal process for hybrid pkg Change-Id: I748d38a05f91822df41d692ace94981eb732f3a2 Signed-off-by: Junghyun Yeon --- src/hybrid/hybrid_installer.cc | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/hybrid/hybrid_installer.cc b/src/hybrid/hybrid_installer.cc index 9be075e..b0e4e17 100644 --- a/src/hybrid/hybrid_installer.cc +++ b/src/hybrid/hybrid_installer.cc @@ -72,6 +72,7 @@ #include #include #include +#include #include #include #include @@ -129,6 +130,7 @@ void HybridInstaller::InstallSteps() { AddStep(); AddStep(); AddStep(); + AddStep(); AddStep(); AddStep( ci::security::StepPrivilegeCompatibility::InternalPrivType::BOTH); @@ -181,6 +183,7 @@ void HybridInstaller::UpdateSteps() { AddStep(); AddStep(); AddStep(); + AddStep(); AddStep(); AddStep( ci::security::StepPrivilegeCompatibility::InternalPrivType::BOTH); @@ -279,6 +282,7 @@ void HybridInstaller::DeltaSteps() { AddStep(); AddStep(); AddStep(); + AddStep(); AddStep(); AddStep( ci::security::StepPrivilegeCompatibility::InternalPrivType::BOTH); @@ -358,6 +362,7 @@ void HybridInstaller::MountInstallSteps() { AddStep(); AddStep(); AddStep(); + AddStep(); AddStep(); AddStep( ci::security::StepPrivilegeCompatibility::InternalPrivType::BOTH); @@ -410,6 +415,7 @@ void HybridInstaller::MountUpdateSteps() { AddStep(); AddStep(); AddStep(); + AddStep(); AddStep(); AddStep( ci::security::StepPrivilegeCompatibility::InternalPrivType::BOTH); @@ -466,6 +472,7 @@ void HybridInstaller::ManifestDirectInstallSteps() { AddStep(); AddStep(); AddStep(); + AddStep(); AddStep(); AddStep( ci::security::StepPrivilegeCompatibility::InternalPrivType::BOTH); @@ -504,6 +511,7 @@ void HybridInstaller::ManifestDirectUpdateSteps() { AddStep(); AddStep(); AddStep(); + AddStep(); AddStep(); AddStep( ci::security::StepPrivilegeCompatibility::InternalPrivType::BOTH); @@ -544,6 +552,7 @@ void HybridInstaller::ManifestPartialInstallSteps() { AddStep(); AddStep(); AddStep(); + AddStep(); AddStep(); AddStep(); AddStep( @@ -569,6 +578,7 @@ void HybridInstaller::ManifestPartialUpdateSteps() { AddStep(); AddStep(); AddStep(); + AddStep(); AddStep( ci::configuration::StepParseManifest::ManifestLocation::INSTALLED, ci::configuration::StepParseManifest::StoreLocation::BACKUP); -- 2.7.4 From 4c092ba40e1945e99382516de319d4cc4aa3581a Mon Sep 17 00:00:00 2001 From: Junghyun Yeon Date: Thu, 12 Apr 2018 13:22:40 +0900 Subject: [PATCH 06/16] Fix coding rule by including header Change-Id: Ia2e3f0ff6e31c3be0a7a134b707e7579f0a6f9f5 Signed-off-by: Junghyun Yeon --- src/wgt/step/filesystem/step_wgt_prepare_package_directory.cc | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/wgt/step/filesystem/step_wgt_prepare_package_directory.cc b/src/wgt/step/filesystem/step_wgt_prepare_package_directory.cc index 7275621..3ac814c 100644 --- a/src/wgt/step/filesystem/step_wgt_prepare_package_directory.cc +++ b/src/wgt/step/filesystem/step_wgt_prepare_package_directory.cc @@ -11,6 +11,8 @@ #include #include +#include + namespace bf = boost::filesystem; namespace bs = boost::system; namespace ci = common_installer; -- 2.7.4 From d09f3884e60f2de0cf96c664d1c63e1acf6dc2c2 Mon Sep 17 00:00:00 2001 From: Junghyun Yeon Date: Mon, 11 Dec 2017 11:11:47 +0900 Subject: [PATCH 07/16] Add StepRevokeTrustAnchor steps for several installation cases. - When updating pkg has failed, trust anchor should be revoked. Related changes: [app-installers] : https://review.tizen.org/gerrit/#/c/158351/ Change-Id: Ifaf443083b8ba4b3130cc6db3d145f7e5386e334 Signed-off-by: Junghyun Yeon --- src/wgt/wgt_installer.cc | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/wgt/wgt_installer.cc b/src/wgt/wgt_installer.cc index 2ccdd6f..4119763 100755 --- a/src/wgt/wgt_installer.cc +++ b/src/wgt/wgt_installer.cc @@ -85,6 +85,7 @@ #include #include #include +#include #include #include @@ -202,6 +203,7 @@ void WgtInstaller::UpdateSteps() { AddStep(); AddStep(); AddStep(true); + AddStep(); AddStep(); AddStep(); AddStep(); @@ -270,6 +272,7 @@ void WgtInstaller::ReinstallSteps() { ci::configuration::StepParseManifest::StoreLocation::BACKUP); AddStep(); AddStep(); + AddStep(); AddStep(); AddStep(); AddStep(); @@ -317,6 +320,7 @@ void WgtInstaller::DeltaSteps() { AddStep(); AddStep(); AddStep(true); + AddStep(); AddStep(); AddStep(); AddStep(); @@ -362,6 +366,8 @@ void WgtInstaller::RecoverySteps() { AddStep(); AddStep(); AddStep(); + AddStep( + ci::security::StepRegisterTrustAnchor::RegisterType::UPDATE); } void WgtInstaller::MountInstallSteps() { @@ -433,6 +439,7 @@ void WgtInstaller::MountUpdateSteps() { ci::configuration::StepParseManifest::ManifestLocation::INSTALLED, ci::configuration::StepParseManifest::StoreLocation::BACKUP); AddStep(); + AddStep(); AddStep(); AddStep(); AddStep(); @@ -603,6 +610,7 @@ void WgtInstaller::ReadonlyUpdateUninstallSteps() { AddStep(); AddStep(); AddStep(); + AddStep(); AddStep( ci::security::StepRegisterTrustAnchor::RegisterType::UPDATE); AddStep( -- 2.7.4 From fdf2ef6333ea07eaaba1e538018e97edd620ef58 Mon Sep 17 00:00:00 2001 From: Junghyun Yeon Date: Fri, 11 May 2018 15:45:57 +0900 Subject: [PATCH 08/16] Release version 0.10.2 Changes: - Add StepSaveSignature at mount install or update - Add signature removal process for hybrid pkg - Fix coding rule by including header - Add StepRevokeTrustAnchor steps for several installation cases. Change-Id: I5f87775ba01b93d8cd8fb47534bf5e03b01be9c4 Signed-off-by: Junghyun Yeon --- packaging/wgt-backend.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packaging/wgt-backend.spec b/packaging/wgt-backend.spec index 27edded..067c743 100644 --- a/packaging/wgt-backend.spec +++ b/packaging/wgt-backend.spec @@ -1,6 +1,6 @@ Name: wgt-backend Summary: Application installer backend for WGT -Version: 0.10.1 +Version: 0.10.2 Release: 1 Group: Application Framework/Package Management License: Apache-2.0 -- 2.7.4 From c5d7db16d58d929d1f3dcc983c1002204578f35d Mon Sep 17 00:00:00 2001 From: Sangyoon Jang Date: Thu, 17 May 2018 20:06:49 +0900 Subject: [PATCH 09/16] Set default value of app-control visibility attribute Change-Id: I1567d0e729f3c47cfdf30fae003799198e9dc9ed Signed-off-by: Sangyoon Jang --- src/wgt/step/configuration/step_parse.cc | 1 + 1 file changed, 1 insertion(+) diff --git a/src/wgt/step/configuration/step_parse.cc b/src/wgt/step/configuration/step_parse.cc index 1637c54..58b5baf 100644 --- a/src/wgt/step/configuration/step_parse.cc +++ b/src/wgt/step/configuration/step_parse.cc @@ -625,6 +625,7 @@ bool StepParse::FillAppControl(manifest_x* manifest) { app_control->operation = strdup(control.operation().c_str()); app_control->mime = strdup(control.mime().c_str()); app_control->uri = strdup(control.uri().c_str()); + app_control->visibility = strdup("local-only"); app->appcontrol = g_list_append(app->appcontrol, app_control); } } -- 2.7.4 From 0001d423317ec8808343ffbc819d34bcd26956c9 Mon Sep 17 00:00:00 2001 From: Sangyoon Jang Date: Thu, 17 May 2018 20:19:31 +0900 Subject: [PATCH 10/16] Release version 0.10.3 Changes: - Set default value of app-control visibility attribute Change-Id: I5c9987ab8c7efefaae6d9c3866551bf46025b07e Signed-off-by: Sangyoon Jang --- packaging/wgt-backend.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packaging/wgt-backend.spec b/packaging/wgt-backend.spec index 067c743..b8f1734 100644 --- a/packaging/wgt-backend.spec +++ b/packaging/wgt-backend.spec @@ -1,6 +1,6 @@ Name: wgt-backend Summary: Application installer backend for WGT -Version: 0.10.2 +Version: 0.10.3 Release: 1 Group: Application Framework/Package Management License: Apache-2.0 -- 2.7.4 From 192eddd5a83d207a760c025c328e3096f8debdca Mon Sep 17 00:00:00 2001 From: Junghyun Yeon Date: Tue, 15 May 2018 20:29:49 +0900 Subject: [PATCH 11/16] Supplement ParserPlugin - Adjust order of steps. - Add StepRecoverParserPlugin. Related changes: [app-installers] : https://review.tizen.org/gerrit/178962 Change-Id: I1754f5b733b02da58135f40817dcbd8dac51eb0a Signed-off-by: Junghyun Yeon --- src/hybrid/hybrid_installer.cc | 4 ++-- src/wgt/wgt_installer.cc | 6 ++++-- 2 files changed, 6 insertions(+), 4 deletions(-) mode change 100755 => 100644 src/wgt/wgt_installer.cc diff --git a/src/hybrid/hybrid_installer.cc b/src/hybrid/hybrid_installer.cc index b0e4e17..0789366 100644 --- a/src/hybrid/hybrid_installer.cc +++ b/src/hybrid/hybrid_installer.cc @@ -237,8 +237,6 @@ void HybridInstaller::UninstallSteps() { AddStep( ci::configuration::StepParseManifest::ManifestLocation::INSTALLED, ci::configuration::StepParseManifest::StoreLocation::NORMAL); - AddStep( - ci::Plugin::ActionType::Uninstall); AddStep(); AddStep(); AddStep(); @@ -254,6 +252,8 @@ void HybridInstaller::UninstallSteps() { ci::security::StepPrivacyPrivilege::ActionType::Uninstall); AddStep(); AddStep(); + AddStep( + ci::Plugin::ActionType::Uninstall); AddStep(); } diff --git a/src/wgt/wgt_installer.cc b/src/wgt/wgt_installer.cc old mode 100755 new mode 100644 index 4119763..9fdf8df --- a/src/wgt/wgt_installer.cc +++ b/src/wgt/wgt_installer.cc @@ -64,6 +64,7 @@ #include #include #include +#include #include #include #include @@ -240,8 +241,6 @@ void WgtInstaller::UninstallSteps() { AddStep(); AddStep(); AddStep(); - AddStep( - ci::Plugin::ActionType::Uninstall); AddStep(); AddStep(); AddStep(); @@ -254,6 +253,8 @@ void WgtInstaller::UninstallSteps() { ci::security::StepPrivacyPrivilege::ActionType::Uninstall); AddStep(); AddStep(); + AddStep( + ci::Plugin::ActionType::Uninstall); AddStep(); } @@ -353,6 +354,7 @@ void WgtInstaller::RecoverySteps() { ci::configuration::StepParseManifest::ManifestLocation::RECOVERY, ci::configuration::StepParseManifest::StoreLocation::NORMAL); AddStep(); + AddStep(); AddStep(); AddStep(); AddStep(); -- 2.7.4 From 15c0a19f28f8587de0df391351e68ecb18633aca Mon Sep 17 00:00:00 2001 From: Sangyoon Jang Date: Tue, 26 Jun 2018 10:35:21 +0900 Subject: [PATCH 12/16] Release version 0.10.4 Changes: - Supplement ParserPlugin Change-Id: I4c29dc1f9f1b01030b4879fb4951c74444e381bb Signed-off-by: Sangyoon Jang --- packaging/wgt-backend.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packaging/wgt-backend.spec b/packaging/wgt-backend.spec index b8f1734..dad2aa2 100644 --- a/packaging/wgt-backend.spec +++ b/packaging/wgt-backend.spec @@ -1,6 +1,6 @@ Name: wgt-backend Summary: Application installer backend for WGT -Version: 0.10.3 +Version: 0.10.4 Release: 1 Group: Application Framework/Package Management License: Apache-2.0 -- 2.7.4 From 436d2cee4a3a125699bf1ea22faf2bfe818f2fcf Mon Sep 17 00:00:00 2001 From: Junghyun Yeon Date: Thu, 21 Jun 2018 19:46:06 +0900 Subject: [PATCH 13/16] Add RecoverDB step and fix codes for it - This will be invoked when db has corrupted - Operations like ManifestDirectInstall will parse merged manifest so it does not have to merge configurations for hybrid pkg, so add options to determine merge or overwrites configurations. Related changes: [app-installers] : https://review.tizen.org/gerrit/182176 Change-Id: I5c7f96ab6b98ad751e08ef8ada75d5c63245e331 Signed-off-by: Junghyun Yeon --- src/hybrid/hybrid_installer.cc | 49 ++++++++++++++++++---- src/hybrid/hybrid_installer.h | 1 + .../step/configuration/step_merge_tpk_config.cc | 14 +++++-- .../step/configuration/step_merge_tpk_config.h | 11 +++++ src/wgt/wgt_installer.cc | 16 +++++++ src/wgt/wgt_installer.h | 1 + 6 files changed, 80 insertions(+), 12 deletions(-) diff --git a/src/hybrid/hybrid_installer.cc b/src/hybrid/hybrid_installer.cc index 0789366..b4798f5 100644 --- a/src/hybrid/hybrid_installer.cc +++ b/src/hybrid/hybrid_installer.cc @@ -65,6 +65,7 @@ #include #include #include +#include #include #include #include @@ -153,7 +154,8 @@ void HybridInstaller::InstallSteps() { AddStep(); AddStep(); AddStep(); - AddStep(); + AddStep( + hybrid::configuration::StepMergeTpkConfig::MergeType::CONCAT); AddStep(); AddStep(); AddStep(); @@ -213,7 +215,8 @@ void HybridInstaller::UpdateSteps() { AddStep(); AddStep(); AddStep(); - AddStep(); + AddStep( + hybrid::configuration::StepMergeTpkConfig::MergeType::CONCAT); AddStep(); AddStep(); AddStep(); @@ -309,7 +312,8 @@ void HybridInstaller::DeltaSteps() { AddStep(); AddStep(); AddStep(); - AddStep(); + AddStep( + hybrid::configuration::StepMergeTpkConfig::MergeType::CONCAT); AddStep(); AddStep(); AddStep( @@ -385,7 +389,8 @@ void HybridInstaller::MountInstallSteps() { AddStep(); AddStep(); AddStep(); - AddStep(); + AddStep( + hybrid::configuration::StepMergeTpkConfig::MergeType::CONCAT); AddStep(); AddStep(); AddStep(); @@ -444,7 +449,8 @@ void HybridInstaller::MountUpdateSteps() { AddStep(); AddStep(); AddStep(); - AddStep(); + AddStep( + hybrid::configuration::StepMergeTpkConfig::MergeType::CONCAT); AddStep(); AddStep(); AddStep(); @@ -485,7 +491,8 @@ void HybridInstaller::ManifestDirectInstallSteps() { AddStep(); AddStep(); AddStep(); - AddStep(); + AddStep( + hybrid::configuration::StepMergeTpkConfig::MergeType::OVERWRITE); AddStep(); AddStep( ci::security::StepRegisterTrustAnchor::RegisterType::UPDATE); @@ -527,7 +534,8 @@ void HybridInstaller::ManifestDirectUpdateSteps() { AddStep(); AddStep(); AddStep(); - AddStep(); + AddStep( + hybrid::configuration::StepMergeTpkConfig::MergeType::OVERWRITE); AddStep(); AddStep( ci::security::StepRegisterTrustAnchor::RegisterType::UPDATE); @@ -549,7 +557,8 @@ void HybridInstaller::ManifestPartialInstallSteps() { AddStep(); AddStep( wgt::configuration::StepParse::ConfigLocation::INSTALLED, true); - AddStep(); + AddStep( + hybrid::configuration::StepMergeTpkConfig::MergeType::OVERWRITE); AddStep(); AddStep(); AddStep(); @@ -575,7 +584,8 @@ void HybridInstaller::ManifestPartialUpdateSteps() { AddStep(); AddStep( wgt::configuration::StepParse::ConfigLocation::INSTALLED, true); - AddStep(); + AddStep( + hybrid::configuration::StepMergeTpkConfig::MergeType::OVERWRITE); AddStep(); AddStep(); AddStep(); @@ -647,5 +657,26 @@ void HybridInstaller::MigrateExtImgSteps() { AddStep(); } +void HybridInstaller::RecoverDBSteps() { + AddStep(pkgmgr_); + AddStep( + ci::configuration::StepParseManifest::ManifestLocation::INSTALLED, + ci::configuration::StepParseManifest::StoreLocation::NORMAL); + AddStep(); + AddStep(); + AddStep( + wgt::configuration::StepParse::ConfigLocation::INSTALLED, true); + AddStep(); + AddStep(); + AddStep(); + AddStep( + ci::security::StepPrivilegeCompatibility::InternalPrivType::BOTH); + AddStep(); + AddStep(); + AddStep( + hybrid::configuration::StepMergeTpkConfig::MergeType::OVERWRITE); + AddStep(); +} + } // namespace hybrid diff --git a/src/hybrid/hybrid_installer.h b/src/hybrid/hybrid_installer.h index 8331393..54a4d82 100644 --- a/src/hybrid/hybrid_installer.h +++ b/src/hybrid/hybrid_installer.h @@ -44,6 +44,7 @@ class HybridInstaller : public common_installer::AppInstaller { void ManifestPartialUpdateSteps() override; void PartialUninstallSteps() override; void MigrateExtImgSteps() override; + void RecoverDBSteps() override; }; } // namespace hybrid diff --git a/src/hybrid/step/configuration/step_merge_tpk_config.cc b/src/hybrid/step/configuration/step_merge_tpk_config.cc index 15d59c3..d63d003 100644 --- a/src/hybrid/step/configuration/step_merge_tpk_config.cc +++ b/src/hybrid/step/configuration/step_merge_tpk_config.cc @@ -11,16 +11,24 @@ namespace hybrid { namespace configuration { +StepMergeTpkConfig::StepMergeTpkConfig( + common_installer::InstallerContext* context, + MergeType type) : Step(context), merge_type_(type) { +} + common_installer::Step::Status StepMergeTpkConfig::process() { HybridBackendData* data = static_cast(context_->backend_data.get()); manifest_x* tpk_data = data->tpk_manifest_data.get(); manifest_x* wgt_data = context_->manifest_data.get(); - wgt_data->application = - g_list_concat(wgt_data->application, tpk_data->application); - tpk_data->application = nullptr; + if (merge_type_ == MergeType::CONCAT) + wgt_data->application = + g_list_concat(wgt_data->application, tpk_data->application); + else + wgt_data->application = tpk_data->application; + tpk_data->application = nullptr; return Status::OK; } diff --git a/src/hybrid/step/configuration/step_merge_tpk_config.h b/src/hybrid/step/configuration/step_merge_tpk_config.h index 2171d59..6491d34 100644 --- a/src/hybrid/step/configuration/step_merge_tpk_config.h +++ b/src/hybrid/step/configuration/step_merge_tpk_config.h @@ -18,6 +18,14 @@ namespace configuration { */ class StepMergeTpkConfig : public common_installer::Step { public: + enum class MergeType { + CONCAT, // Concatenate configurations + OVERWRITE // Overwrite one with others + }; + + explicit StepMergeTpkConfig(common_installer::InstallerContext* context, + MergeType type); + using Step::Step; Status process() override; @@ -25,6 +33,9 @@ class StepMergeTpkConfig : public common_installer::Step { Status undo() override { return Status::OK; } Status precheck() override { return Status::OK; } + private: + MergeType merge_type_; + STEP_NAME(MergeTpkConfig) }; diff --git a/src/wgt/wgt_installer.cc b/src/wgt/wgt_installer.cc index 9fdf8df..aaf30eb 100644 --- a/src/wgt/wgt_installer.cc +++ b/src/wgt/wgt_installer.cc @@ -77,6 +77,7 @@ #include #include #include +#include #include #include #include @@ -734,4 +735,19 @@ void WgtInstaller::MigrateExtImgSteps() { AddStep(); } +void WgtInstaller::RecoverDBSteps() { + AddStep(pkgmgr_); + AddStep( + wgt::configuration::StepParse::ConfigLocation::INSTALLED, true); + AddStep(); + AddStep(); + AddStep(); + AddStep(); + AddStep( + ci::security::StepPrivilegeCompatibility::InternalPrivType::WGT); + AddStep(); + AddStep(); + AddStep(); +} + } // namespace wgt diff --git a/src/wgt/wgt_installer.h b/src/wgt/wgt_installer.h index c25c2e1..8c0edcf 100644 --- a/src/wgt/wgt_installer.h +++ b/src/wgt/wgt_installer.h @@ -45,6 +45,7 @@ class WgtInstaller : public common_installer::AppInstaller { void DisablePkgSteps() override; void EnablePkgSteps() override; void MigrateExtImgSteps() override; + void RecoverDBSteps() override; }; } // namespace wgt -- 2.7.4 From cc46b86b2b0281f87c79b855ae2cc43522cdcedf Mon Sep 17 00:00:00 2001 From: Junghyun Yeon Date: Wed, 18 Jul 2018 14:45:56 +0900 Subject: [PATCH 14/16] Release version 0.10.5 Changes: - Add RecoverDB step and fix codes for it Change-Id: Ie28f4871ce62eac68e8c8f09ac496d3880770801 Signed-off-by: Junghyun Yeon --- packaging/wgt-backend.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packaging/wgt-backend.spec b/packaging/wgt-backend.spec index dad2aa2..9044659 100644 --- a/packaging/wgt-backend.spec +++ b/packaging/wgt-backend.spec @@ -1,6 +1,6 @@ Name: wgt-backend Summary: Application installer backend for WGT -Version: 0.10.4 +Version: 0.10.5 Release: 1 Group: Application Framework/Package Management License: Apache-2.0 -- 2.7.4 From 1620424d6fb366ca7c4933929178377054602e82 Mon Sep 17 00:00:00 2001 From: Junghyun Yeon Date: Mon, 23 Jul 2018 17:53:38 +0900 Subject: [PATCH 15/16] Fix RecoverDB request - Remove StepManifestAdjustment steps. Change-Id: I059c3db97e5d77ae9b5c09e28e87ba734a45d5ea Signed-off-by: Junghyun Yeon --- src/hybrid/hybrid_installer.cc | 1 - 1 file changed, 1 deletion(-) diff --git a/src/hybrid/hybrid_installer.cc b/src/hybrid/hybrid_installer.cc index b4798f5..cc24a5c 100644 --- a/src/hybrid/hybrid_installer.cc +++ b/src/hybrid/hybrid_installer.cc @@ -672,7 +672,6 @@ void HybridInstaller::RecoverDBSteps() { AddStep( ci::security::StepPrivilegeCompatibility::InternalPrivType::BOTH); AddStep(); - AddStep(); AddStep( hybrid::configuration::StepMergeTpkConfig::MergeType::OVERWRITE); AddStep(); -- 2.7.4 From 980eef349598ca124d6368bc1bd5692c90cb6246 Mon Sep 17 00:00:00 2001 From: Junghyun Yeon Date: Tue, 7 Aug 2018 19:38:17 +0900 Subject: [PATCH 16/16] Replace StepRegisterTrustAnchor into StepRecoverTrustAnchor Related changes : [app-installers] : https://review.tizen.org/gerrit/#/c/186122 Change-Id: I97036bf8d5b2fd88b0655e0e27c728bd4a842030 Signed-off-by: Junghyun Yeon --- src/wgt/wgt_installer.cc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/wgt/wgt_installer.cc b/src/wgt/wgt_installer.cc index aaf30eb..1c20ef8 100644 --- a/src/wgt/wgt_installer.cc +++ b/src/wgt/wgt_installer.cc @@ -82,6 +82,7 @@ #include #include #include +#include #include #include #include @@ -369,8 +370,7 @@ void WgtInstaller::RecoverySteps() { AddStep(); AddStep(); AddStep(); - AddStep( - ci::security::StepRegisterTrustAnchor::RegisterType::UPDATE); + AddStep(); } void WgtInstaller::MountInstallSteps() { -- 2.7.4