Implemented new updater logic that supports multi-arch distributions.
This commit is contained in:
@@ -30,7 +30,6 @@ namespace Duplicati.Server
|
||||
{
|
||||
private readonly Thread m_thread;
|
||||
private volatile bool m_terminated = false;
|
||||
private volatile bool m_download = false;
|
||||
private volatile bool m_forceCheck = false;
|
||||
private readonly object m_lock = new object();
|
||||
private readonly AutoResetEvent m_waitSignal;
|
||||
@@ -71,25 +70,6 @@ namespace Duplicati.Server
|
||||
}
|
||||
}
|
||||
|
||||
public void InstallUpdate()
|
||||
{
|
||||
lock(m_lock)
|
||||
{
|
||||
m_forceCheck = true;
|
||||
m_download = true;
|
||||
m_waitSignal.Set();
|
||||
}
|
||||
}
|
||||
|
||||
public void ActivateUpdate()
|
||||
{
|
||||
if (Duplicati.Library.AutoUpdater.UpdaterManager.SetRunUpdate())
|
||||
{
|
||||
IsUpdateRequested = true;
|
||||
FIXMEGlobal.ApplicationExitEvent.Set();
|
||||
}
|
||||
}
|
||||
|
||||
public void Terminate()
|
||||
{
|
||||
lock(m_lock)
|
||||
@@ -175,12 +155,15 @@ namespace Duplicati.Server
|
||||
FIXMEGlobal.DataConnection.ApplicationSettings.UpdatedVersion = null;
|
||||
}
|
||||
|
||||
if (FIXMEGlobal.DataConnection.ApplicationSettings.UpdatedVersion != null && Duplicati.Library.AutoUpdater.UpdaterManager.TryParseVersion(FIXMEGlobal.DataConnection.ApplicationSettings.UpdatedVersion.Version) > System.Reflection.Assembly.GetExecutingAssembly().GetName().Version)
|
||||
var updatedinfo = FIXMEGlobal.DataConnection.ApplicationSettings.UpdatedVersion;
|
||||
if (updatedinfo != null && Duplicati.Library.AutoUpdater.UpdaterManager.TryParseVersion(updatedinfo.Version) > System.Reflection.Assembly.GetExecutingAssembly().GetName().Version)
|
||||
{
|
||||
var package = updatedinfo.FindPackage();
|
||||
|
||||
FIXMEGlobal.DataConnection.RegisterNotification(
|
||||
NotificationType.Information,
|
||||
"Found update",
|
||||
FIXMEGlobal.DataConnection.ApplicationSettings.UpdatedVersion.Displayname,
|
||||
updatedinfo.Displayname,
|
||||
null,
|
||||
null,
|
||||
"update:new",
|
||||
@@ -194,22 +177,6 @@ namespace Duplicati.Server
|
||||
}
|
||||
}
|
||||
|
||||
if (m_download)
|
||||
{
|
||||
lock(m_lock)
|
||||
m_download = false;
|
||||
|
||||
var v = FIXMEGlobal.DataConnection.ApplicationSettings.UpdatedVersion;
|
||||
if (v != null)
|
||||
{
|
||||
ThreadState = UpdatePollerStates.Downloading;
|
||||
FIXMEGlobal.StatusEventNotifyer.SignalNewEvent();
|
||||
|
||||
if (Duplicati.Library.AutoUpdater.UpdaterManager.DownloadAndUnpackUpdate(v, (pg) => { DownloadProgess = pg; }))
|
||||
FIXMEGlobal.StatusEventNotifyer.SignalNewEvent();
|
||||
}
|
||||
}
|
||||
|
||||
DownloadProgess = 0;
|
||||
|
||||
if (ThreadState != UpdatePollerStates.Waiting)
|
||||
|
||||
Reference in New Issue
Block a user