[Release] wrt-installer_0.1.114
[framework/web/wrt-installer.git] / src / jobs / widget_install / task_file_manipulation.cpp
index 56a7e63..c7b0ec6 100644 (file)
@@ -118,7 +118,7 @@ void changeOwnerForDirectory(std::string storagePath, mode_t mode) {
                      "Chown to invaild user");
         }
     } else if (euidaccess(storagePath.c_str(), W_OK | R_OK | X_OK) == 0) {
-        LogInfo(storagePath << " already exists.");
+        LogDebug(storagePath << " already exists.");
         // Even if private directory already is created, private dircetory
         // should change owner.
         if (chown(storagePath.c_str(),
@@ -146,12 +146,12 @@ TaskFileManipulation::TaskFileManipulation(InstallerContext& context) :
     m_context(context),
     m_extHandle(NULL)
 {
+    AddStep(&TaskFileManipulation::StartStep);
     if (INSTALL_LOCATION_TYPE_EXTERNAL !=
             m_context.locationType)
     {
         AddStep(&TaskFileManipulation::StepCreateDirs);
-        if (m_context.widgetConfig.packagingType !=
-            WrtDB::PKG_TYPE_DIRECTORY_WEB_APP)
+        if (m_context.mode.extension != InstallMode::ExtensionType::DIR)
         {
             AddStep(&TaskFileManipulation::StepRenamePath);
             AddAbortStep(&TaskFileManipulation::StepAbortRenamePath);
@@ -168,6 +168,7 @@ TaskFileManipulation::TaskFileManipulation(InstallerContext& context) :
 
         AddAbortStep(&TaskFileManipulation::StepAbortCreateExternalDir);
     }
+    AddStep(&TaskFileManipulation::EndStep);
 }
 
 void TaskFileManipulation::StepCreateDirs()
@@ -206,17 +207,17 @@ void TaskFileManipulation::StepCreatePrivateStorageDir()
     LogDebug("Create private storage directory : " <<
             m_context.locations->getPrivateStorageDir());
 
+    changeOwnerForDirectory(storagePath, PRIVATE_STORAGE_MODE);
+
     if (m_context.isUpdateMode) { //update
         std::string backData = m_context.locations->getBackupPrivateDir();
         LogDebug("copy private storage " << backData << " to " << storagePath);
-        WrtUtilMakeDir(storagePath);
         if (!DirectoryApi::DirectoryCopy(backData, storagePath)) {
             LogError("Failed to rename " << backData << " to " << storagePath);
             ThrowMsg(Exceptions::BackupFailed,
                     "Error occurs copy private strage files");
         }
     }
-    changeOwnerForDirectory(storagePath, PRIVATE_STORAGE_MODE);
 
     std::string tempStoragePath = m_context.locations->getPrivateTempStorageDir();
     LogDebug("Create temp private storage directory : " << tempStoragePath);
@@ -253,17 +254,16 @@ void TaskFileManipulation::StepRenamePath()
 void TaskFileManipulation::StepLinkForPreload()
 {
     if (m_context.mode.rootPath == InstallMode::RootPath::RO) {
-        std::string srcDir = m_context.locations->getUserDataRootDir() +
-            WrtDB::GlobalConfig::GetWidgetSrcPath();
+        std::string optRes = m_context.locations->getUserDataRootDir() +
+            WrtDB::GlobalConfig::GetWidgetResPath();
+        std::string usrRes = m_context.locations->getPackageInstallationDir() +
+            WrtDB::GlobalConfig::GetWidgetResPath();
 
-        if (0 != access(srcDir.c_str(), F_OK)) {
+        if (0 != access(optRes.c_str(), F_OK)) {
             LogDebug("Make symbolic name for preaload app" <<
-                    m_context.locations->getSourceDir() << " to " << srcDir);
-            std::string resDir = m_context.locations->getUserDataRootDir() +
-                "/res";
+                    usrRes << " to " << optRes);
 
-            WrtUtilMakeDir(resDir);
-            if (symlink(m_context.locations->getSourceDir().c_str(), srcDir.c_str()) != 0)
+            if (symlink(usrRes.c_str(), optRes.c_str()) != 0)
             {
                 int error = errno;
                 if (error)
@@ -437,5 +437,15 @@ void TaskFileManipulation::StepCreateSharedFolder()
                 SHARED_STORAGE_MODE);
     }
 }
+
+void TaskFileManipulation::StartStep()
+{
+    LogDebug("--------- <TaskFileManipulation> : START ----------");
+}
+
+void TaskFileManipulation::EndStep()
+{
+    LogDebug("--------- <TaskFileManipulation> : END ----------");
+}
 } //namespace WidgetInstall
 } //namespace Jobs