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

Fix firefox sync-server #54739

Merged
merged 7 commits into from Jan 30, 2019
Merged

Fix firefox sync-server #54739

merged 7 commits into from Jan 30, 2019

Conversation

Nadrieril
Copy link
Contributor

@Nadrieril Nadrieril commented Jan 27, 2019

Motivation for this change

The nixos syncserver module was broken, this PR fixes it by rolling back a dependency. serversyncstorage requires cornice v0.17 and does not work with any later version.
Based on #52654.
I have tested it in production and it seems to work well.
Fixes #38830.

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)
  • Assured whether relevant documentation is up to date
  • Fits CONTRIBUTING.md.

pkgs/top-level/python-packages.nix Outdated Show resolved Hide resolved
pkgs/development/python-modules/syncserver/default.nix Outdated Show resolved Hide resolved
@Nadrieril
Copy link
Contributor Author

I had to switch to using gunicorn otherwise it somehow failed on my server. This is the recommended setup from the documentation and should not break anything.

pkgs/servers/syncserver/default.nix Outdated Show resolved Hide resolved
pkgs/servers/syncserver/default.nix Outdated Show resolved Hide resolved
pkgs/servers/syncserver/default.nix Outdated Show resolved Hide resolved
@Nadrieril Nadrieril force-pushed the fix-ffsync branch 2 times, most recently from 80f7700 to 951e2a3 Compare January 29, 2019 17:13
path = [ pkgs.coreutils syncServerEnv ];
path = [
pkgs.coreutils
(pkgs.python.withPackages (ps: [ pkgs.syncserver ps.pasteScript ps.requests ]))
Copy link
Member

Choose a reason for hiding this comment

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

Even though this does not look right, let's keep it that way. The bepasty module uses a similar approach.

Copy link
Member

@dotlambda dotlambda left a comment

Choose a reason for hiding this comment

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

Building syncserver yields

Ran 0 tests in 0.000s

A proper checkPhase or doCheck = false + comment are needed.

pkgs/servers/syncserver/default.nix Outdated Show resolved Hide resolved
pkgs/servers/syncserver/default.nix Outdated Show resolved Hide resolved
@Nadrieril
Copy link
Contributor Author

You're nitpicking a lot, I feel like you're wasting both our times. I appreciate the effort though. I'll see if I have time to look at this tomorrow. I'll add myself to the maintainers as well.

@dotlambda
Copy link
Member

@GrahamcOfBorg build syncserver

@dotlambda
Copy link
Member

@GrahamcOfBorg build python2.pkgs.serversyncstorage

@dotlambda dotlambda merged commit 0525fa5 into NixOS:master Jan 30, 2019
@dotlambda
Copy link
Member

Thanks a lot for bearing with me!

@dotlambda
Copy link
Member

Btw, I'd have liked to mark serversyncstorage as broken, but that's not possible due to #48663.

@andir
Copy link
Member

andir commented Jan 30, 2019

Since this is also broken on 18.09 do you think it is feasible to backport or will it have too many conflicts / dependencies on changes made to master?

@Nadrieril
Copy link
Contributor Author

@dotlambda Thanks for your patience !
@andir AFAIK, those packages don't need very recent versions of their dependencies, so I'd guess it should not be too hard to backport. If there is a problem with a dependency, you can always add more overrides to pkgs/servers/syncserver/default.nix.

@risicle
Copy link
Contributor

risicle commented Apr 19, 2019

This is digging up quite an old PR, but could we not simply set

  disabled = !(isPy27 && cornice.version == "0.17");

to stop this appearing to be a "broken" package?

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.

Syncserver compilation failed
6 participants