mirror of
https://github.com/lidarr/lidarr.git
synced 2025-08-21 05:53:33 -07:00
Fixed: Lidarr failing to start on linux if which
missing (#714)
Fix startup failure when `which` missing
This commit is contained in:
parent
188e0e1040
commit
0762805572
1 changed files with 23 additions and 12 deletions
|
@ -56,13 +56,22 @@ namespace NzbDrone.Core.Parser
|
|||
|
||||
_customerRequestBuilder = new HttpRequestBuilder(_acoustIdUrl).CreateFactory();
|
||||
|
||||
// An exception here will cause Lidarr to fail to start, so catch any errors
|
||||
try
|
||||
{
|
||||
_fpcalcPath = GetFpcalcPath();
|
||||
|
||||
if (_fpcalcPath.IsNotNullOrWhiteSpace())
|
||||
{
|
||||
_fpcalcVersion = GetFpcalcVersion();
|
||||
_fpcalcArgs = GetFpcalcArgs();
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
_logger.Error(ex, "Somthing went wrong detecting fpcalc");
|
||||
}
|
||||
}
|
||||
|
||||
public bool IsSetup() => _fpcalcPath.IsNotNullOrWhiteSpace();
|
||||
public Version FpcalcVersion() => _fpcalcVersion;
|
||||
|
@ -77,17 +86,19 @@ namespace NzbDrone.Core.Parser
|
|||
|
||||
// check that the command exists
|
||||
Process p = new Process();
|
||||
p.StartInfo.FileName = "which";
|
||||
p.StartInfo.Arguments = $"{path}";
|
||||
p.StartInfo.FileName = path;
|
||||
p.StartInfo.Arguments = "-version";
|
||||
p.StartInfo.UseShellExecute = false;
|
||||
p.StartInfo.RedirectStandardOutput = true;
|
||||
|
||||
try
|
||||
{
|
||||
p.Start();
|
||||
// To avoid deadlocks, always read the output stream first and then wait.
|
||||
string output = p.StandardOutput.ReadToEnd();
|
||||
p.WaitForExit(1000);
|
||||
|
||||
if (p.ExitCode != 0)
|
||||
}
|
||||
catch
|
||||
{
|
||||
_logger.Debug("fpcalc not found");
|
||||
return null;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue