Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

emby: 3.4.1.0 -> 3.5.2.0 #44884

Closed
wants to merge 1 commit into from
Closed

emby: 3.4.1.0 -> 3.5.2.0 #44884

wants to merge 1 commit into from

Conversation

bachp
Copy link
Member

@bachp bachp commented Aug 10, 2018

This version requires Mono 5.4 or higher, so let's just use
the default (5.8 at the moment).

Motivation for this change

Update to latest version.

Things done
  • Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
  • Built on platform(s)
    • NixOS
    • macOS
    • other Linux distributions
  • Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
  • Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
  • Tested execution of all binary files (usually in ./result/bin/)
  • Determined the impact on package closure size (by running nix path-info -S before and after)
  • Fits CONTRIBUTING.md.

/cc @fadenb

This version requires Mono 5.4 or higher, so let's just use
the default (5.8 at the moment).

src = fetchurl {
url = "https://github.com/MediaBrowser/Emby/releases/download/${version}/Emby.Mono.zip";
sha256 = "08jr6v8xhmiwbby0lfvpjrlma280inwh5qp6v4p93lzd07fjynh5";
url = "https://github.com/MediaBrowser/Emby.Releases/releases/download/${version}/embyserver-mono_${version}.zip";
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could you switch this to fetchFromGitHub?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think fetchFromGitHub only works for git repositories. This is a binary artifact created from the build.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Then why are we fetching a binary artifact? Can we not build directly from source?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think emby is publishing their build process.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think that is pretty user-hostile. But since we can't fix that and there is currently no way to mark a package as binary, please

  • set preferLocalBuild = true to tell nix not to build this on hydra (as there is no building involved)
  • add a comment explaining why we're fetching the binary release with the link you gave here

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe this is it though I think this will be blocked by us not having msbuild.

@@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
mkdir -p $out/bin
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It would be nice to quote these: mkdir -p "$out/bin". In theory there might be spaces in a custom nix store path and in general quoting variables is just always safer.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I agree with you, but I think this is completely unrelated to the package update.

The package might need to be reworked anywaqy in the future to switch from Mono to .NET Core.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, but I think we should apply the boy scout rule. Otherwise these small improvements will never be made.

@numinit
Copy link
Contributor

numinit commented Sep 10, 2018

I get an exception when upgrading from Emby 3.4:

$ cat /var/lib/emby/ProgramData-Server/logs/unhandled*.txt

System.UnauthorizedAccessException: Access to the path "/nix/store/nfmvvn6jv5b29q8a1m8pz2mmx4y3fjfn-emby-3.5.2.0/bin/plugins/Emby.Server.CinemaMode.dll" or "/var/lib/emby/ProgramData-Server/plugins/Emby.Server.CinemaMode.dll" is denied.
  at System.IO.File.Copy (System.String sourceFileName, System.String destFileName, System.Boolean overwrite) [0x00192] in <2bf5cbaa96234d758393ee9c32a4b268>:0
  at Emby.Server.Implementations.ApplicationHost.CopyPlugins (System.String source, System.String target) [0x0008f] in <ea7199aea78e429a84e168a1e154646a>:0
  at Emby.Server.Implementations.ApplicationHost.GetPluginAssemblies () [0x00023] in <ea7199aea78e429a84e168a1e154646a>:0
  at Emby.Server.Implementations.ApplicationHost.GetComposablePartAssemblies () [0x00000] in <ea7199aea78e429a84e168a1e154646a>:0
  at Emby.Server.Implementations.ApplicationHost.DiscoverTypes () [0x00015] in <ea7199aea78e429a84e168a1e154646a>:0
  at Emby.Server.Implementations.ApplicationHost.Init () [0x0009b] in <ea7199aea78e429a84e168a1e154646a>:0
  at MediaBrowser.Server.Mono.MainClass.RunApplication (Emby.Server.Implementations.ServerApplicationPaths appPaths, MediaBrowser.Model.Logging.ILogManager logManager, Emby.Server.Implementations.StartupOptions options) [0x000c2] in <674f05e6c9e14fbaa7955ba5ed6025ed>:0
  at MediaBrowser.Server.Mono.MainClass.Main (System.String[] args) [0x0009c] in <674f05e6c9e14fbaa7955ba5ed6025ed>:0
System.UnauthorizedAccessException
  at System.IO.File.Copy (System.String sourceFileName, System.String destFileName, System.Boolean overwrite) [0x00192] in <2bf5cbaa96234d758393ee9c32a4b268>:0
  at Emby.Server.Implementations.ApplicationHost.CopyPlugins (System.String source, System.String target) [0x0008f] in <ea7199aea78e429a84e168a1e154646a>:0
  at Emby.Server.Implementations.ApplicationHost.GetPluginAssemblies () [0x00023] in <ea7199aea78e429a84e168a1e154646a>:0
  at Emby.Server.Implementations.ApplicationHost.GetComposablePartAssemblies () [0x00000] in <ea7199aea78e429a84e168a1e154646a>:0
  at Emby.Server.Implementations.ApplicationHost.DiscoverTypes () [0x00015] in <ea7199aea78e429a84e168a1e154646a>:0
  at Emby.Server.Implementations.ApplicationHost.Init () [0x0009b] in <ea7199aea78e429a84e168a1e154646a>:0
  at MediaBrowser.Server.Mono.MainClass.RunApplication (Emby.Server.Implementations.ServerApplicationPaths appPaths, MediaBrowser.Model.Logging.ILogManager logManager, Emby.Server.Implementations.StartupOptions options) [0x000c2] in <674f05e6c9e14fbaa7955ba5ed6025ed>:0
  at MediaBrowser.Server.Mono.MainClass.Main (System.String[] args) [0x0009c] in <674f05e6c9e14fbaa7955ba5ed6025ed>:0```

@bachp
Copy link
Member Author

bachp commented Sep 13, 2018

@numinit I'm not using Emby on NixOS anymore atm. If you want you can take the branch and finish it.

Also CC @fadenb as he is mentioned as the maintainer.

@worldofpeace
Copy link
Contributor

@numinit
Seems like this is triggered

System.UnauthorizedAccessException
It should be able to overwrite since it's true. (maybe permissions?)

I think you can delete it and it'll just copy this plugin.

@worldofpeace worldofpeace mentioned this pull request Sep 16, 2018
9 tasks
@timokau
Copy link
Member

timokau commented Sep 16, 2018

Since @bachp aparently isn't intereseted in this anymore, closing in favor of #46724.

@timokau timokau closed this Sep 16, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants