From: jongmyeongko Date: Tue, 26 Jul 2016 12:51:59 +0000 (+0900) Subject: symlink control for read-only files of global app. X-Git-Tag: accepted/tizen/common/20160817.133230~2 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=refs%2Fchanges%2F02%2F81502%2F10;p=platform%2Fcore%2Fappfw%2Fwgt-backend.git symlink control for read-only files of global app. this is for new concept to support legacy app_path for backward compatibility. Requires: https://review.tizen.org/gerrit/#/c/81493/ Change-Id: I1ca76edc6dfe1c11a15a06e13b29c631779bf34e Signed-off-by: jongmyeongko Signed-off-by: Semun Lee Signed-off-by: jongmyeongko --- diff --git a/src/hybrid/hybrid_installer.cc b/src/hybrid/hybrid_installer.cc index 4d0d4e2..8d3060f 100644 --- a/src/hybrid/hybrid_installer.cc +++ b/src/hybrid/hybrid_installer.cc @@ -19,8 +19,8 @@ #include #include #include +#include #include -#include #include #include #include @@ -32,8 +32,8 @@ #include #include #include +#include #include -#include #include #include #include @@ -113,6 +113,7 @@ HybridInstaller::HybridInstaller(common_installer::PkgMgrPtr pkgmgr) AddStep(); AddStep(); AddStep(); + AddStep(); AddStep(false); AddStep(); AddStep(); @@ -130,7 +131,7 @@ HybridInstaller::HybridInstaller(common_installer::PkgMgrPtr pkgmgr) AddStep(); AddStep(); AddStep(); - AddStep(); + AddStep(); break; case ci::RequestType::Update: AddStep(pkgmgr_); @@ -159,6 +160,7 @@ HybridInstaller::HybridInstaller(common_installer::PkgMgrPtr pkgmgr) AddStep(); AddStep(); AddStep(); + AddStep(); AddStep(true); AddStep(); AddStep(); @@ -175,6 +177,7 @@ HybridInstaller::HybridInstaller(common_installer::PkgMgrPtr pkgmgr) AddStep(); AddStep( ci::Plugin::ActionType::Upgrade); + AddStep(); break; case ci::RequestType::Uninstall: AddStep(pkgmgr_); @@ -186,18 +189,19 @@ HybridInstaller::HybridInstaller(common_installer::PkgMgrPtr pkgmgr) AddStep( ci::Plugin::ActionType::Uninstall); AddStep(); + AddStep(); AddStep(true); AddStep(); AddStep(); AddStep(); AddStep(); AddStep(); - AddStep(); AddStep(); AddStep(); AddStep(); AddStep(); AddStep(); + AddStep(); break; case ci::RequestType::Reinstall: // RDS is not supported for hybrid apps @@ -232,6 +236,7 @@ HybridInstaller::HybridInstaller(common_installer::PkgMgrPtr pkgmgr) AddStep(); AddStep(); AddStep(); + AddStep(); AddStep(true); AddStep(); AddStep(); @@ -248,6 +253,7 @@ HybridInstaller::HybridInstaller(common_installer::PkgMgrPtr pkgmgr) AddStep(); AddStep( ci::Plugin::ActionType::Upgrade); + AddStep(); break; case ci::RequestType::Recovery: AddStep(pkgmgr_); @@ -292,6 +298,7 @@ HybridInstaller::HybridInstaller(common_installer::PkgMgrPtr pkgmgr) AddStep(); AddStep(); AddStep(); + AddStep(); AddStep(); AddStep(); AddStep(); @@ -309,7 +316,7 @@ HybridInstaller::HybridInstaller(common_installer::PkgMgrPtr pkgmgr) AddStep(); AddStep(); AddStep(); - AddStep(); + AddStep(); break; case ci::RequestType::MountUpdate: AddStep(pkgmgr_); @@ -338,6 +345,7 @@ HybridInstaller::HybridInstaller(common_installer::PkgMgrPtr pkgmgr) AddStep(); AddStep(); AddStep(); + AddStep(); AddStep(); AddStep(); AddStep(); @@ -353,6 +361,7 @@ HybridInstaller::HybridInstaller(common_installer::PkgMgrPtr pkgmgr) AddStep(); AddStep( ci::Plugin::ActionType::Upgrade); + AddStep(); break; case ci::RequestType::ManifestDirectInstall: AddStep(pkgmgr_); @@ -370,13 +379,14 @@ HybridInstaller::HybridInstaller(common_installer::PkgMgrPtr pkgmgr) AddStep(); AddStep(); AddStep(); + AddStep(); AddStep(); AddStep( ci::Plugin::ActionType::Install); AddStep(); AddStep(); AddStep(); - AddStep(); + AddStep(); break; case ci::RequestType::ManifestDirectUpdate: AddStep(pkgmgr_); @@ -400,10 +410,12 @@ HybridInstaller::HybridInstaller(common_installer::PkgMgrPtr pkgmgr) ci::configuration::StepParseManifest::StoreLocation::BACKUP); AddStep(); AddStep(); + AddStep(); AddStep(); AddStep(); AddStep( ci::Plugin::ActionType::Upgrade); + AddStep(); break; case ci::RequestType::EnablePkg: AddStep(pkgmgr_); diff --git a/src/wgt/step/encryption/step_encrypt_resources.cc b/src/wgt/step/encryption/step_encrypt_resources.cc index c5e8d7a..f8d5640 100644 --- a/src/wgt/step/encryption/step_encrypt_resources.cc +++ b/src/wgt/step/encryption/step_encrypt_resources.cc @@ -88,7 +88,7 @@ bool StepEncryptResources::Encrypt(const bf::path &src) { continue; } - bool is_sym = bf::is_symlink(current, error_code); + bool is_sym = bf::is_symlink(symlink_status(current, error_code)); if (error_code) return false; if (is_sym) 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 a4e1d6a..f4a1e6d 100644 --- a/src/wgt/step/filesystem/step_wgt_prepare_package_directory.cc +++ b/src/wgt/step/filesystem/step_wgt_prepare_package_directory.cc @@ -29,7 +29,7 @@ ci::Step::Status StepWgtPreparePackageDirectory::CreateSymlinkToMountPoint() { bf::path mount_point = ci::GetMountLocation(context_->pkg_path.get()); bf::path res_wgt_link = context_->pkg_path.get() / kResWgtDirectory; if (bf::exists(res_wgt_link)) { - if (!bf::is_symlink(res_wgt_link)) { + if (!bf::is_symlink(symlink_status(res_wgt_link))) { LOG(ERROR) << res_wgt_link << " is not symlink. Cannot proceed"; return Status::APP_DIR_ERROR; } diff --git a/src/wgt/wgt_installer.cc b/src/wgt/wgt_installer.cc index 01f2440..276fb30 100755 --- a/src/wgt/wgt_installer.cc +++ b/src/wgt/wgt_installer.cc @@ -21,8 +21,8 @@ #include #include #include +#include #include -#include #include #include #include @@ -35,8 +35,8 @@ #include #include #include +#include #include -#include #include #include #include @@ -117,6 +117,7 @@ WgtInstaller::WgtInstaller(ci::PkgMgrPtr pkgrmgr) AddStep(); AddStep(); AddStep(); + AddStep(); AddStep(false); AddStep(); AddStep(); @@ -133,7 +134,7 @@ WgtInstaller::WgtInstaller(ci::PkgMgrPtr pkgrmgr) ci::Plugin::ActionType::Install); AddStep(); AddStep(); - AddStep(); + AddStep(); break; } case ci::RequestType::Update: { @@ -159,6 +160,7 @@ WgtInstaller::WgtInstaller(ci::PkgMgrPtr pkgrmgr) AddStep(); AddStep(); AddStep(); + AddStep(); AddStep(true); AddStep(); AddStep(); @@ -174,6 +176,7 @@ WgtInstaller::WgtInstaller(ci::PkgMgrPtr pkgrmgr) AddStep( ci::Plugin::ActionType::Upgrade); AddStep(); + AddStep(); break; } case ci::RequestType::Uninstall: { @@ -184,6 +187,7 @@ WgtInstaller::WgtInstaller(ci::PkgMgrPtr pkgrmgr) ci::configuration::StepParseManifest::ManifestLocation::INSTALLED, ci::configuration::StepParseManifest::StoreLocation::NORMAL); AddStep(); + AddStep(); AddStep(true); AddStep( ci::Plugin::ActionType::Uninstall); @@ -192,12 +196,12 @@ WgtInstaller::WgtInstaller(ci::PkgMgrPtr pkgrmgr) AddStep(); AddStep(); AddStep(); - AddStep(); AddStep(); AddStep(); AddStep(); AddStep(); AddStep(); + AddStep(); break; } case ci::RequestType::Reinstall: { @@ -211,11 +215,13 @@ WgtInstaller::WgtInstaller(ci::PkgMgrPtr pkgrmgr) ci::configuration::StepParseManifest::ManifestLocation::INSTALLED, ci::configuration::StepParseManifest::StoreLocation::BACKUP); AddStep(); + AddStep(); AddStep(); AddStep(); AddStep(); AddStep(); AddStep(); + AddStep(); break; } case ci::RequestType::Delta: { @@ -247,6 +253,7 @@ WgtInstaller::WgtInstaller(ci::PkgMgrPtr pkgrmgr) AddStep(); AddStep(); AddStep(); + AddStep(); AddStep(true); AddStep(); AddStep(); @@ -262,6 +269,7 @@ WgtInstaller::WgtInstaller(ci::PkgMgrPtr pkgrmgr) AddStep( ci::Plugin::ActionType::Upgrade); AddStep(); + AddStep(); break; } case ci::RequestType::Recovery: { @@ -304,6 +312,7 @@ WgtInstaller::WgtInstaller(ci::PkgMgrPtr pkgrmgr) AddStep(); AddStep(); AddStep(); + AddStep(); AddStep(); AddStep(); AddStep(); @@ -320,7 +329,7 @@ WgtInstaller::WgtInstaller(ci::PkgMgrPtr pkgrmgr) AddStep(); AddStep(); AddStep(); - AddStep(); + AddStep(); break; } case ci::RequestType::MountUpdate: { @@ -344,6 +353,7 @@ WgtInstaller::WgtInstaller(ci::PkgMgrPtr pkgrmgr) AddStep(); AddStep(); AddStep(); + AddStep(); AddStep(); AddStep(); AddStep(); @@ -358,6 +368,7 @@ WgtInstaller::WgtInstaller(ci::PkgMgrPtr pkgrmgr) AddStep( ci::Plugin::ActionType::Upgrade); AddStep(); + AddStep(); break; } case ci::RequestType::ManifestDirectInstall: { @@ -373,10 +384,12 @@ WgtInstaller::WgtInstaller(ci::PkgMgrPtr pkgrmgr) AddStep(); AddStep(); AddStep(); + AddStep(); AddStep(); AddStep(); AddStep(ci::Plugin::ActionType::Install); AddStep(); + AddStep(); break; } case ci::RequestType::ManifestDirectUpdate: { @@ -397,10 +410,12 @@ WgtInstaller::WgtInstaller(ci::PkgMgrPtr pkgrmgr) AddStep(); AddStep(); AddStep(); + AddStep(); AddStep(); AddStep( ci::Plugin::ActionType::Upgrade); AddStep(); + AddStep(); break; } case ci::RequestType::Move: {