Fix locating manifest when recovery mode 61/235361/3
authorSangyoon Jang <jeremy.jang@samsung.com>
Thu, 4 Jun 2020 05:48:04 +0000 (14:48 +0900)
committerSangyoon Jang <jeremy.jang@samsung.com>
Thu, 4 Jun 2020 09:33:52 +0000 (18:33 +0900)
Search backup manifest at manifest directory first.

Change-Id: I9ab4e28bb9e273a0e82640283ab233ecafe1ec93
Signed-off-by: Sangyoon Jang <jeremy.jang@samsung.com>
src/common/step/configuration/step_parse_manifest.cc

index bc3094e..abfb3b1 100644 (file)
@@ -112,12 +112,16 @@ bool StepParseManifest::LocateConfigFile() {
                       context_->is_readonly_package.get()))
               / bf::path(context_->pkgid.get());
       install_path += ".xml";
-      if (bf::exists(backup_path))
+      bf::path backup_install_path =
+          common_installer::GetBackupPathForManifestFile(install_path);
+      if (bf::exists(backup_install_path))
+        manifest = backup_install_path;
+      else if (bf::exists(backup_path))
         manifest = backup_path;
-      else if (bf::exists(in_package_path))
-        manifest = in_package_path;
       else if (bf::exists(install_path))
         manifest = install_path;
+      else if (bf::exists(in_package_path))
+        manifest = in_package_path;
       break;
     }
     case ManifestLocation::INSTALLED: {