diff options
Diffstat (limited to 'MediaBrowser.Server.Mono')
| -rw-r--r-- | MediaBrowser.Server.Mono/MediaBrowser.Server.Mono.csproj | 20 | ||||
| -rw-r--r-- | MediaBrowser.Server.Mono/MonoAppHost.cs | 97 | ||||
| -rw-r--r-- | MediaBrowser.Server.Mono/Program.cs | 12 | ||||
| -rw-r--r-- | MediaBrowser.Server.Mono/app.config | 4 | ||||
| -rw-r--r-- | MediaBrowser.Server.Mono/packages.config | 8 |
5 files changed, 39 insertions, 102 deletions
diff --git a/MediaBrowser.Server.Mono/MediaBrowser.Server.Mono.csproj b/MediaBrowser.Server.Mono/MediaBrowser.Server.Mono.csproj index 325011adf..62c3e00a8 100644 --- a/MediaBrowser.Server.Mono/MediaBrowser.Server.Mono.csproj +++ b/MediaBrowser.Server.Mono/MediaBrowser.Server.Mono.csproj @@ -61,15 +61,21 @@ <Reference Include="Emby.Common.Implementations"> <HintPath>..\ThirdParty\emby\Emby.Common.Implementations.dll</HintPath> </Reference> + <Reference Include="Emby.Server.Connect"> + <HintPath>..\ThirdParty\emby\Emby.Server.Connect.dll</HintPath> + </Reference> <Reference Include="Emby.Server.Core"> <HintPath>..\ThirdParty\emby\Emby.Server.Core.dll</HintPath> </Reference> + <Reference Include="Emby.Server.Sync"> + <HintPath>..\ThirdParty\emby\Emby.Server.Sync.dll</HintPath> + </Reference> <Reference Include="Mono.Posix, Version=4.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756, processorArchitecture=MSIL"> <SpecificVersion>False</SpecificVersion> <HintPath>..\packages\Mono.Posix.4.0.0.0\lib\net40\Mono.Posix.dll</HintPath> </Reference> <Reference Include="NLog, Version=4.0.0.0, Culture=neutral, PublicKeyToken=5120e14c03d0593c, processorArchitecture=MSIL"> - <HintPath>..\packages\NLog.4.4.0-betaV15\lib\net45\NLog.dll</HintPath> + <HintPath>..\packages\NLog.4.4.3\lib\net45\NLog.dll</HintPath> <Private>True</Private> </Reference> <Reference Include="ServiceStack.Text, Version=4.5.4.0, Culture=neutral, processorArchitecture=MSIL"> @@ -80,16 +86,16 @@ <HintPath>..\packages\SharpCompress.0.14.0\lib\net45\SharpCompress.dll</HintPath> <Private>True</Private> </Reference> - <Reference Include="SimpleInjector, Version=3.2.4.0, Culture=neutral, PublicKeyToken=984cb50dea722e99, processorArchitecture=MSIL"> - <HintPath>..\packages\SimpleInjector.3.2.4\lib\net45\SimpleInjector.dll</HintPath> + <Reference Include="SimpleInjector, Version=3.3.2.0, Culture=neutral, PublicKeyToken=984cb50dea722e99, processorArchitecture=MSIL"> + <HintPath>..\packages\SimpleInjector.3.3.2\lib\net45\SimpleInjector.dll</HintPath> <Private>True</Private> </Reference> <Reference Include="SQLitePCLRaw.core, Version=1.0.0.0, Culture=neutral, PublicKeyToken=1488e028ca7ab535, processorArchitecture=MSIL"> - <HintPath>..\packages\SQLitePCLRaw.core.1.1.1\lib\net45\SQLitePCLRaw.core.dll</HintPath> + <HintPath>..\packages\SQLitePCLRaw.core.1.1.2\lib\net45\SQLitePCLRaw.core.dll</HintPath> <Private>True</Private> </Reference> <Reference Include="SQLitePCLRaw.provider.sqlite3, Version=1.0.0.0, Culture=neutral, PublicKeyToken=62684c7b4f184e3f, processorArchitecture=MSIL"> - <HintPath>..\packages\SQLitePCLRaw.provider.sqlite3.net45.1.1.1\lib\net45\SQLitePCLRaw.provider.sqlite3.dll</HintPath> + <HintPath>..\packages\SQLitePCLRaw.provider.sqlite3.net45.1.1.2\lib\net45\SQLitePCLRaw.provider.sqlite3.dll</HintPath> <Private>True</Private> </Reference> <Reference Include="System" /> @@ -200,10 +206,6 @@ <Project>{21002819-c39a-4d3e-be83-2a276a77fb1f}</Project> <Name>RSSDP</Name> </ProjectReference> - <ProjectReference Include="..\ServiceStack\ServiceStack.csproj"> - <Project>{680a1709-25eb-4d52-a87f-ee03ffd94baa}</Project> - <Name>ServiceStack</Name> - </ProjectReference> <ProjectReference Include="..\SocketHttpListener.Portable\SocketHttpListener.Portable.csproj"> <Project>{4f26d5d8-a7b0-42b3-ba42-7cb7d245934e}</Project> <Name>SocketHttpListener.Portable</Name> diff --git a/MediaBrowser.Server.Mono/MonoAppHost.cs b/MediaBrowser.Server.Mono/MonoAppHost.cs index 932e2d6cd..e9ded5cd5 100644 --- a/MediaBrowser.Server.Mono/MonoAppHost.cs +++ b/MediaBrowser.Server.Mono/MonoAppHost.cs @@ -1,9 +1,12 @@ using System; using System.Collections.Generic; using System.Reflection; +using Emby.Server.Connect; using Emby.Server.Core; using Emby.Server.Implementations; -using Emby.Server.Implementations.FFMpeg; +using Emby.Server.Sync; +using MediaBrowser.Controller.Connect; +using MediaBrowser.Controller.Sync; using MediaBrowser.IsoMounter; using MediaBrowser.Model.IO; using MediaBrowser.Model.Logging; @@ -26,61 +29,14 @@ namespace MediaBrowser.Server.Mono } } - public override bool CanSelfUpdate + protected override IConnectManager CreateConnectManager() { - get - { - return false; - } - } - - protected override FFMpegInstallInfo GetFfmpegInstallInfo() - { - var info = new FFMpegInstallInfo(); - - // Windows builds: http://ffmpeg.zeranoe.com/builds/ - // Linux builds: http://johnvansickle.com/ffmpeg/ - // OS X builds: http://ffmpegmac.net/ - // OS X x64: http://www.evermeet.cx/ffmpeg/ - - var environment = (MonoEnvironmentInfo) EnvironmentInfo; - - if (environment.IsBsd) - { - - } - else if (environment.OperatingSystem == Model.System.OperatingSystem.Linux) - { - info.FFMpegFilename = "ffmpeg"; - info.FFProbeFilename = "ffprobe"; - info.ArchiveType = "7z"; - info.Version = "20160215"; - info.DownloadUrls = GetDownloadUrls(); - } - - // No version available - user requirement - info.DownloadUrls = new string[] { }; - - return info; + return new ConnectManager(); } - private string[] GetDownloadUrls() + protected override ISyncManager CreateSyncManager() { - switch (EnvironmentInfo.SystemArchitecture) - { - case Architecture.X64: - return new[] - { - "https://github.com/MediaBrowser/Emby.Resources/raw/master/ffmpeg/linux/ffmpeg-git-20160215-64bit-static.7z" - }; - case Architecture.X86: - return new[] - { - "https://github.com/MediaBrowser/Emby.Resources/raw/master/ffmpeg/linux/ffmpeg-git-20160215-32bit-static.7z" - }; - } - - return new string[] { }; + return new SyncManager(); } protected override void RestartInternal() @@ -103,6 +59,8 @@ namespace MediaBrowser.Server.Mono var list = new List<Assembly>(); list.Add(typeof(LinuxIsoManager).Assembly); + list.Add(typeof(ConnectManager).Assembly); + list.Add(typeof(SyncManager).Assembly); return list; } @@ -137,40 +95,5 @@ namespace MediaBrowser.Server.Mono return new Version(1, 0); } - - protected override void AuthorizeServer() - { - throw new NotImplementedException(); - } - - protected override void ConfigureAutoRunInternal(bool autorun) - { - throw new NotImplementedException(); - } - - protected override void EnableLoopbackInternal(string appName) - { - } - - public override bool SupportsRunningAsService - { - get - { - return false; - } - } - - public override bool SupportsAutoRunAtStartup - { - get { return false; } - } - - public override bool IsRunningAsService - { - get - { - return false; - } - } } } diff --git a/MediaBrowser.Server.Mono/Program.cs b/MediaBrowser.Server.Mono/Program.cs index 4790378a9..649283410 100644 --- a/MediaBrowser.Server.Mono/Program.cs +++ b/MediaBrowser.Server.Mono/Program.cs @@ -16,8 +16,11 @@ using Emby.Common.Implementations.Logging; using Emby.Common.Implementations.Networking; using Emby.Common.Implementations.Security; using Emby.Server.Core; +using Emby.Server.Core.Logging; using Emby.Server.Implementations; using Emby.Server.Implementations.IO; +using Emby.Server.Implementations.Logging; +using MediaBrowser.Model.IO; using MediaBrowser.Model.System; using MediaBrowser.Server.Startup.Common.IO; using Mono.Unix.Native; @@ -32,6 +35,7 @@ namespace MediaBrowser.Server.Mono private static ApplicationHost _appHost; private static ILogger _logger; + private static IFileSystem FileSystem; public static void Main(string[] args) { @@ -98,7 +102,9 @@ namespace MediaBrowser.Server.Mono var appFolderPath = Path.GetDirectoryName(applicationPath); - return new ServerApplicationPaths(programDataPath, appFolderPath, Path.GetDirectoryName(applicationPath)); + Action<string> createDirectoryFn = s => Directory.CreateDirectory(s); + + return new ServerApplicationPaths(programDataPath, appFolderPath, Path.GetDirectoryName(applicationPath), createDirectoryFn); } private static readonly TaskCompletionSource<bool> ApplicationTaskCompletionSource = new TaskCompletionSource<bool>(); @@ -111,6 +117,8 @@ namespace MediaBrowser.Server.Mono var fileSystem = new MonoFileSystem(logManager.GetLogger("FileSystem"), false, false, appPaths.TempDirectory); fileSystem.AddShortcutHandler(new MbLinkShortcutHandler(fileSystem)); + FileSystem = fileSystem; + var environmentInfo = GetEnvironmentInfo(); var imageEncoder = ImageEncoderHelper.GetImageEncoder(_logger, logManager, fileSystem, options, () => _appHost.HttpClient, appPaths); @@ -247,7 +255,7 @@ namespace MediaBrowser.Server.Mono { var exception = (Exception)e.ExceptionObject; - new UnhandledExceptionWriter(_appHost.ServerConfigurationManager.ApplicationPaths, _logger, _appHost.LogManager).Log(exception); + new UnhandledExceptionWriter(_appHost.ServerConfigurationManager.ApplicationPaths, _logger, _appHost.LogManager, FileSystem, new ConsoleLogger()).Log(exception); if (!Debugger.IsAttached) { diff --git a/MediaBrowser.Server.Mono/app.config b/MediaBrowser.Server.Mono/app.config index a77a3a506..07c113f3e 100644 --- a/MediaBrowser.Server.Mono/app.config +++ b/MediaBrowser.Server.Mono/app.config @@ -20,6 +20,10 @@ <assemblyIdentity name="System.IO.FileSystem.Primitives" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> <bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0" /> </dependentAssembly> + <dependentAssembly> + <assemblyIdentity name="SimpleInjector" publicKeyToken="984cb50dea722e99" culture="neutral" /> + <bindingRedirect oldVersion="0.0.0.0-3.3.2.0" newVersion="3.3.2.0" /> + </dependentAssembly> </assemblyBinding> </runtime> <startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6" /></startup></configuration> diff --git a/MediaBrowser.Server.Mono/packages.config b/MediaBrowser.Server.Mono/packages.config index 465a05c08..81da308f5 100644 --- a/MediaBrowser.Server.Mono/packages.config +++ b/MediaBrowser.Server.Mono/packages.config @@ -1,10 +1,10 @@ <?xml version="1.0" encoding="utf-8"?> <packages> <package id="Mono.Posix" version="4.0.0.0" targetFramework="net45" /> - <package id="NLog" version="4.4.0-betaV15" targetFramework="net46" /> + <package id="NLog" version="4.4.3" targetFramework="net46" /> <package id="ServiceStack.Text" version="4.5.4" targetFramework="net46" /> <package id="SharpCompress" version="0.14.0" targetFramework="net46" /> - <package id="SimpleInjector" version="3.2.4" targetFramework="net46" /> - <package id="SQLitePCLRaw.core" version="1.1.1" targetFramework="net46" /> - <package id="SQLitePCLRaw.provider.sqlite3.net45" version="1.1.1" targetFramework="net46" /> + <package id="SimpleInjector" version="3.3.2" targetFramework="net46" /> + <package id="SQLitePCLRaw.core" version="1.1.2" targetFramework="net46" /> + <package id="SQLitePCLRaw.provider.sqlite3.net45" version="1.1.2" targetFramework="net46" /> </packages>
\ No newline at end of file |
