From 253c98d93cddcecefe06429babf6ee11d323f970 Mon Sep 17 00:00:00 2001 From: "sung-su.kim" Date: Thu, 8 Aug 2013 16:56:00 +0900 Subject: [PATCH] [Release] wrt-installer_0.1.114 Change-Id: Iaa6e3d9f48124bf7196cb5e771011d7994a6817d --- configuration/feature-wrt.properties | 28 ++++ configuration/privilege-wrt.properties | 9 ++ packaging/wrt-installer.spec | 8 +- src/CMakeLists.txt | 2 +- src/jobs/widget_install/job_widget_install.cpp | 6 +- src/jobs/widget_install/task_ace_check.cpp | 12 ++ src/jobs/widget_install/task_ace_check.h | 3 + src/jobs/widget_install/task_certify.cpp | 28 ++-- src/jobs/widget_install/task_certify.h | 4 +- src/jobs/widget_install/task_certify_level.cpp | 19 ++- src/jobs/widget_install/task_certify_level.h | 2 + src/jobs/widget_install/task_database.cpp | 35 +++-- src/jobs/widget_install/task_database.h | 3 + src/jobs/widget_install/task_encrypt_resource.cpp | 18 ++- src/jobs/widget_install/task_encrypt_resource.h | 3 + src/jobs/widget_install/task_file_manipulation.cpp | 12 ++ src/jobs/widget_install/task_file_manipulation.h | 3 + src/jobs/widget_install/task_install_ospsvc.cpp | 35 ++--- src/jobs/widget_install/task_install_ospsvc.h | 4 +- src/jobs/widget_install/task_manifest_file.cpp | 78 ++--------- src/jobs/widget_install/task_manifest_file.h | 6 +- ...k_certificates.cpp => task_pkg_info_update.cpp} | 155 +++++++++++++++++---- ...{task_certificates.h => task_pkg_info_update.h} | 44 +++--- src/jobs/widget_install/task_prepare_files.cpp | 13 +- src/jobs/widget_install/task_prepare_files.h | 3 + src/jobs/widget_install/task_prepare_reinstall.cpp | 13 ++ src/jobs/widget_install/task_prepare_reinstall.h | 3 + src/jobs/widget_install/task_recovery.cpp | 20 ++- src/jobs/widget_install/task_recovery.h | 2 + src/jobs/widget_install/task_remove_backup.cpp | 11 ++ src/jobs/widget_install/task_remove_backup.h | 3 + src/jobs/widget_install/task_smack.cpp | 20 +-- src/jobs/widget_install/task_smack.h | 4 +- src/jobs/widget_install/task_update_files.cpp | 20 ++- src/jobs/widget_install/task_update_files.h | 3 + src/jobs/widget_install/task_widget_config.cpp | 12 ++ src/jobs/widget_install/task_widget_config.h | 3 + src/jobs/widget_install/widget_install_context.h | 3 +- src/jobs/widget_uninstall/task_check.cpp | 16 ++- src/jobs/widget_uninstall/task_check.h | 2 + src/jobs/widget_uninstall/task_db_update.cpp | 20 ++- src/jobs/widget_uninstall/task_db_update.h | 3 + .../widget_uninstall/task_delete_certificates.cpp | 12 ++ .../widget_uninstall/task_delete_certificates.h | 3 + .../task_remove_custom_handlers.cpp | 12 ++ .../widget_uninstall/task_remove_custom_handlers.h | 3 + src/jobs/widget_uninstall/task_remove_files.cpp | 12 ++ src/jobs/widget_uninstall/task_remove_files.h | 3 + src/jobs/widget_uninstall/task_smack.cpp | 14 +- src/jobs/widget_uninstall/task_smack.h | 3 + .../widget_uninstall/task_uninstall_ospsvc.cpp | 12 ++ src/jobs/widget_uninstall/task_uninstall_ospsvc.h | 3 + src/wrt-installer/wrt-installer.cpp | 10 +- src/wrt-installer/wrt-installer.h | 6 - 54 files changed, 566 insertions(+), 218 deletions(-) create mode 100644 configuration/feature-wrt.properties create mode 100644 configuration/privilege-wrt.properties rename src/jobs/widget_install/{task_certificates.cpp => task_pkg_info_update.cpp} (61%) rename src/jobs/widget_install/{task_certificates.h => task_pkg_info_update.h} (53%) diff --git a/configuration/feature-wrt.properties b/configuration/feature-wrt.properties new file mode 100644 index 0000000..e103153 --- /dev/null +++ b/configuration/feature-wrt.properties @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/configuration/privilege-wrt.properties b/configuration/privilege-wrt.properties new file mode 100644 index 0000000..dc36b93 --- /dev/null +++ b/configuration/privilege-wrt.properties @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/packaging/wrt-installer.spec b/packaging/wrt-installer.spec index 707cebc..1cf31d6 100644 --- a/packaging/wrt-installer.spec +++ b/packaging/wrt-installer.spec @@ -1,7 +1,7 @@ #git:framework/web/wrt-installer Name: wrt-installer Summary: Installer for tizen Webruntime -Version: 0.1.110 +Version: 0.1.114 Release: 1 Group: Development/Libraries License: Apache License, Version 2.0 @@ -37,7 +37,6 @@ BuildRequires: pkgconfig(utilX) BuildRequires: pkgconfig(wrt-plugins-types) BuildRequires: pkgconfig(tapi) BuildRequires: pkgconfig(shortcut) -BuildRequires: pkgconfig(dpl-encryption) BuildRequires: pkgconfig(capi-appfw-app-manager) BuildRequires: pkgconfig(app2sd) BuildRequires: pkgconfig(web-provider) @@ -60,6 +59,11 @@ Description: Wrt Installer for Tizen apps and Wac apps %endif %build +%if 0%{?tizen_build_binary_release_type_eng} +export CFLAGS="$CFLAGS -DTIZEN_ENGINEER_MODE" +export CXXFLAGS="$CXXFLAGS -DTIZEN_ENGINEER_MODE" +export FFLAGS="$FFLAGS -DTIZEN_ENGINEER_MODE" +%endif export LDFLAGS+="-Wl,--rpath=/usr/lib -Wl,--hash-style=both -Wl,--as-needed" LDFLAGS="$LDFLAGS" diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 93a2431..6192474 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -77,8 +77,8 @@ SET(INSTALLER_SOURCES ${INSTALLER_JOBS}/widget_install/task_update_files.cpp ${INSTALLER_JOBS}/widget_install/task_remove_backup.cpp ${INSTALLER_JOBS}/widget_install/task_encrypt_resource.cpp - ${INSTALLER_JOBS}/widget_install/task_certificates.cpp ${INSTALLER_JOBS}/widget_install/task_prepare_reinstall.cpp + ${INSTALLER_JOBS}/widget_install/task_pkg_info_update.cpp ${INSTALLER_JOBS}/widget_install/widget_security.cpp ${INSTALLER_JOBS}/widget_install/widget_update_info.cpp ${INSTALLER_JOBS}/widget_install/directory_api.cpp diff --git a/src/jobs/widget_install/job_widget_install.cpp b/src/jobs/widget_install/job_widget_install.cpp index 99d102d..e746f01 100644 --- a/src/jobs/widget_install/job_widget_install.cpp +++ b/src/jobs/widget_install/job_widget_install.cpp @@ -68,7 +68,7 @@ #include #include #include -#include +#include #include #include @@ -205,10 +205,10 @@ JobWidgetInstall::JobWidgetInstall( { AddTask(new TaskInstallOspsvc(m_installerContext)); } - AddTask(new TaskCertificates(m_installerContext)); AddTask(new TaskDatabase(m_installerContext)); AddTask(new TaskAceCheck(m_installerContext)); AddTask(new TaskSmack(m_installerContext)); + AddTask(new TaskPkgInfoUpdate(m_installerContext)); } else if (result == ConfigureResult::Updated) { LogDebug("Configure installation updated"); LogDebug("Widget Update"); @@ -245,7 +245,6 @@ JobWidgetInstall::JobWidgetInstall( { AddTask(new TaskInstallOspsvc(m_installerContext)); } - AddTask(new TaskCertificates(m_installerContext)); AddTask(new TaskDatabase(m_installerContext)); AddTask(new TaskAceCheck(m_installerContext)); //TODO: remove widgetHandle from this task and move before database task @@ -253,6 +252,7 @@ JobWidgetInstall::JobWidgetInstall( // Any error in acecheck while update will break widget AddTask(new TaskSmack(m_installerContext)); AddTask(new TaskRemoveBackupFiles(m_installerContext)); + AddTask(new TaskPkgInfoUpdate(m_installerContext)); } else { // Installation is not allowed to proceed due to widget update policy LogWarning("Configure installation failed!"); diff --git a/src/jobs/widget_install/task_ace_check.cpp b/src/jobs/widget_install/task_ace_check.cpp index a75773b..72628c4 100644 --- a/src/jobs/widget_install/task_ace_check.cpp +++ b/src/jobs/widget_install/task_ace_check.cpp @@ -42,10 +42,12 @@ TaskAceCheck::TaskAceCheck(InstallerContext& context) : DPL::TaskDecl(this), m_context(context) { + AddStep(&TaskAceCheck::StartStep); AddStep(&TaskAceCheck::StepPrepareForAce); AddStep(&TaskAceCheck::StepAceCheck); AddStep(&TaskAceCheck::StepProcessAceResponse); AddStep(&TaskAceCheck::StepCheckAceResponse); + AddStep(&TaskAceCheck::EndStep); } void TaskAceCheck::StepPrepareForAce() @@ -204,10 +206,20 @@ void TaskAceCheck::StepCheckAceResponse() } } LogDebug("Installation continues..."); +} + +void TaskAceCheck::StartStep() +{ + LogDebug("--------- : START ----------"); +} +void TaskAceCheck::EndStep() +{ m_context.job->UpdateProgress( InstallerContext::INSTALL_ACE_CHECK, "Widget Access Control Check Finished"); + + LogDebug("--------- : END ----------"); } } //namespace WidgetInstall } //namespace Jobs diff --git a/src/jobs/widget_install/task_ace_check.h b/src/jobs/widget_install/task_ace_check.h index d3c5955..d317975 100644 --- a/src/jobs/widget_install/task_ace_check.h +++ b/src/jobs/widget_install/task_ace_check.h @@ -41,6 +41,9 @@ class TaskAceCheck : void StepProcessAceResponse(); void StepCheckAceResponse(); + void StartStep(); + void EndStep(); + public: TaskAceCheck(InstallerContext& context); }; diff --git a/src/jobs/widget_install/task_certify.cpp b/src/jobs/widget_install/task_certify.cpp index 7b44f7f..a610cb6 100644 --- a/src/jobs/widget_install/task_certify.cpp +++ b/src/jobs/widget_install/task_certify.cpp @@ -125,12 +125,13 @@ TaskCertify::TaskCertify(InstallerContext &inCont) : DPL::TaskDecl(this), m_contextData(inCont) { + AddStep(&TaskCertify::StartStep); AddStep(&TaskCertify::stepSignature); // certi comparison determines whether the update. if (true == m_contextData.isUpdateMode) { AddStep(&TaskCertify::stepVerifyUpdate); } - AddStep(&TaskCertify::stepFinalize); + AddStep(&TaskCertify::EndStep); } void TaskCertify::processDistributorSignature(const SignatureData &data) @@ -310,15 +311,6 @@ void TaskCertify::stepSignature() "Widget Signature checked"); } -void TaskCertify::stepFinalize() -{ - LogDebug("Step: <>"); - - m_contextData.job->UpdateProgress( - InstallerContext::INSTALL_CERT_CHECK, - "Widget Certification Check Finished"); -} - bool TaskCertify::isTizenWebApp() const { bool ret = FALSE; @@ -357,6 +349,22 @@ void TaskCertify::stepVerifyUpdate() } } } + +void TaskCertify::StartStep() +{ + LogDebug("--------- : START ----------"); +} + +void TaskCertify::EndStep() +{ + LogDebug("Step: <>"); + + m_contextData.job->UpdateProgress( + InstallerContext::INSTALL_CERT_CHECK, + "Widget Certification Check Finished"); + + LogDebug("--------- : END ----------"); +} } //namespace WidgetInstall } //namespace Jobs diff --git a/src/jobs/widget_install/task_certify.h b/src/jobs/widget_install/task_certify.h index 955b8ff..6a59781 100644 --- a/src/jobs/widget_install/task_certify.h +++ b/src/jobs/widget_install/task_certify.h @@ -51,7 +51,9 @@ class TaskCertify : //steps void stepSignature(); void stepVerifyUpdate(); - void stepFinalize(); + + void StartStep(); + void EndStep(); void processDistributorSignature(const ValidationCore::SignatureData &data); void processAuthorSignature(const ValidationCore::SignatureData &data); diff --git a/src/jobs/widget_install/task_certify_level.cpp b/src/jobs/widget_install/task_certify_level.cpp index 6c77ccf..1c5c77c 100644 --- a/src/jobs/widget_install/task_certify_level.cpp +++ b/src/jobs/widget_install/task_certify_level.cpp @@ -53,7 +53,9 @@ TaskCertifyLevel::TaskCertifyLevel(InstallerContext &inCont) : DPL::TaskDecl(this), m_contextData(inCont) { + AddStep(&TaskCertifyLevel::StartStep); AddStep(&TaskCertifyLevel::stepCertifyLevel); + AddStep(&TaskCertifyLevel::EndStep); } void TaskCertifyLevel::stepCertifyLevel() @@ -63,10 +65,6 @@ void TaskCertifyLevel::stepCertifyLevel() ThrowMsg(Exceptions::PrivilegeLevelViolation, "setting level violate"); } LogDebug("================ Step: <> DONE ================"); - - m_contextData.job->UpdateProgress( - InstallerContext::INSTALL_CERTIFY_LEVEL_CHECK, - "Application Certificate level check Finished"); } void TaskCertifyLevel::getSignatureFiles(const std::string& path, @@ -229,6 +227,19 @@ TaskCertifyLevel::Level TaskCertifyLevel::certTypeToLevel( return Level::UNKNOWN; } +void TaskCertifyLevel::StartStep() +{ + LogDebug("--------- : START ----------"); +} + +void TaskCertifyLevel::EndStep() +{ + LogDebug("--------- : END ----------"); + + m_contextData.job->UpdateProgress( + InstallerContext::INSTALL_CERTIFY_LEVEL_CHECK, + "Application Certificate level check Finished"); +} } //namespace WidgetInstall } //namespace Jobs diff --git a/src/jobs/widget_install/task_certify_level.h b/src/jobs/widget_install/task_certify_level.h index ae8ce40..d340cb0 100644 --- a/src/jobs/widget_install/task_certify_level.h +++ b/src/jobs/widget_install/task_certify_level.h @@ -57,6 +57,8 @@ class TaskCertifyLevel : //steps void stepCertifyLevel(); + void StartStep(); + void EndStep(); //util void getSignatureFiles(const std::string& path, diff --git a/src/jobs/widget_install/task_database.cpp b/src/jobs/widget_install/task_database.cpp index de10e4a..49020fc 100644 --- a/src/jobs/widget_install/task_database.cpp +++ b/src/jobs/widget_install/task_database.cpp @@ -54,12 +54,14 @@ TaskDatabase::TaskDatabase(InstallerContext& context) : m_handleToRemove(INVALID_WIDGET_HANDLE), m_handle(INVALID_WIDGET_HANDLE) { + AddStep(&TaskDatabase::StartStep); AddStep(&TaskDatabase::StepRegisterExternalFiles); AddStep(&TaskDatabase::StepWrtDBInsert); AddStep(&TaskDatabase::StepAceDBInsert); AddStep(&TaskDatabase::StepSecurityOriginDBInsert); AddStep(&TaskDatabase::StepRemoveExternalFiles); AddStep(&TaskDatabase::StepLiveboxDBInsert); + AddStep(&TaskDatabase::EndStep); AddAbortStep(&TaskDatabase::StepAbortDBInsert); AddAbortStep(&TaskDatabase::StepAbortAceDBInsert); @@ -92,13 +94,13 @@ void TaskDatabase::StepWrtDBInsert() "Given tizenId not found for update installation"); } - WidgetDAO::backupAndUpdateWidget( - m_backAppId, - m_context.widgetConfig.tzAppid, - m_context.widgetConfig, - m_context.widgetSecurity); - m_handle = WidgetDAOReadOnly::getHandle( - m_context.widgetConfig.tzAppid); + WidgetDAO::updateTizenAppId(m_context.widgetConfig.tzAppid, + m_backAppId); + WidgetDAO::registerWidget(m_context.widgetConfig.tzAppid, + m_context.widgetConfig, + m_context.widgetSecurity); + m_handle = + WidgetDAOReadOnly::getHandle(m_context.widgetConfig.tzAppid); } else { //new installation LogDebug("Registering widget..."); WidgetDAO::registerWidget( @@ -176,10 +178,6 @@ void TaskDatabase::StepSecurityOriginDBInsert() } } } - - m_context.job->UpdateProgress( - InstallerContext::INSTALL_NEW_DB_INSERT, - "New Widget DB UPDATE Finished"); } void TaskDatabase::StepRegisterExternalFiles() @@ -252,8 +250,9 @@ void TaskDatabase::StepAbortDBInsert() Try { if (m_context.isUpdateMode) { - WidgetDAO::restoreUpdateWidget(m_backAppId, - m_context.widgetConfig.tzAppid); + WidgetDAO::unregisterWidget(m_context.widgetConfig.tzAppid); + WidgetDAO::updateTizenAppId(m_backAppId, + m_context.widgetConfig.tzAppid); } else { WidgetDAO::unregisterWidget(m_context.widgetConfig.tzAppid); } @@ -319,5 +318,15 @@ void TaskDatabase::StepLiveboxDBInsert() autoLaunch, mouseEvent, pdFastOpen); } } + +void TaskDatabase::StartStep() +{ + LogDebug("--------- : START ----------"); +} + +void TaskDatabase::EndStep() +{ + LogDebug("--------- : END ----------"); +} } //namespace WidgetInstall } //namespace Jobs diff --git a/src/jobs/widget_install/task_database.h b/src/jobs/widget_install/task_database.h index e3e4951..79d19f5 100644 --- a/src/jobs/widget_install/task_database.h +++ b/src/jobs/widget_install/task_database.h @@ -55,6 +55,9 @@ class TaskDatabase : void StepAbortDBInsert(); void StepAbortAceDBInsert(); + void StartStep(); + void EndStep(); + public: TaskDatabase(InstallerContext& context); }; diff --git a/src/jobs/widget_install/task_encrypt_resource.cpp b/src/jobs/widget_install/task_encrypt_resource.cpp index e6838e5..7e3b18a 100644 --- a/src/jobs/widget_install/task_encrypt_resource.cpp +++ b/src/jobs/widget_install/task_encrypt_resource.cpp @@ -181,7 +181,9 @@ TaskEncryptResource::TaskEncryptResource(InstallerContext& context) : DPL::TaskDecl(this), m_context(context) { + AddStep(&TaskEncryptResource::StartStep); AddStep(&TaskEncryptResource::StepEncryptResource); + AddStep(&TaskEncryptResource::EndStep); } void TaskEncryptResource::StepEncryptResource() @@ -189,9 +191,6 @@ void TaskEncryptResource::StepEncryptResource() LogDebug("Step Encrypt resource"); EncryptDirectory(m_context.locations->getTemporaryRootDir()); - m_context.job->UpdateProgress( - InstallerContext::INSTALL_ECRYPTION_FILES, - "Ecrypt resource files"); } void TaskEncryptResource::EncryptDirectory(std::string path) @@ -338,5 +337,18 @@ void TaskEncryptResource::EncryptFile(const std::string &fileName) m_context.widgetConfig.encryptedFiles.insert(fileInfo); } +void TaskEncryptResource::StartStep() +{ + LogDebug("--------- : START ----------"); +} + +void TaskEncryptResource::EndStep() +{ + m_context.job->UpdateProgress( + InstallerContext::INSTALL_ECRYPTION_FILES, + "Ecrypt resource files"); + + LogDebug("--------- : END ----------"); +} } //namespace WidgetInstall } //namespace Jobs diff --git a/src/jobs/widget_install/task_encrypt_resource.h b/src/jobs/widget_install/task_encrypt_resource.h index 9c95696..b89a992 100644 --- a/src/jobs/widget_install/task_encrypt_resource.h +++ b/src/jobs/widget_install/task_encrypt_resource.h @@ -38,6 +38,9 @@ class TaskEncryptResource : public DPL::TaskDecl void StepEncryptResource(); + void StartStep(); + void EndStep(); + void EncryptDirectory(std::string path); void EncryptFile(const std::string &fileName); diff --git a/src/jobs/widget_install/task_file_manipulation.cpp b/src/jobs/widget_install/task_file_manipulation.cpp index 866d189..c7b0ec6 100644 --- a/src/jobs/widget_install/task_file_manipulation.cpp +++ b/src/jobs/widget_install/task_file_manipulation.cpp @@ -146,6 +146,7 @@ TaskFileManipulation::TaskFileManipulation(InstallerContext& context) : m_context(context), m_extHandle(NULL) { + AddStep(&TaskFileManipulation::StartStep); if (INSTALL_LOCATION_TYPE_EXTERNAL != m_context.locationType) { @@ -167,6 +168,7 @@ TaskFileManipulation::TaskFileManipulation(InstallerContext& context) : AddAbortStep(&TaskFileManipulation::StepAbortCreateExternalDir); } + AddStep(&TaskFileManipulation::EndStep); } void TaskFileManipulation::StepCreateDirs() @@ -435,5 +437,15 @@ void TaskFileManipulation::StepCreateSharedFolder() SHARED_STORAGE_MODE); } } + +void TaskFileManipulation::StartStep() +{ + LogDebug("--------- : START ----------"); +} + +void TaskFileManipulation::EndStep() +{ + LogDebug("--------- : END ----------"); +} } //namespace WidgetInstall } //namespace Jobs diff --git a/src/jobs/widget_install/task_file_manipulation.h b/src/jobs/widget_install/task_file_manipulation.h index fc1d9ff..24f5cf3 100644 --- a/src/jobs/widget_install/task_file_manipulation.h +++ b/src/jobs/widget_install/task_file_manipulation.h @@ -50,6 +50,9 @@ class TaskFileManipulation : void StepFinishExternalInstallation(); void StepAbortCreateExternalDir(); + void StartStep(); + void EndStep(); + public: TaskFileManipulation(InstallerContext& context); }; diff --git a/src/jobs/widget_install/task_install_ospsvc.cpp b/src/jobs/widget_install/task_install_ospsvc.cpp index 3c3fb94..0a3e2f6 100644 --- a/src/jobs/widget_install/task_install_ospsvc.cpp +++ b/src/jobs/widget_install/task_install_ospsvc.cpp @@ -50,8 +50,9 @@ TaskInstallOspsvc::TaskInstallOspsvc(InstallerContext& context) : DPL::TaskDecl(this), m_context(context) { + AddStep(&TaskInstallOspsvc::StartStep); AddStep(&TaskInstallOspsvc::StepInstallOspService); - AddStep(&TaskInstallOspsvc::StepUpdateManifestFile); + AddStep(&TaskInstallOspsvc::EndStep); } void TaskInstallOspsvc::StepInstallOspService() @@ -92,34 +93,20 @@ void TaskInstallOspsvc::StepInstallOspService() } pclose(fd); - - m_context.job->UpdateProgress( - InstallerContext::INSTALL_INSTALL_OSPSVC, - "Installed Osp servcie"); } -void TaskInstallOspsvc::StepUpdateManifestFile() +void TaskInstallOspsvc::StartStep() { - std::string pkgid = DPL::ToUTF8String(m_context.widgetConfig.tzPkgid); - pkgmgrinfo_pkginfo_h handle; - - LogDebug("StepUpdateManifestFile"); - std::ostringstream manifest_file; - if (m_context.mode.rootPath == InstallMode::RootPath::RO) { - manifest_file << "/usr/share/packages/"; //TODO constant with path - } else { - manifest_file << "/opt/share/packages/"; //TODO constant with path - } - manifest_file << pkgid; - manifest_file << ".xml"; - LogDebug("manifest file : " << manifest_file.str()); + LogDebug("--------- : START ----------"); +} - int code = pkgmgr_parser_parse_manifest_for_upgrade( - manifest_file.str().c_str(), NULL); +void TaskInstallOspsvc::EndStep() +{ + m_context.job->UpdateProgress( + InstallerContext::INSTALL_INSTALL_OSPSVC, + "Installed Osp servcie"); - if (code != 0) { - LogError("Manifest parser error: " << code); - } + LogDebug("--------- : END ----------"); } } //namespace WidgetInstall } //namespace Jobs diff --git a/src/jobs/widget_install/task_install_ospsvc.h b/src/jobs/widget_install/task_install_ospsvc.h index 819a1b0..3e3a7e6 100644 --- a/src/jobs/widget_install/task_install_ospsvc.h +++ b/src/jobs/widget_install/task_install_ospsvc.h @@ -36,10 +36,12 @@ class TaskInstallOspsvc : public DPL::TaskDecl InstallerContext &m_context; void StepInstallOspService(); - void StepUpdateManifestFile(); void StepAbortInstall(); + void StartStep(); + void EndStep(); + // return callback static int StatusCallback( int req_id, const char *pkg_type, const char *pkg_name, diff --git a/src/jobs/widget_install/task_manifest_file.cpp b/src/jobs/widget_install/task_manifest_file.cpp index 6133536..37d856e 100644 --- a/src/jobs/widget_install/task_manifest_file.cpp +++ b/src/jobs/widget_install/task_manifest_file.cpp @@ -117,7 +117,6 @@ TaskManifestFile::TaskManifestFile(InstallerContext &inCont) : AddStep(&TaskManifestFile::stepCopyLiveboxFiles); AddStep(&TaskManifestFile::stepCreateExecFile); AddStep(&TaskManifestFile::stepGenerateManifest); - AddStep(&TaskManifestFile::stepParseManifest); AddAbortStep(&TaskManifestFile::stepAbortIconFiles); } else { @@ -125,9 +124,6 @@ TaskManifestFile::TaskManifestFile(InstallerContext &inCont) : AddStep(&TaskManifestFile::stepCopyLiveboxFiles); AddStep(&TaskManifestFile::stepCreateExecFile); AddStep(&TaskManifestFile::stepGenerateManifest); - AddStep(&TaskManifestFile::stepParseManifest); - - AddAbortStep(&TaskManifestFile::stepAbortParseManifest); } } @@ -599,53 +595,11 @@ void TaskManifestFile::stepGenerateManifest() commit_manifest = destFile.str(); LogDebug("Commiting manifest file : " << commit_manifest); - m_context.job->UpdateProgress( - InstallerContext::INSTALL_CREATE_MANIFEST, - "Widget Manifest Creation Finished"); -} - -void TaskManifestFile::stepParseManifest() -{ - int code = 0; - char* updateTags[3] = {NULL, }; - - if (!m_context.mode.removable) { - updateTags[0] = "preload=false"; - updateTags[1] = "removable=false"; - updateTags[2] = NULL; - - } - commitManifest(); - if (m_context.isUpdateMode || ( - m_context.mode.rootPath == InstallMode::RootPath::RO - && m_context.mode.installTime == InstallMode::InstallTime::PRELOAD - && m_context.mode.extension == InstallMode::ExtensionType::DIR)) { - - if (m_context.widgetConfig.packagingType != PKG_TYPE_HYBRID_WEB_APP) { - code = pkgmgr_parser_parse_manifest_for_upgrade( - commit_manifest.c_str(), (updateTags[0] == NULL) ? NULL : updateTags); - - if (code != 0) { - LogError("Manifest parser error: " << code); - ThrowMsg(Exceptions::ManifestInvalid, "Parser returncode: " << code); - } - } - } else { - code = pkgmgr_parser_parse_manifest_for_installation( - commit_manifest.c_str(), (updateTags[0] == NULL) ? NULL : updateTags); - - if (code != 0) { - LogError("Manifest parser error: " << code); - ThrowMsg(Exceptions::ManifestInvalid, "Parser returncode: " << code); - } - } - m_context.job->UpdateProgress( - InstallerContext::INSTALL_CREATE_MANIFEST, - "Widget Manifest Parsing Finished"); - LogDebug("Manifest parsed"); + InstallerContext::INSTALL_CREATE_MANIFEST, + "Widget Manifest Creation Finished"); } void TaskManifestFile::commitManifest() @@ -1051,23 +1005,6 @@ void TaskManifestFile::setMetadata(UiApplication &uiApp) } } -void TaskManifestFile::stepAbortParseManifest() -{ - LogError("[Parse Manifest] Abroting...."); - - int code = pkgmgr_parser_parse_manifest_for_uninstallation( - DPL::ToUTF8String(manifest_file).c_str(), NULL); - - if (0 != code) { - LogWarning("Manifest parser error: " << code); - ThrowMsg(Exceptions::ManifestInvalid, "Parser returncode: " << code); - } - int ret = unlink(DPL::ToUTF8String(manifest_file).c_str()); - if (0 != ret) { - LogWarning("No manifest file found: " << manifest_file); - } -} - void TaskManifestFile::setLiveBoxInfo(Manifest& manifest) { FOREACH(it, m_context.widgetConfig.configInfo.m_livebox) { @@ -1220,7 +1157,7 @@ void TaskManifestFile::setAccount(Manifest& manifest) return; } if (account.m_multiAccountSupport) { - provider.multiAccount = L"ture"; + provider.multiAccount = L"true"; } else { provider.multiAccount = L"false"; } @@ -1267,5 +1204,14 @@ void TaskManifestFile::setPrivilege(Manifest& manifest) manifest.addPrivileges(privilege); } +void TaskManifestFile::StartStep() +{ + +} + +void TaskManifestFile::EndStep() +{ + +} } //namespace WidgetInstall } //namespace Jobs diff --git a/src/jobs/widget_install/task_manifest_file.h b/src/jobs/widget_install/task_manifest_file.h index 4bcc3b3..a318fc8 100644 --- a/src/jobs/widget_install/task_manifest_file.h +++ b/src/jobs/widget_install/task_manifest_file.h @@ -64,16 +64,16 @@ class TaskManifestFile : void stepCopyIconFiles(); void stepCopyLiveboxFiles(); void stepGenerateManifest(); - void stepParseManifest(); - void stepParseUpgradedManifest(); void stepAbortParseManifest(); //For widget update void stepBackupIconFiles(); - void stepAbortIconFiles(); + void StartStep(); + void EndStep(); + //private data std::list icon_list; //TODO: this should be registered as // external files diff --git a/src/jobs/widget_install/task_certificates.cpp b/src/jobs/widget_install/task_pkg_info_update.cpp similarity index 61% rename from src/jobs/widget_install/task_certificates.cpp rename to src/jobs/widget_install/task_pkg_info_update.cpp index cf4afd3..7f6a1d5 100644 --- a/src/jobs/widget_install/task_certificates.cpp +++ b/src/jobs/widget_install/task_pkg_info_update.cpp @@ -13,40 +13,105 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -/* - * @file task_certificates.cpp - * @author Leerang Song(leerang.song@samsung.com) +/** + * @file task_pkg_info_update.cpp + * @author Soyoung Kim (sy037.kim@samsung.com) * @version 1.0 - * @brief Implementation file for installer task certificates + * @brief Implementation file for installer task information about package + * update */ -#include -#include -#include -#include -#include -#include -#include +#include "task_pkg_info_update.h" + +#include +#include +#include #include -#include -#include +#include #include #include +#include +#include +#include +#include +#include + +#include +#include +#include using namespace WrtDB; +namespace { +} + namespace Jobs { namespace WidgetInstall { -TaskCertificates::TaskCertificates(InstallerContext& context) : - DPL::TaskDecl(this), - m_context(context), - m_pkgHandle(NULL) +TaskPkgInfoUpdate::TaskPkgInfoUpdate(InstallerContext& context) : + DPL::TaskDecl(this), + m_context(context) +{ + AddStep(&TaskPkgInfoUpdate::StartStep); + AddStep(&TaskPkgInfoUpdate::StepPkgInfo); + AddStep(&TaskPkgInfoUpdate::StepSetCertiInfo); + AddStep(&TaskPkgInfoUpdate::EndStep); + AddStep(&TaskPkgInfoUpdate::StepSetEndofInstallation); + + AddAbortStep(&TaskPkgInfoUpdate::StepAbortCertiInfo); + AddAbortStep(&TaskPkgInfoUpdate::stepAbortParseManifest); +} + +void TaskPkgInfoUpdate::StepPkgInfo() { - AddStep(&TaskCertificates::StepSetCertiInfo); - AddAbortStep(&TaskCertificates::StepAbortCertiInfo); + int code = 0; + char* updateTags[3] = {NULL, }; + + if (!m_context.mode.removable) { + updateTags[0] = "preload=false"; + updateTags[1] = "removable=false"; + updateTags[2] = NULL; + + } + + if (m_context.mode.rootPath == InstallMode::RootPath::RO) { + m_manifest += "/usr/share/packages/"; + } else { + m_manifest += "/opt/share/packages/"; + } + m_manifest += DPL::ToUTF8String(m_context.widgetConfig.tzPkgid) + ".xml"; + LogDebug("manifest file : " << m_manifest); + + if (m_context.isUpdateMode || ( + m_context.mode.rootPath == InstallMode::RootPath::RO + && m_context.mode.installTime == InstallMode::InstallTime::PRELOAD + && m_context.mode.extension == InstallMode::ExtensionType::DIR)) { + + if (m_context.widgetConfig.packagingType != PKG_TYPE_HYBRID_WEB_APP) { + code = pkgmgr_parser_parse_manifest_for_upgrade( + m_manifest.c_str(), (updateTags[0] == NULL) ? NULL : updateTags); + + if (code != 0) { + LogError("Manifest parser error: " << code); + ThrowMsg(Exceptions::ManifestInvalid, "Parser returncode: " << code); + } + } + } else { + code = pkgmgr_parser_parse_manifest_for_installation( + m_manifest.c_str(), (updateTags[0] == NULL) ? NULL : updateTags); + + if (code != 0) { + LogError("Manifest parser error: " << code); + ThrowMsg(Exceptions::ManifestInvalid, "Parser returncode: " << code); + } + } + + m_context.job->UpdateProgress( + InstallerContext::INSTALL_PKGINFO_UPDATE, + "Manifest Update Finished"); + LogDebug("Manifest parsed"); } -void TaskCertificates::StepSetCertiInfo() +void TaskPkgInfoUpdate::StepSetCertiInfo() { LogDebug("StepSetCertiInfo"); @@ -74,17 +139,14 @@ void TaskCertificates::StepSetCertiInfo() if (pkgmgr_installer_destroy_certinfo_set_handle(m_pkgHandle) < 0) { LogError("pkgmgrInstallerDestroyCertinfoSetHandle fail"); } - - m_context.job->UpdateProgress( - InstallerContext::INSTALL_SET_CERTINFO, - "Save certinfo to pkgmgr"); } -void TaskCertificates::SetCertiInfo(CertificateSource source) +void TaskPkgInfoUpdate::SetCertiInfo(int source) { LogDebug("Set CertiInfo to pkgmgr : " << source); CertificateChainList certificateChainList; - m_context.widgetSecurity.getCertificateChainList(certificateChainList, source); + m_context.widgetSecurity.getCertificateChainList(certificateChainList, + (CertificateSource)source); FOREACH(it, certificateChainList) { @@ -169,7 +231,7 @@ void TaskCertificates::SetCertiInfo(CertificateSource source) } } -void TaskCertificates::StepAbortCertiInfo() +void TaskPkgInfoUpdate::StepAbortCertiInfo() { if ((pkgmgr_installer_delete_certinfo( const_cast(DPL::ToUTF8String( @@ -179,5 +241,44 @@ void TaskCertificates::StepAbortCertiInfo() LogError("pkgmgr_installer_delete_certinfo fail"); } } + +void TaskPkgInfoUpdate::StartStep() +{ + LogDebug("--------- : START ----------"); +} + +void TaskPkgInfoUpdate::EndStep() +{ + m_context.job->UpdateProgress( + InstallerContext::INSTALL_SET_CERTINFO, + "Save certinfo to pkgmgr"); + + LogDebug("--------- : END ----------"); +} + +void TaskPkgInfoUpdate::stepAbortParseManifest() +{ + LogError("[Parse Manifest] Abroting...."); + + int code = pkgmgr_parser_parse_manifest_for_uninstallation( + m_manifest.c_str(), NULL); + + if (0 != code) { + LogWarning("Manifest parser error: " << code); + ThrowMsg(Exceptions::ManifestInvalid, "Parser returncode: " << code); + } + int ret = unlink(m_manifest.c_str()); + if (0 != ret) { + LogWarning("No manifest file found: " << m_manifest); + } +} + +void TaskPkgInfoUpdate::StepSetEndofInstallation() +{ + m_context.job->UpdateProgress( + InstallerContext::INSTALL_END, + "End installation"); +} + } //namespace WidgetInstall } //namespace Jobs diff --git a/src/jobs/widget_install/task_certificates.h b/src/jobs/widget_install/task_pkg_info_update.h similarity index 53% rename from src/jobs/widget_install/task_certificates.h rename to src/jobs/widget_install/task_pkg_info_update.h index e689cee..e1e9235 100644 --- a/src/jobs/widget_install/task_certificates.h +++ b/src/jobs/widget_install/task_pkg_info_update.h @@ -14,43 +14,45 @@ * limitations under the License. */ /* - * @file task_certificates.h - * @author Leerang Song(leerang.song@samsung.com) - * @version 1.0 - * @brief Header file for installer task certificates + * @file task_pkg_info_update.h + * @author soyoung kim (sy037.kim@samsung.com) + * @version 1.0 */ -#ifndef INSTALLER_CORE_JOS_WIDGET_INSTALL_TASK_CERTIFICATES_H -#define INSTALLER_CORE_JOS_WIDGET_INSTALL_TASK_CERTIFICATES_H -#include -#include -#include -#include +#ifndef SRC_JOBS_WIDGET_INSTALL_TASK_PKG_INFO_UPDATE_H_ +#define SRC_JOBS_WIDGET_INSTALL_TASK_PKG_INFO_UPDATE_H_ +#include +#include #include -using namespace WrtDB; class InstallerContext; namespace Jobs { namespace WidgetInstall { -class TaskCertificates : - public DPL::TaskDecl, - public DPL::Event::ICDelegateSupport +class TaskPkgInfoUpdate : public DPL::TaskDecl { private: - InstallerContext& m_context; + // Installation context + InstallerContext &m_context; + void StepPkgInfo(); void StepSetCertiInfo(); + void SetCertiInfo(int source); + void StepSetEndofInstallation(); + + void stepAbortParseManifest(); void StepAbortCertiInfo(); - void SetCertiInfo(CertificateSource source); + + void StartStep(); + void EndStep(); pkgmgr_instcertinfo_h m_pkgHandle; + std::string m_manifest; public: - TaskCertificates(InstallerContext& context); + explicit TaskPkgInfoUpdate(InstallerContext &installerContext); }; -} //namespace WidgetInstall -} //namespace Jobs - -#endif /* INSTALLER_CORE_JOS_WIDGET_INSTALL_TASK_CERTIFICATES_H */ +} // namespace WidgetInstall +} // namespace Jobs +#endif /* SRC_JOBS_WIDGET_INSTALL_TASK_PKG_INFO_UPDATE_H_ */ diff --git a/src/jobs/widget_install/task_prepare_files.cpp b/src/jobs/widget_install/task_prepare_files.cpp index 1838887..8a43fa6 100644 --- a/src/jobs/widget_install/task_prepare_files.cpp +++ b/src/jobs/widget_install/task_prepare_files.cpp @@ -39,8 +39,9 @@ TaskPrepareFiles::TaskPrepareFiles(InstallerContext &installerContext) : DPL::TaskDecl(this), m_installerContext(installerContext) { - // Install steps + AddStep(&TaskPrepareFiles::StartStep); AddStep(&TaskPrepareFiles::StepCopyFiles); + AddStep(&TaskPrepareFiles::EndStep); } void TaskPrepareFiles::CopyFile(const std::string& source) @@ -109,5 +110,15 @@ void TaskPrepareFiles::StepCopyFiles() CopyFile(os.str()); } } + +void TaskPrepareFiles::StartStep() +{ + LogDebug("--------- : START ----------"); +} + +void TaskPrepareFiles::EndStep() +{ + LogDebug("--------- : END ----------"); +} } // namespace WidgetInstall } // namespace Jobs diff --git a/src/jobs/widget_install/task_prepare_files.h b/src/jobs/widget_install/task_prepare_files.h index dd217a5..99458e8 100644 --- a/src/jobs/widget_install/task_prepare_files.h +++ b/src/jobs/widget_install/task_prepare_files.h @@ -40,6 +40,9 @@ class TaskPrepareFiles : public DPL::TaskDecl // Steps void StepCopyFiles(); + void StartStep(); + void EndStep(); + public: explicit TaskPrepareFiles(InstallerContext &installerContext); }; diff --git a/src/jobs/widget_install/task_prepare_reinstall.cpp b/src/jobs/widget_install/task_prepare_reinstall.cpp index 4eb4f3d..7178db3 100644 --- a/src/jobs/widget_install/task_prepare_reinstall.cpp +++ b/src/jobs/widget_install/task_prepare_reinstall.cpp @@ -55,12 +55,14 @@ TaskPrepareReinstall::TaskPrepareReinstall(InstallerContext& context) : DPL::TaskDecl(this), m_context(context) { + AddStep(&TaskPrepareReinstall::StartStep); AddStep(&TaskPrepareReinstall::StepPrepare); AddStep(&TaskPrepareReinstall::StepParseRDSDelta); AddStep(&TaskPrepareReinstall::StepVerifyRDSDelta); AddStep(&TaskPrepareReinstall::StepAddFile); AddStep(&TaskPrepareReinstall::StepDeleteFile); AddStep(&TaskPrepareReinstall::StepModifyFile); + AddStep(&TaskPrepareReinstall::EndStep); } void TaskPrepareReinstall::StepPrepare() @@ -193,9 +195,20 @@ void TaskPrepareReinstall::StepModifyFile() } LogDebug("Replace " << newfile << " to " << destPath); } +} + +void TaskPrepareReinstall::StartStep() +{ + LogDebug("--------- : START ----------"); +} + +void TaskPrepareReinstall::EndStep() +{ m_context.job->UpdateProgress( InstallerContext::INSTALL_RDS_PREPARE, "RDS prepare finished"); + + LogDebug("--------- : END ----------"); } } //namespace WidgetInstall diff --git a/src/jobs/widget_install/task_prepare_reinstall.h b/src/jobs/widget_install/task_prepare_reinstall.h index 1104e15..2828f27 100644 --- a/src/jobs/widget_install/task_prepare_reinstall.h +++ b/src/jobs/widget_install/task_prepare_reinstall.h @@ -48,6 +48,9 @@ class TaskPrepareReinstall : void StepAbortPrepareReinstall(); + void StartStep(); + void EndStep(); + InstallerContext& m_context; // TODO : replace multimap std::list m_addFileList; diff --git a/src/jobs/widget_install/task_recovery.cpp b/src/jobs/widget_install/task_recovery.cpp index 09b0e7d..8922c0f 100644 --- a/src/jobs/widget_install/task_recovery.cpp +++ b/src/jobs/widget_install/task_recovery.cpp @@ -47,7 +47,23 @@ TaskRecovery::TaskRecovery(InstallerContext& context) : DPL::TaskDecl(this), m_context(context) { + AddStep(&TaskRecovery::StartStep); AddStep(&TaskRecovery::StepCreateCheckFile); + AddStep(&TaskRecovery::EndStep); +} + +void TaskRecovery::StartStep() +{ + LogDebug("--------- : START ----------"); +} + +void TaskRecovery::EndStep() +{ + m_context.job->UpdateProgress( + InstallerContext::INSTALL_CHECK_FILE, + "Create information file for recovery"); + + LogDebug("--------- : END ----------"); } void TaskRecovery::StepCreateCheckFile() @@ -75,10 +91,6 @@ void TaskRecovery::StepCreateCheckFile() } else { ThrowMsg(Exceptions::FileOperationFailed, "Fail to create file for recovery."); } - - m_context.job->UpdateProgress( - InstallerContext::INSTALL_CHECK_FILE, - "Create information file for recovery"); } } //namespace WidgetInstall } //namespace Jobs diff --git a/src/jobs/widget_install/task_recovery.h b/src/jobs/widget_install/task_recovery.h index 120c1aa..22503a3 100644 --- a/src/jobs/widget_install/task_recovery.h +++ b/src/jobs/widget_install/task_recovery.h @@ -36,6 +36,8 @@ class TaskRecovery : public DPL::TaskDecl InstallerContext &m_context; void StepCreateCheckFile(); + void StartStep(); + void EndStep(); public: explicit TaskRecovery(InstallerContext &installerContext); diff --git a/src/jobs/widget_install/task_remove_backup.cpp b/src/jobs/widget_install/task_remove_backup.cpp index e4cc1f0..3a69e6c 100644 --- a/src/jobs/widget_install/task_remove_backup.cpp +++ b/src/jobs/widget_install/task_remove_backup.cpp @@ -42,11 +42,13 @@ TaskRemoveBackupFiles::TaskRemoveBackupFiles(InstallerContext& context) : DPL::TaskDecl(this), m_context(context) { + AddStep(&TaskRemoveBackupFiles::StartStep); if (m_context.mode.extension != InstallMode::ExtensionType::DIR) { AddStep(&TaskRemoveBackupFiles::StepRemoveBackupFiles); } AddStep(&TaskRemoveBackupFiles::StepDeleteBackupDB); + AddStep(&TaskRemoveBackupFiles::EndStep); } void TaskRemoveBackupFiles::StepRemoveBackupFiles() @@ -86,5 +88,14 @@ void TaskRemoveBackupFiles::StepDeleteBackupDB() } } +void TaskRemoveBackupFiles::StartStep() +{ + LogDebug("--------- : START ----------"); +} + +void TaskRemoveBackupFiles::EndStep() +{ + LogDebug("--------- : END ----------"); +} } //namespace WidgetInstall } //namespace Jobs diff --git a/src/jobs/widget_install/task_remove_backup.h b/src/jobs/widget_install/task_remove_backup.h index 777f988..9c12794 100644 --- a/src/jobs/widget_install/task_remove_backup.h +++ b/src/jobs/widget_install/task_remove_backup.h @@ -37,6 +37,9 @@ class TaskRemoveBackupFiles : void StepRemoveBackupFiles(); void StepDeleteBackupDB(); + void StartStep(); + void EndStep(); + public: TaskRemoveBackupFiles(InstallerContext& context); }; diff --git a/src/jobs/widget_install/task_smack.cpp b/src/jobs/widget_install/task_smack.cpp index 65a97cb..f338fc3 100644 --- a/src/jobs/widget_install/task_smack.cpp +++ b/src/jobs/widget_install/task_smack.cpp @@ -57,10 +57,11 @@ TaskSmack::TaskSmack(InstallerContext& context) : m_context(context), m_pkgId(NULL) { + AddStep(&TaskSmack::StartStep); AddStep(&TaskSmack::StepSetInstall); AddStep(&TaskSmack::StepSmackFolderLabeling); AddStep(&TaskSmack::StepSmackPrivilege); - AddStep(&TaskSmack::StepSetEndofInstallation); + AddStep(&TaskSmack::EndStep); AddAbortStep(&TaskSmack::StepAbortSmack); } @@ -223,13 +224,6 @@ void TaskSmack::StepAbortSmack() #endif } -void TaskSmack::StepSetEndofInstallation() -{ - m_context.job->UpdateProgress( - InstallerContext::INSTALL_END, - "End installation"); -} - bool TaskSmack::setLabelForSharedDir(const char* pkgId) { /* /shared directory */ @@ -277,5 +271,15 @@ bool TaskSmack::setLabelForSharedDir(const char* pkgId) return true; } + +void TaskSmack::StartStep() +{ + LogDebug("--------- : START ----------"); +} + +void TaskSmack::EndStep() +{ + LogDebug("--------- : END ----------"); +} } //namespace WidgetInstall } //namespace Jobs diff --git a/src/jobs/widget_install/task_smack.h b/src/jobs/widget_install/task_smack.h index ad32e5c..18ce62c 100644 --- a/src/jobs/widget_install/task_smack.h +++ b/src/jobs/widget_install/task_smack.h @@ -41,11 +41,13 @@ class TaskSmack : void StepSmackFolderLabeling(); void StepSmackPrivilege(); void StepRevokeForUpdate(); - void StepSetEndofInstallation(); void StepAbortSmack(); bool setLabelForSharedDir(const char* pkgId); + void StartStep(); + void EndStep(); + public: TaskSmack(InstallerContext& context); }; diff --git a/src/jobs/widget_install/task_update_files.cpp b/src/jobs/widget_install/task_update_files.cpp index 1c41e5d..75152ad 100644 --- a/src/jobs/widget_install/task_update_files.cpp +++ b/src/jobs/widget_install/task_update_files.cpp @@ -58,7 +58,9 @@ TaskUpdateFiles::TaskUpdateFiles(InstallerContext& context) : DPL::TaskDecl(this), m_context(context) { + AddStep(&TaskUpdateFiles::StartStep); AddStep(&TaskUpdateFiles::StepBackupDirectory); + AddStep(&TaskUpdateFiles::EndStep); AddAbortStep(&TaskUpdateFiles::StepAbortBackupDirectory); } @@ -85,10 +87,6 @@ void TaskUpdateFiles::StepBackupDirectory() } WrtUtilMakeDir(pkgPath); - - m_context.job->UpdateProgress( - InstallerContext::INSTALL_CREATE_BACKUP_DIR, - "Backup directory created for update"); } void TaskUpdateFiles::StepAbortBackupDirectory() @@ -108,5 +106,19 @@ void TaskUpdateFiles::StepAbortBackupDirectory() LogError("Failed to rename " << backPath << " to " << pkgPath); } } + +void TaskUpdateFiles::StartStep() +{ + LogDebug("--------- : START ----------"); +} + +void TaskUpdateFiles::EndStep() +{ + m_context.job->UpdateProgress( + InstallerContext::INSTALL_CREATE_BACKUP_DIR, + "Backup directory created for update"); + + LogDebug("--------- : END ----------"); +} } //namespace WidgetInstall } //namespace Jobs diff --git a/src/jobs/widget_install/task_update_files.h b/src/jobs/widget_install/task_update_files.h index 4161b13..1d02e0e 100644 --- a/src/jobs/widget_install/task_update_files.h +++ b/src/jobs/widget_install/task_update_files.h @@ -44,6 +44,9 @@ class TaskUpdateFiles : void StepAbortBackupDirectory(); + void StartStep(); + void EndStep(); + public: TaskUpdateFiles(InstallerContext& context); }; diff --git a/src/jobs/widget_install/task_widget_config.cpp b/src/jobs/widget_install/task_widget_config.cpp index c541346..ed59d54 100644 --- a/src/jobs/widget_install/task_widget_config.cpp +++ b/src/jobs/widget_install/task_widget_config.cpp @@ -72,6 +72,7 @@ TaskWidgetConfig::TaskWidgetConfig(InstallerContext& installContext) : DPL::TaskDecl(this), m_installContext(installContext) { + AddStep(&TaskWidgetConfig::StartStep); AddStep(&TaskWidgetConfig::StepProcessConfigurationFile); AddStep(&TaskWidgetConfig::ReadLocaleFolders); AddStep(&TaskWidgetConfig::ProcessLocalizedStartFiles); @@ -82,6 +83,7 @@ TaskWidgetConfig::TaskWidgetConfig(InstallerContext& installContext) : AddStep(&TaskWidgetConfig::ProcessSecurityModel); AddStep(&TaskWidgetConfig::StepVerifyFeatures); AddStep(&TaskWidgetConfig::StepCheckMinVersionInfo); + AddStep(&TaskWidgetConfig::EndStep); } void TaskWidgetConfig::StepProcessConfigurationFile() @@ -843,5 +845,15 @@ void TaskWidgetConfig::processFile( ThrowMsg(Exception::ConfigParseFailed, path); } } + +void TaskWidgetConfig::StartStep() +{ + LogDebug("--------- : START ----------"); +} + +void TaskWidgetConfig::EndStep() +{ + LogDebug("--------- : END ----------"); +} } //namespace WidgetInstall } //namespace Jobs diff --git a/src/jobs/widget_install/task_widget_config.h b/src/jobs/widget_install/task_widget_config.h index 71b8a67..fa9b46c 100755 --- a/src/jobs/widget_install/task_widget_config.h +++ b/src/jobs/widget_install/task_widget_config.h @@ -79,6 +79,9 @@ class TaskWidgetConfig : template void StepCancelInstallation(); + void StartStep(); + void EndStep(); + DPL::String createAuthorWidgetInfo() const; bool isFeatureAllowed( WrtDB::AppType appType, DPL::String featureName); diff --git a/src/jobs/widget_install/widget_install_context.h b/src/jobs/widget_install/widget_install_context.h index 3d735b6..0c118e9 100644 --- a/src/jobs/widget_install/widget_install_context.h +++ b/src/jobs/widget_install/widget_install_context.h @@ -67,11 +67,12 @@ struct InstallerContext INSTALL_CREATE_EXECFILE, INSTALL_CREATE_MANIFEST, INSTALL_INSTALL_OSPSVC, - INSTALL_SET_CERTINFO, INSTALL_NEW_DB_INSERT, INSTALL_ACE_PREPARE, INSTALL_ACE_CHECK, INSTALL_SMACK_ENABLE, + INSTALL_PKGINFO_UPDATE, + INSTALL_SET_CERTINFO, INSTALL_END } InstallStep; diff --git a/src/jobs/widget_uninstall/task_check.cpp b/src/jobs/widget_uninstall/task_check.cpp index 49acac6..8670ed1 100644 --- a/src/jobs/widget_uninstall/task_check.cpp +++ b/src/jobs/widget_uninstall/task_check.cpp @@ -35,12 +35,26 @@ TaskCheck::TaskCheck(UninstallerContext& context) : DPL::TaskDecl(this), m_context(context) { + AddStep(&TaskCheck::StartStep); AddStep(&TaskCheck::StepUninstallPreCheck); + AddStep(&TaskCheck::EndStep); } TaskCheck::~TaskCheck() {} +void TaskCheck::StartStep() +{ + LogDebug("--------- : START ----------"); +} + +void TaskCheck::EndStep() +{ + m_context.job->UpdateProgress(UninstallerContext::UNINSTALL_PRECHECK, + "Uninstall pre-checking Finished"); + LogDebug("--------- : END ----------"); +} + void TaskCheck::StepUninstallPreCheck() { bool isRunning = false; @@ -98,8 +112,6 @@ void TaskCheck::StepUninstallPreCheck() } LogDebug("Widget Can be uninstalled. Pkgname : " << m_context.tzAppid); - m_context.job->UpdateProgress(UninstallerContext::UNINSTALL_PRECHECK, - "Uninstall pre-checking Finished"); } } //namespace WidgetUninstall } //namespace Jobs diff --git a/src/jobs/widget_uninstall/task_check.h b/src/jobs/widget_uninstall/task_check.h index 4207726..0e39345 100644 --- a/src/jobs/widget_uninstall/task_check.h +++ b/src/jobs/widget_uninstall/task_check.h @@ -39,6 +39,8 @@ class TaskCheck : //steps void StepUninstallPreCheck(); + void StartStep(); + void EndStep(); public: TaskCheck(UninstallerContext& context); diff --git a/src/jobs/widget_uninstall/task_db_update.cpp b/src/jobs/widget_uninstall/task_db_update.cpp index de9c15c..ee4362c 100644 --- a/src/jobs/widget_uninstall/task_db_update.cpp +++ b/src/jobs/widget_uninstall/task_db_update.cpp @@ -37,8 +37,10 @@ TaskDbUpdate::TaskDbUpdate(UninstallerContext& context) : DPL::TaskDecl(this), m_context(context) { + AddStep(&TaskDbUpdate::StartStep); AddStep(&TaskDbUpdate::StepDbUpdate); AddStep(&TaskDbUpdate::StepLiveboxDBDelete); + AddStep(&TaskDbUpdate::EndStep); } TaskDbUpdate::~TaskDbUpdate() @@ -64,10 +66,6 @@ void TaskDbUpdate::StepDbUpdate() ReThrowMsg(Exceptions::DatabaseFailure, "Failed to handle StepDbUpdate!"); } - - m_context.job->UpdateProgress( - UninstallerContext::UNINSTALL_DB_UPDATE, - "Widget DB Update Finished"); } void TaskDbUpdate::StepLiveboxDBDelete() @@ -81,5 +79,19 @@ void TaskDbUpdate::StepLiveboxDBDelete() LogDebug("delete box info: " << m_context.tzAppid); } } + +void TaskDbUpdate::StartStep() +{ + LogDebug("--------- : START ----------"); +} + +void TaskDbUpdate::EndStep() +{ + m_context.job->UpdateProgress( + UninstallerContext::UNINSTALL_DB_UPDATE, + "Widget DB Update Finished"); + + LogDebug("--------- : END ----------"); +} } //namespace WidgetUninstall } //namespace Jobs diff --git a/src/jobs/widget_uninstall/task_db_update.h b/src/jobs/widget_uninstall/task_db_update.h index 1f34b00..1d2b453 100644 --- a/src/jobs/widget_uninstall/task_db_update.h +++ b/src/jobs/widget_uninstall/task_db_update.h @@ -48,6 +48,9 @@ class TaskDbUpdate : void StepDbUpdate(); void StepLiveboxDBDelete(); + void StartStep(); + void EndStep(); + public: TaskDbUpdate(UninstallerContext& context); virtual ~TaskDbUpdate(); diff --git a/src/jobs/widget_uninstall/task_delete_certificates.cpp b/src/jobs/widget_uninstall/task_delete_certificates.cpp index cb9b7e9..1c38eca 100644 --- a/src/jobs/widget_uninstall/task_delete_certificates.cpp +++ b/src/jobs/widget_uninstall/task_delete_certificates.cpp @@ -34,7 +34,9 @@ TaskDeleteCertificates::TaskDeleteCertificates( DPL::TaskDecl(this), m_context(context) { + AddStep(&TaskDeleteCertificates::StartStep); AddStep(&TaskDeleteCertificates::StepDeleteCertificates); + AddStep(&TaskDeleteCertificates::EndStep); } TaskDeleteCertificates::~TaskDeleteCertificates() @@ -48,5 +50,15 @@ void TaskDeleteCertificates::StepDeleteCertificates() LogError("pkgmgr_installer_delete_certinfo fail"); } } + +void TaskDeleteCertificates::StartStep() +{ + LogDebug("--------- : START ----------"); +} + +void TaskDeleteCertificates::EndStep() +{ + LogDebug("--------- : END ----------"); +} } //namespace WidgetUninstall } //namespace Jobs diff --git a/src/jobs/widget_uninstall/task_delete_certificates.h b/src/jobs/widget_uninstall/task_delete_certificates.h index b7b513b..529d630 100644 --- a/src/jobs/widget_uninstall/task_delete_certificates.h +++ b/src/jobs/widget_uninstall/task_delete_certificates.h @@ -39,6 +39,9 @@ class TaskDeleteCertificates : private: void StepDeleteCertificates(); + void StartStep(); + void EndStep(); + public: TaskDeleteCertificates(UninstallerContext& context); virtual ~TaskDeleteCertificates(); diff --git a/src/jobs/widget_uninstall/task_remove_custom_handlers.cpp b/src/jobs/widget_uninstall/task_remove_custom_handlers.cpp index 3717d62..706ab03 100644 --- a/src/jobs/widget_uninstall/task_remove_custom_handlers.cpp +++ b/src/jobs/widget_uninstall/task_remove_custom_handlers.cpp @@ -35,7 +35,9 @@ TaskRemoveCustomHandlers::TaskRemoveCustomHandlers(UninstallerContext& context) DPL::TaskDecl(this), m_context(context) { + AddStep(&TaskRemoveCustomHandlers::StartStep); AddStep(&TaskRemoveCustomHandlers::Step); + AddStep(&TaskRemoveCustomHandlers::EndStep); } void TaskRemoveCustomHandlers::Step() @@ -51,5 +53,15 @@ void TaskRemoveCustomHandlers::Step() handlersDao.removeWidgetContentHandlers(); CustomHandlerDB::Interface::detachDatabase(); } + +void TaskRemoveCustomHandlers::StartStep() +{ + LogDebug("--------- : START ----------"); +} + +void TaskRemoveCustomHandlers::EndStep() +{ + LogDebug("--------- : END ----------"); +} } //namespace WidgetUninstall } //namespace Jobs diff --git a/src/jobs/widget_uninstall/task_remove_custom_handlers.h b/src/jobs/widget_uninstall/task_remove_custom_handlers.h index 48d0d92..e6458b9 100644 --- a/src/jobs/widget_uninstall/task_remove_custom_handlers.h +++ b/src/jobs/widget_uninstall/task_remove_custom_handlers.h @@ -36,6 +36,9 @@ class TaskRemoveCustomHandlers : void Step(); + void StartStep(); + void EndStep(); + public: TaskRemoveCustomHandlers(UninstallerContext& context); }; diff --git a/src/jobs/widget_uninstall/task_remove_files.cpp b/src/jobs/widget_uninstall/task_remove_files.cpp index 2940e19..0a8f5c3 100644 --- a/src/jobs/widget_uninstall/task_remove_files.cpp +++ b/src/jobs/widget_uninstall/task_remove_files.cpp @@ -45,10 +45,12 @@ TaskRemoveFiles::TaskRemoveFiles(UninstallerContext& context) : DPL::TaskDecl(this), m_context(context) { + AddStep(&TaskRemoveFiles::StartStep); AddStep(&TaskRemoveFiles::StepRemoveInstallationDirectory); AddStep(&TaskRemoveFiles::StepRemoveManifest); AddStep(&TaskRemoveFiles::StepRemoveExternalLocations); AddStep(&TaskRemoveFiles::StepRemoveFinished); + AddStep(&TaskRemoveFiles::EndStep); } TaskRemoveFiles::~TaskRemoveFiles() @@ -176,5 +178,15 @@ void TaskRemoveFiles::StepRemoveExternalLocations() dao.unregisterAllExternalLocations(); } } + +void TaskRemoveFiles::StartStep() +{ + LogDebug("--------- : START ----------"); +} + +void TaskRemoveFiles::EndStep() +{ + LogDebug("--------- : END ----------"); +} } //namespace WidgetUninstall } //namespace Jobs diff --git a/src/jobs/widget_uninstall/task_remove_files.h b/src/jobs/widget_uninstall/task_remove_files.h index 6959242..19db96a 100644 --- a/src/jobs/widget_uninstall/task_remove_files.h +++ b/src/jobs/widget_uninstall/task_remove_files.h @@ -52,6 +52,9 @@ class TaskRemoveFiles : void StepRemoveManifest(); void StepRemoveExternalLocations(); + void StartStep(); + void EndStep(); + public: explicit TaskRemoveFiles(UninstallerContext& context); virtual ~TaskRemoveFiles(); diff --git a/src/jobs/widget_uninstall/task_smack.cpp b/src/jobs/widget_uninstall/task_smack.cpp index 084722e..353aaaf 100644 --- a/src/jobs/widget_uninstall/task_smack.cpp +++ b/src/jobs/widget_uninstall/task_smack.cpp @@ -35,7 +35,9 @@ TaskSmack::TaskSmack(UninstallerContext& context) : DPL::TaskDecl(this), m_context(context) { + AddStep(&TaskSmack::StartStep); AddStep(&TaskSmack::Step); + AddStep(&TaskSmack::EndStep); } void TaskSmack::Step() @@ -51,11 +53,21 @@ void TaskSmack::Step() if (PC_OPERATION_SUCCESS != app_uninstall(pkgId)) { LogError("failure in removing smack rules file"); } +#endif +} + +void TaskSmack::StartStep() +{ + LogDebug("--------- : START ----------"); +} +void TaskSmack::EndStep() +{ m_context.job->UpdateProgress( UninstallerContext::UNINSTALL_SMACK_DISABLE, "Widget SMACK Disabled"); -#endif + + LogDebug("--------- : END ----------"); } } //namespace WidgetUninstall } //namespace Jobs diff --git a/src/jobs/widget_uninstall/task_smack.h b/src/jobs/widget_uninstall/task_smack.h index f9fcda4..c7886b9 100644 --- a/src/jobs/widget_uninstall/task_smack.h +++ b/src/jobs/widget_uninstall/task_smack.h @@ -36,6 +36,9 @@ class TaskSmack : void Step(); + void StartStep(); + void EndStep(); + public: TaskSmack(UninstallerContext& context); }; diff --git a/src/jobs/widget_uninstall/task_uninstall_ospsvc.cpp b/src/jobs/widget_uninstall/task_uninstall_ospsvc.cpp index c476ab2..20a6027 100644 --- a/src/jobs/widget_uninstall/task_uninstall_ospsvc.cpp +++ b/src/jobs/widget_uninstall/task_uninstall_ospsvc.cpp @@ -41,7 +41,9 @@ TaskUninstallOspsvc::TaskUninstallOspsvc(UninstallerContext& context) : DPL::TaskDecl(this), m_context(context) { + AddStep(&TaskUninstallOspsvc::StartStep); AddStep(&TaskUninstallOspsvc::StepUninstallOspsvc); + AddStep(&TaskUninstallOspsvc::EndStep); } TaskUninstallOspsvc::~TaskUninstallOspsvc() @@ -88,5 +90,15 @@ void TaskUninstallOspsvc::StepUninstallOspsvc() m_context.job->UpdateProgress(UninstallerContext::UNINSTALL_REMOVE_OSPSVC, "Uninstall OSP service finished"); } + +void TaskUninstallOspsvc::StartStep() +{ + LogDebug("--------- : START ----------"); +} + +void TaskUninstallOspsvc::EndStep() +{ + LogDebug("--------- : END ----------"); +} } //namespace WidgetUninstall } //namespace Jobs diff --git a/src/jobs/widget_uninstall/task_uninstall_ospsvc.h b/src/jobs/widget_uninstall/task_uninstall_ospsvc.h index 3ba8d41..50ec347 100644 --- a/src/jobs/widget_uninstall/task_uninstall_ospsvc.h +++ b/src/jobs/widget_uninstall/task_uninstall_ospsvc.h @@ -39,6 +39,9 @@ class TaskUninstallOspsvc : //steps void StepUninstallOspsvc(); + void StartStep(); + void EndStep(); + public: TaskUninstallOspsvc(UninstallerContext& context); virtual ~TaskUninstallOspsvc(); diff --git a/src/wrt-installer/wrt-installer.cpp b/src/wrt-installer/wrt-installer.cpp index 4221367..164c6d8 100644 --- a/src/wrt-installer/wrt-installer.cpp +++ b/src/wrt-installer/wrt-installer.cpp @@ -102,11 +102,7 @@ WrtInstaller::~WrtInstaller() int WrtInstaller::getReturnStatus() const { - if (!m_returnStatus) { - return RE_SUCCESS; - } else { - return RE_FAIL; - } + return m_returnStatus; } void WrtInstaller::OnStop() @@ -735,7 +731,7 @@ void WrtInstaller::staticWrtInitPreloadStatusCallback(std::string tizenId, if (WRT_SUCCESS != status) { // Failure LogError("Step failed"); - This->m_returnStatus = 1; + This->m_returnStatus = status; This->showErrorMsg(status, tizenId, printMsg); @@ -780,7 +776,7 @@ void WrtInstaller::staticWrtStatusCallback(std::string tizenId, if (WRT_SUCCESS != status) { // Failure LogError("Step failed"); - This->m_returnStatus = -1; + This->m_returnStatus = status; This->DPL::Event::ControllerEventHandler ::PostEvent(WRTInstallerNS::QuitEvent()); diff --git a/src/wrt-installer/wrt-installer.h b/src/wrt-installer/wrt-installer.h index 94d515d..6752ea9 100644 --- a/src/wrt-installer/wrt-installer.h +++ b/src/wrt-installer/wrt-installer.h @@ -51,12 +51,6 @@ const char* const VALUE_TRUE = "true"; const char* const VALUE_FALSE = "false"; } -enum ReturnValue -{ - RE_SUCCESS, - RE_FAIL -}; - class WrtInstaller : public DPL::Application, private DPL::Event::Controller