break;
}
- // Record recovery file for update and request modes
+ // Record recovery file
if (pkgmgr_->GetRequestType() == RequestType::Install ||
- pkgmgr_->GetRequestType() == RequestType::Update) {
+ pkgmgr_->GetRequestType() == RequestType::Update ||
+ pkgmgr_->GetRequestType() == RequestType::Delta) {
std::unique_ptr<recovery::RecoveryFile> recovery_file =
recovery::RecoveryFile::CreateRecoveryFileForPath(
GenerateTemporaryPath(
void StepRemoveTemporaryDirectory::RemoveFiles() {
bf::path unpack_dir_path = context_->unpacked_dir_path.get();
+ bf::path patch_dir_path = unpack_dir_path;
+ patch_dir_path += ".patch";
if (unpack_dir_path.empty())
return;
boost::system::error_code error_code;
bf::remove_all(unpack_dir_path, error_code);
+ bf::remove_all(patch_dir_path, error_code);
return;
}
} // namespace filesystem
case RequestType::Update:
LOG(INFO) << "Running recovery for update installation";
break;
+ case RequestType::Delta:
+ LOG(INFO) << "Running recovery for delta installation";
+ break;
default:
assert(false && "Not reached");
}
return RecoveryNew();
case RequestType::Update:
return RecoveryUpdate();
+ case RequestType::Delta:
+ return RecoveryDelta();
default:
LOG(ERROR) << "Recovery is not supported for given type of installation";
return Status::RECOVERY_ERROR;
}
}
+Step::Status StepRecovery::RecoveryDelta() {
+ return RecoveryUpdate();
+}
+
} // namespace recovery
} // namespace common_installer
virtual Status RecoveryNew() = 0;
virtual Status RecoveryUpdate() = 0;
+ virtual Status RecoveryDelta();
};
} // namespace recovery