diff options
30 files changed, 72 insertions, 126 deletions
diff --git a/.drone.yml b/.drone.yml index bacce407b..13762ba0a 100644 --- a/.drone.yml +++ b/.drone.yml @@ -1,14 +1,11 @@ kind: pipeline name: build:debian -clone: - depth: 1 - steps: - name: submodules image: docker:git commands: - - git submodule update --init + - git submodule update --init --recursive - name: build:debian image: plugins/docker group: build @@ -22,14 +19,11 @@ steps: kind: pipeline name: build:docker -clone: - depth: 1 - steps: - name: submodules image: docker:git commands: - - git submodule update --init + - git submodule update --init --recursive - name: build:docker image: plugins/docker group: build diff --git a/Emby.Dlna/Api/DlnaServerService.cs b/Emby.Dlna/Api/DlnaServerService.cs index 663728f36..194ae73e0 100644 --- a/Emby.Dlna/Api/DlnaServerService.cs +++ b/Emby.Dlna/Api/DlnaServerService.cs @@ -224,8 +224,10 @@ namespace Emby.Dlna.Api var first = pathInfo[0]; // backwards compatibility + // TODO: Work out what this is doing. if (string.Equals(first, "mediabrowser", StringComparison.OrdinalIgnoreCase) || - string.Equals(first, "emby", StringComparison.OrdinalIgnoreCase)) + string.Equals(first, "emby", StringComparison.OrdinalIgnoreCase) || + string.Equals(first, "jellyfin", StringComparison.OrdinalIgnoreCase )) { index++; } diff --git a/Emby.Dlna/Main/DlnaEntryPoint.cs b/Emby.Dlna/Main/DlnaEntryPoint.cs index 4bab30337..cd535a98a 100644 --- a/Emby.Dlna/Main/DlnaEntryPoint.cs +++ b/Emby.Dlna/Main/DlnaEntryPoint.cs @@ -272,9 +272,9 @@ namespace Emby.Dlna.Main { CacheLifetime = TimeSpan.FromSeconds(1800), //How long SSDP clients can cache this info. Location = uri, // Must point to the URL that serves your devices UPnP description document. - FriendlyName = "Emby Server", - Manufacturer = "Emby", - ModelName = "Emby Server", + FriendlyName = "Jellyfin", + Manufacturer = "Jellyfin", + ModelName = "Jellyfin Server", Uuid = udn // This must be a globally unique value that survives reboots etc. Get from storage or embedded hardware etc. }; diff --git a/Emby.Dlna/PlayTo/SsdpHttpClient.cs b/Emby.Dlna/PlayTo/SsdpHttpClient.cs index eaafaa65b..bfd163bf1 100644 --- a/Emby.Dlna/PlayTo/SsdpHttpClient.cs +++ b/Emby.Dlna/PlayTo/SsdpHttpClient.cs @@ -14,7 +14,7 @@ namespace Emby.Dlna.PlayTo public class SsdpHttpClient { private const string USERAGENT = "Microsoft-Windows/6.2 UPnP/1.0 Microsoft-DLNA DLNADOC/1.50"; - private const string FriendlyName = "Emby"; + private const string FriendlyName = "Jellyfin"; private readonly IHttpClient _httpClient; private readonly IServerConfigurationManager _config; diff --git a/Emby.Dlna/Profiles/DefaultProfile.cs b/Emby.Dlna/Profiles/DefaultProfile.cs index ddc575700..b60a664ba 100644 --- a/Emby.Dlna/Profiles/DefaultProfile.cs +++ b/Emby.Dlna/Profiles/DefaultProfile.cs @@ -14,9 +14,9 @@ namespace Emby.Dlna.Profiles ProtocolInfo = "http-get:*:video/mpeg:*,http-get:*:video/mp4:*,http-get:*:video/vnd.dlna.mpeg-tts:*,http-get:*:video/avi:*,http-get:*:video/x-matroska:*,http-get:*:video/x-ms-wmv:*,http-get:*:video/wtv:*,http-get:*:audio/mpeg:*,http-get:*:audio/mp3:*,http-get:*:audio/mp4:*,http-get:*:audio/x-ms-wma*,http-get:*:audio/wav:*,http-get:*:audio/L16:*,http-get:*image/jpeg:*,http-get:*image/png:*,http-get:*image/gif:*,http-get:*image/tiff:*"; - Manufacturer = "Emby"; + Manufacturer = "Jellyfin"; ModelDescription = "UPnP/AV 1.0 Compliant Media Server"; - ModelName = "Emby Server"; + ModelName = "Jellyfin Server"; ModelNumber = "01"; ModelUrl = "https://github.com/jellyfin/jellyfin"; ManufacturerUrl = "https://github.com/jellyfin/jellyfin"; diff --git a/Emby.Dlna/Profiles/Xml/Default.xml b/Emby.Dlna/Profiles/Xml/Default.xml index 5d23a71ff..9b862fec3 100644 --- a/Emby.Dlna/Profiles/Xml/Default.xml +++ b/Emby.Dlna/Profiles/Xml/Default.xml @@ -1,9 +1,9 @@ <?xml version="1.0"?> <Profile xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <Name>Generic Device</Name> - <Manufacturer>Emby</Manufacturer> + <Manufacturer>Jellyfin</Manufacturer> <ManufacturerUrl>https://github.com/jellyfin/jellyfin</ManufacturerUrl> - <ModelName>Emby Server</ModelName> + <ModelName>Jellyfin Server</ModelName> <ModelDescription>UPnP/AV 1.0 Compliant Media Server</ModelDescription> <ModelNumber>01</ModelNumber> <ModelUrl>https://github.com/jellyfin/jellyfin</ModelUrl> diff --git a/Emby.Dlna/Profiles/Xml/Denon AVR.xml b/Emby.Dlna/Profiles/Xml/Denon AVR.xml index ff341e56f..599726c51 100644 --- a/Emby.Dlna/Profiles/Xml/Denon AVR.xml +++ b/Emby.Dlna/Profiles/Xml/Denon AVR.xml @@ -6,9 +6,9 @@ <Manufacturer>Denon</Manufacturer> <Headers /> </Identification> - <Manufacturer>Emby</Manufacturer> + <Manufacturer>Jellyfin</Manufacturer> <ManufacturerUrl>https://github.com/jellyfin/jellyfin</ManufacturerUrl> - <ModelName>Emby Server</ModelName> + <ModelName>Jellyfin Server</ModelName> <ModelDescription>UPnP/AV 1.0 Compliant Media Server</ModelDescription> <ModelNumber>01</ModelNumber> <ModelUrl>https://github.com/jellyfin/jellyfin</ModelUrl> diff --git a/Emby.Dlna/Profiles/Xml/DirecTV HD-DVR.xml b/Emby.Dlna/Profiles/Xml/DirecTV HD-DVR.xml index 211d5a131..e640e86bf 100644 --- a/Emby.Dlna/Profiles/Xml/DirecTV HD-DVR.xml +++ b/Emby.Dlna/Profiles/Xml/DirecTV HD-DVR.xml @@ -7,9 +7,9 @@ <HttpHeaderInfo name="User-Agent" value="DIRECTV" match="Substring" /> </Headers> </Identification> - <Manufacturer>Emby</Manufacturer> + <Manufacturer>Jellyfin</Manufacturer> <ManufacturerUrl>https://github.com/jellyfin/jellyfin</ManufacturerUrl> - <ModelName>Emby Server</ModelName> + <ModelName>Jellyfin Server</ModelName> <ModelDescription>UPnP/AV 1.0 Compliant Media Server</ModelDescription> <ModelNumber>01</ModelNumber> <ModelUrl>https://github.com/jellyfin/jellyfin</ModelUrl> diff --git a/Emby.Dlna/Profiles/Xml/Dish Hopper-Joey.xml b/Emby.Dlna/Profiles/Xml/Dish Hopper-Joey.xml index 865f8dd6a..615774adf 100644 --- a/Emby.Dlna/Profiles/Xml/Dish Hopper-Joey.xml +++ b/Emby.Dlna/Profiles/Xml/Dish Hopper-Joey.xml @@ -8,9 +8,9 @@ <HttpHeaderInfo name="User-Agent" value="Zip_" match="Substring" /> </Headers> </Identification> - <Manufacturer>Emby</Manufacturer> + <Manufacturer>Jellyfin</Manufacturer> <ManufacturerUrl>https://github.com/jellyfin/jellyfin</ManufacturerUrl> - <ModelName>Emby Server</ModelName> + <ModelName>Jellyfin Server</ModelName> <ModelDescription>UPnP/AV 1.0 Compliant Media Server</ModelDescription> <ModelNumber>01</ModelNumber> <ModelUrl>https://github.com/jellyfin/jellyfin</ModelUrl> diff --git a/Emby.Dlna/Profiles/Xml/LG Smart TV.xml b/Emby.Dlna/Profiles/Xml/LG Smart TV.xml index ee4634e76..21dccf531 100644 --- a/Emby.Dlna/Profiles/Xml/LG Smart TV.xml +++ b/Emby.Dlna/Profiles/Xml/LG Smart TV.xml @@ -7,9 +7,9 @@ <HttpHeaderInfo name="User-Agent" value="LG" match="Substring" /> </Headers> </Identification> - <Manufacturer>Emby</Manufacturer> + <Manufacturer>Jellyfin</Manufacturer> <ManufacturerUrl>https://github.com/jellyfin/jellyfin</ManufacturerUrl> - <ModelName>Emby Server</ModelName> + <ModelName>Jellyfin Server</ModelName> <ModelDescription>UPnP/AV 1.0 Compliant Media Server</ModelDescription> <ModelNumber>01</ModelNumber> <ModelUrl>https://github.com/jellyfin/jellyfin</ModelUrl> diff --git a/Emby.Dlna/Profiles/Xml/Linksys DMA2100.xml b/Emby.Dlna/Profiles/Xml/Linksys DMA2100.xml index 17dc336a7..ac081bba3 100644 --- a/Emby.Dlna/Profiles/Xml/Linksys DMA2100.xml +++ b/Emby.Dlna/Profiles/Xml/Linksys DMA2100.xml @@ -5,9 +5,9 @@ <ModelName>DMA2100us</ModelName> <Headers /> </Identification> - <Manufacturer>Emby</Manufacturer> + <Manufacturer>Jellyfin</Manufacturer> <ManufacturerUrl>https://github.com/jellyfin/jellyfin</ManufacturerUrl> - <ModelName>Emby Server</ModelName> + <ModelName>Jellyfin Server</ModelName> <ModelDescription>UPnP/AV 1.0 Compliant Media Server</ModelDescription> <ModelNumber>01</ModelNumber> <ModelUrl>https://github.com/jellyfin/jellyfin</ModelUrl> diff --git a/Emby.Dlna/Profiles/Xml/Marantz.xml b/Emby.Dlna/Profiles/Xml/Marantz.xml index b672d77a5..2bbdecde8 100644 --- a/Emby.Dlna/Profiles/Xml/Marantz.xml +++ b/Emby.Dlna/Profiles/Xml/Marantz.xml @@ -7,9 +7,9 @@ <HttpHeaderInfo name="User-Agent" value="Marantz" match="Substring" /> </Headers> </Identification> - <Manufacturer>Emby</Manufacturer> + <Manufacturer>Jellyfin</Manufacturer> <ManufacturerUrl>https://github.com/jellyfin/jellyfin</ManufacturerUrl> - <ModelName>Emby Server</ModelName> + <ModelName>Jellyfin Server</ModelName> <ModelDescription>UPnP/AV 1.0 Compliant Media Server</ModelDescription> <ModelNumber>01</ModelNumber> <ModelUrl>https://github.com/jellyfin/jellyfin</ModelUrl> diff --git a/Emby.Dlna/Profiles/Xml/MediaMonkey.xml b/Emby.Dlna/Profiles/Xml/MediaMonkey.xml index 83ddb6ac0..955c30e85 100644 --- a/Emby.Dlna/Profiles/Xml/MediaMonkey.xml +++ b/Emby.Dlna/Profiles/Xml/MediaMonkey.xml @@ -7,9 +7,9 @@ <HttpHeaderInfo name="User-Agent" value="MediaMonkey" match="Substring" /> </Headers> </Identification> - <Manufacturer>Emby</Manufacturer> + <Manufacturer>Jellyfin</Manufacturer> <ManufacturerUrl>https://github.com/jellyfin/jellyfin</ManufacturerUrl> - <ModelName>Emby Server</ModelName> + <ModelName>Jellyfin Server</ModelName> <ModelDescription>UPnP/AV 1.0 Compliant Media Server</ModelDescription> <ModelNumber>01</ModelNumber> <ModelUrl>https://github.com/jellyfin/jellyfin</ModelUrl> diff --git a/Emby.Dlna/Profiles/Xml/Panasonic Viera.xml b/Emby.Dlna/Profiles/Xml/Panasonic Viera.xml index 59d1fdd17..0da0e0926 100644 --- a/Emby.Dlna/Profiles/Xml/Panasonic Viera.xml +++ b/Emby.Dlna/Profiles/Xml/Panasonic Viera.xml @@ -8,9 +8,9 @@ <HttpHeaderInfo name="User-Agent" value="Panasonic MIL DLNA" match="Substring" /> </Headers> </Identification> - <Manufacturer>Emby</Manufacturer> + <Manufacturer>Jellyfin</Manufacturer> <ManufacturerUrl>https://github.com/jellyfin/jellyfin</ManufacturerUrl> - <ModelName>Emby Server</ModelName> + <ModelName>Jellyfin Server</ModelName> <ModelDescription>UPnP/AV 1.0 Compliant Media Server</ModelDescription> <ModelNumber>01</ModelNumber> <ModelUrl>https://github.com/jellyfin/jellyfin</ModelUrl> diff --git a/Emby.Dlna/Profiles/Xml/Popcorn Hour.xml b/Emby.Dlna/Profiles/Xml/Popcorn Hour.xml index a435d1484..775d40b74 100644 --- a/Emby.Dlna/Profiles/Xml/Popcorn Hour.xml +++ b/Emby.Dlna/Profiles/Xml/Popcorn Hour.xml @@ -1,9 +1,9 @@ <?xml version="1.0"?> <Profile xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <Name>Popcorn Hour</Name> - <Manufacturer>Emby</Manufacturer> + <Manufacturer>Jellyfin</Manufacturer> <ManufacturerUrl>https://github.com/jellyfin/jellyfin</ManufacturerUrl> - <ModelName>Emby Server</ModelName> + <ModelName>Jellyfin Server</ModelName> <ModelDescription>UPnP/AV 1.0 Compliant Media Server</ModelDescription> <ModelNumber>01</ModelNumber> <ModelUrl>https://github.com/jellyfin/jellyfin</ModelUrl> diff --git a/Emby.Dlna/Profiles/Xml/Samsung Smart TV.xml b/Emby.Dlna/Profiles/Xml/Samsung Smart TV.xml index 89167c9aa..1362d8c38 100644 --- a/Emby.Dlna/Profiles/Xml/Samsung Smart TV.xml +++ b/Emby.Dlna/Profiles/Xml/Samsung Smart TV.xml @@ -7,9 +7,9 @@ <HttpHeaderInfo name="User-Agent" value="SEC_" match="Substring" /> </Headers> </Identification> - <Manufacturer>Emby</Manufacturer> + <Manufacturer>Jellyfin</Manufacturer> <ManufacturerUrl>https://github.com/jellyfin/jellyfin</ManufacturerUrl> - <ModelName>Emby Server</ModelName> + <ModelName>Jellyfin Server</ModelName> <ModelDescription>UPnP/AV 1.0 Compliant Media Server</ModelDescription> <ModelNumber>01</ModelNumber> <ModelUrl>https://github.com/jellyfin/jellyfin</ModelUrl> diff --git a/Emby.Dlna/Profiles/Xml/Sharp Smart TV.xml b/Emby.Dlna/Profiles/Xml/Sharp Smart TV.xml index c9d428e57..dac2fdea4 100644 --- a/Emby.Dlna/Profiles/Xml/Sharp Smart TV.xml +++ b/Emby.Dlna/Profiles/Xml/Sharp Smart TV.xml @@ -7,9 +7,9 @@ <HttpHeaderInfo name="User-Agent" value="Sharp" match="Substring" /> </Headers> </Identification> - <Manufacturer>Emby</Manufacturer> + <Manufacturer>Jellyfin</Manufacturer> <ManufacturerUrl>https://github.com/jellyfin/jellyfin</ManufacturerUrl> - <ModelName>Emby Server</ModelName> + <ModelName>Jellyfin Server</ModelName> <ModelDescription>UPnP/AV 1.0 Compliant Media Server</ModelDescription> <ModelNumber>01</ModelNumber> <ModelUrl>https://github.com/jellyfin/jellyfin</ModelUrl> diff --git a/Emby.Dlna/Profiles/Xml/Sony PlayStation 3.xml b/Emby.Dlna/Profiles/Xml/Sony PlayStation 3.xml index 01d4bc086..d1afc162c 100644 --- a/Emby.Dlna/Profiles/Xml/Sony PlayStation 3.xml +++ b/Emby.Dlna/Profiles/Xml/Sony PlayStation 3.xml @@ -8,9 +8,9 @@ <HttpHeaderInfo name="X-AV-Client-Info" value="PLAYSTATION 3" match="Substring" /> </Headers> </Identification> - <Manufacturer>Emby</Manufacturer> + <Manufacturer>Jellyfin</Manufacturer> <ManufacturerUrl>https://github.com/jellyfin/jellyfin</ManufacturerUrl> - <ModelName>Emby Server</ModelName> + <ModelName>Jellyfin Server</ModelName> <ModelDescription>UPnP/AV 1.0 Compliant Media Server</ModelDescription> <ModelNumber>01</ModelNumber> <ModelUrl>https://github.com/jellyfin/jellyfin</ModelUrl> diff --git a/Emby.Dlna/Profiles/Xml/Sony PlayStation 4.xml b/Emby.Dlna/Profiles/Xml/Sony PlayStation 4.xml index 47aa84488..090abe417 100644 --- a/Emby.Dlna/Profiles/Xml/Sony PlayStation 4.xml +++ b/Emby.Dlna/Profiles/Xml/Sony PlayStation 4.xml @@ -8,9 +8,9 @@ <HttpHeaderInfo name="X-AV-Client-Info" value="PLAYSTATION 4" match="Substring" /> </Headers> </Identification> - <Manufacturer>Emby</Manufacturer> + <Manufacturer>Jellyfin</Manufacturer> <ManufacturerUrl>https://github.com/jellyfin/jellyfin</ManufacturerUrl> - <ModelName>Emby Server</ModelName> + <ModelName>Jellyfin Server</ModelName> <ModelDescription>UPnP/AV 1.0 Compliant Media Server</ModelDescription> <ModelNumber>01</ModelNumber> <ModelUrl>https://github.com/jellyfin/jellyfin</ModelUrl> diff --git a/Emby.Dlna/Profiles/Xml/WDTV Live.xml b/Emby.Dlna/Profiles/Xml/WDTV Live.xml index f7e43368a..db4ce4722 100644 --- a/Emby.Dlna/Profiles/Xml/WDTV Live.xml +++ b/Emby.Dlna/Profiles/Xml/WDTV Live.xml @@ -8,9 +8,9 @@ <HttpHeaderInfo name="User-Agent" value="ALPHA Networks" match="Substring" /> </Headers> </Identification> - <Manufacturer>Emby</Manufacturer> + <Manufacturer>Jellyfin</Manufacturer> <ManufacturerUrl>https://github.com/jellyfin/jellyfin</ManufacturerUrl> - <ModelName>Emby Server</ModelName> + <ModelName>Jellyfin Server</ModelName> <ModelDescription>UPnP/AV 1.0 Compliant Media Server</ModelDescription> <ModelNumber>01</ModelNumber> <ModelUrl>https://github.com/jellyfin/jellyfin</ModelUrl> diff --git a/Emby.Dlna/Profiles/Xml/Xbox One.xml b/Emby.Dlna/Profiles/Xml/Xbox One.xml index a9a302854..40e05f7fc 100644 --- a/Emby.Dlna/Profiles/Xml/Xbox One.xml +++ b/Emby.Dlna/Profiles/Xml/Xbox One.xml @@ -8,9 +8,9 @@ <HttpHeaderInfo name="User-Agent" value="NSPlayer/12" match="Substring" /> </Headers> </Identification> - <Manufacturer>Emby</Manufacturer> + <Manufacturer>Jellyfin</Manufacturer> <ManufacturerUrl>https://github.com/jellyfin/jellyfin</ManufacturerUrl> - <ModelName>Emby Server</ModelName> + <ModelName>Jellyfin Server</ModelName> <ModelDescription>UPnP/AV 1.0 Compliant Media Server</ModelDescription> <ModelNumber>01</ModelNumber> <ModelUrl>https://github.com/jellyfin/jellyfin</ModelUrl> diff --git a/Emby.Dlna/Profiles/Xml/foobar2000.xml b/Emby.Dlna/Profiles/Xml/foobar2000.xml index ba0fcf739..19dc10e83 100644 --- a/Emby.Dlna/Profiles/Xml/foobar2000.xml +++ b/Emby.Dlna/Profiles/Xml/foobar2000.xml @@ -7,9 +7,9 @@ <HttpHeaderInfo name="User-Agent" value="foobar" match="Substring" /> </Headers> </Identification> - <Manufacturer>Emby</Manufacturer> + <Manufacturer>Jellyfin</Manufacturer> <ManufacturerUrl>https://github.com/jellyfin/jellyfin</ManufacturerUrl> - <ModelName>Emby Server</ModelName> + <ModelName>Jellyfin Server</ModelName> <ModelDescription>UPnP/AV 1.0 Compliant Media Server</ModelDescription> <ModelNumber>01</ModelNumber> <ModelUrl>https://github.com/jellyfin/jellyfin</ModelUrl> diff --git a/Emby.Dlna/Server/DescriptionXmlBuilder.cs b/Emby.Dlna/Server/DescriptionXmlBuilder.cs index 988d45e07..0c0c367e4 100644 --- a/Emby.Dlna/Server/DescriptionXmlBuilder.cs +++ b/Emby.Dlna/Server/DescriptionXmlBuilder.cs @@ -217,7 +217,7 @@ namespace Emby.Dlna.Server { if (string.IsNullOrEmpty(_profile.FriendlyName)) { - return "Emby - " + _serverName; + return "Jellyfin - " + _serverName; } var characterList = new List<char>(); diff --git a/Emby.IsoMounting/README.md b/Emby.IsoMounting/README.md index 90cdc01ba..78bab9936 100644 --- a/Emby.IsoMounting/README.md +++ b/Emby.IsoMounting/README.md @@ -1,8 +1,8 @@ -#MediaBrowser.IsoMounting.Linux +# MediaBrowser.IsoMounting.Linux This implements two core interfaces, IIsoManager, and IIsoMount. -###IIsoManager +### IIsoManager The manager class can be used to create a mount, and also determine if the mounter is capable of mounting a given file. -###IIsoMount +### IIsoMount IIsoMount then represents a mount instance, which will be unmounted on disposal. *** This Linux version use sudo, mount and umount. diff --git a/MediaBrowser.Server.Mono/ApplicationPathHelper.cs b/MediaBrowser.Server.Mono/ApplicationPathHelper.cs deleted file mode 100644 index ac55693fa..000000000 --- a/MediaBrowser.Server.Mono/ApplicationPathHelper.cs +++ /dev/null @@ -1,60 +0,0 @@ -using System; -using System.Configuration; -using System.IO; -using System.Runtime.InteropServices; - -namespace MediaBrowser.Server.Mono -{ - public static class ApplicationPathHelper - { - /// <summary> - /// Gets the path to the application's ProgramDataFolder - /// </summary> - /// <returns>System.String.</returns> - public static string GetProgramDataPath(string applicationPath) - { - var useDebugPath = false; - -#if DEBUG - useDebugPath = true; -#endif - - var programDataPath = useDebugPath ? - ConfigurationManager.AppSettings["DebugProgramDataPath"] : - ConfigurationManager.AppSettings["ReleaseProgramDataPath"]; - - if (System.Runtime.InteropServices.RuntimeInformation.IsOSPlatform(OSPlatform.Windows)) - { - programDataPath = programDataPath.Replace("%ApplicationData%", Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData)); - } - else - { - programDataPath = programDataPath.Replace("%ApplicationData%", "/var/lib"); - } - - - programDataPath = programDataPath - .Replace('/', Path.DirectorySeparatorChar) - .Replace('\\', Path.DirectorySeparatorChar); - - // If it's a relative path, e.g. "..\" - if (!Path.IsPathRooted(programDataPath)) - { - var path = Path.GetDirectoryName(applicationPath); - - if (string.IsNullOrEmpty(path)) - { - throw new ApplicationException("Unable to determine running assembly location"); - } - - programDataPath = Path.Combine(path, programDataPath); - - programDataPath = Path.GetFullPath(programDataPath); - } - - Directory.CreateDirectory(programDataPath); - - return programDataPath; - } - } -} diff --git a/MediaBrowser.Server.Mono/EmbyServer.csproj b/MediaBrowser.Server.Mono/EmbyServer.csproj index cafee872b..480b422bc 100644 --- a/MediaBrowser.Server.Mono/EmbyServer.csproj +++ b/MediaBrowser.Server.Mono/EmbyServer.csproj @@ -22,7 +22,6 @@ <PackageReference Include="SQLitePCLRaw.bundle_e_sqlite3" Version="1.1.11" /> <PackageReference Include="SQLitePCLRaw.core" Version="1.1.11" /> <PackageReference Include="SQLitePCLRaw.provider.sqlite3.netstandard11" Version="1.1.11" /> - <PackageReference Include="System.Configuration.ConfigurationManager" Version="4.5.0" /> </ItemGroup> <ItemGroup> diff --git a/MediaBrowser.Server.Mono/Program.cs b/MediaBrowser.Server.Mono/Program.cs index 3bcfff983..21de06ccc 100644 --- a/MediaBrowser.Server.Mono/Program.cs +++ b/MediaBrowser.Server.Mono/Program.cs @@ -24,6 +24,7 @@ using Mono.Unix.Native; using ILogger = MediaBrowser.Model.Logging.ILogger; using X509Certificate = System.Security.Cryptography.X509Certificates.X509Certificate; using System.Threading; +using InteropServices = System.Runtime.InteropServices; namespace MediaBrowser.Server.Mono { @@ -87,12 +88,26 @@ namespace MediaBrowser.Server.Mono { if (string.IsNullOrEmpty(programDataPath)) { - programDataPath = ApplicationPathHelper.GetProgramDataPath(applicationPath); + if (InteropServices.RuntimeInformation.IsOSPlatform(InteropServices.OSPlatform.Windows)) + { + programDataPath = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData); + } + else + { + // $XDG_DATA_HOME defines the base directory relative to which user specific data files should be stored. + programDataPath = Environment.GetEnvironmentVariable("XDG_DATA_HOME"); + // If $XDG_DATA_HOME is either not set or empty, $HOME/.local/share should be used. + if (string.IsNullOrEmpty(programDataPath)){ + programDataPath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.UserProfile), ".local", "share"); + } + } } + programDataPath = Path.Combine(programDataPath, "jellyfin"); + var appFolderPath = Path.GetDirectoryName(applicationPath); - return new ServerApplicationPaths(programDataPath, appFolderPath, Path.GetDirectoryName(applicationPath)); + return new ServerApplicationPaths(programDataPath, appFolderPath, appFolderPath); } private static void RunApplication(ServerApplicationPaths appPaths, ILogManager logManager, StartupOptions options) diff --git a/MediaBrowser.Server.Mono/app.config b/MediaBrowser.Server.Mono/app.config deleted file mode 100644 index a93871625..000000000 --- a/MediaBrowser.Server.Mono/app.config +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="utf-8" ?> -<configuration> - <appSettings> - <add key="DebugProgramDataPath" value="%ApplicationData%/jellyfin-debug/" /> - <add key="ReleaseProgramDataPath" value="%ApplicationData%/jellyfin/" /> - </appSettings> -</configuration>
\ No newline at end of file diff --git a/debian/changelog b/debian/changelog index e41c6b8e6..3abd5c9b4 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,9 @@ +jellyfin (3.5.2-2) unstable; urgency=medium + + * Major code updates related to rebranding and cleanup + + -- Joshua Boniface <joshua@boniface.me> Fri, 14 Dec 2018 00:07:46 -0500 + jellyfin (3.5.2-1) unstable; urgency=medium * Add ffmpeg dependency and cleanup work diff --git a/debian/postinst b/debian/postinst index 222f616b2..ad7363db4 100644 --- a/debian/postinst +++ b/debian/postinst @@ -37,9 +37,6 @@ case "$1" in chmod +x ${JELLYFIN_DIR}/restart.sh > /dev/null 2>&1 || true - # Link hardcoded /var/lib/emby to /var/lib/jellyfin (TEMPORARY) - ln -sf /var/lib/jellyfin /var/lib/emby - ;; abort-upgrade|abort-remove|abort-deconfigure) ;; |
