Added mechanism for package maintainers to produce a health check error.

Fixes #859

(cherry picked from commit 7da02c236aa03e6aef011130526040c1cb8399fc)
(cherry picked from commit 024000275df3b2d3b884c2c2fbf0b86bd36a631a)
This commit is contained in:
Taloth Saldono
2021-03-06 22:47:02 +01:00
committed by Qstick
parent 740e0edc04
commit 759b78e816
5 changed files with 78 additions and 5 deletions
@@ -146,16 +146,24 @@ namespace NzbDrone.Core.Update
_logger.Info("Preparing client");
_diskTransferService.TransferFolder(_appFolderInfo.GetUpdateClientFolder(), updateSandboxFolder, TransferMode.Move);
var updateClientExePath = _appFolderInfo.GetUpdateClientExePath(updatePackage.Runtime);
if (!_diskProvider.FileExists(updateClientExePath))
{
_logger.Warn("Update client {0} does not exist, aborting update.", updateClientExePath);
return false;
}
// Set executable flag on update app
if (OsInfo.IsOsx || (OsInfo.IsLinux && PlatformInfo.IsNetCore))
{
_diskProvider.SetFilePermissions(_appFolderInfo.GetUpdateClientExePath(updatePackage.Runtime), "755", null);
_diskProvider.SetFilePermissions(updateClientExePath, "755", null);
}
_logger.Info("Starting update client {0}", _appFolderInfo.GetUpdateClientExePath(updatePackage.Runtime));
_logger.Info("Starting update client {0}", updateClientExePath);
_logger.ProgressInfo("Readarr will restart shortly.");
_processProvider.Start(_appFolderInfo.GetUpdateClientExePath(updatePackage.Runtime), GetUpdaterArgs(updateSandboxFolder));
_processProvider.Start(updateClientExePath, GetUpdaterArgs(updateSandboxFolder));
return true;
}