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

Collabora #308151

Closed
wants to merge 8 commits into from
Closed

Collabora #308151

wants to merge 8 commits into from

Conversation

EricTheMagician
Copy link
Contributor

@EricTheMagician EricTheMagician commented May 1, 2024

Description of changes

Started adding collabora online.
Built-it, but couldn't get the runtime configuration working.

Currently, lots of things wrong with this PR.
This is a work in progress to resolve #218878 (comment)

Things done

  • Built on platform(s)
    • x86_64-linux
    • aarch64-linux
    • x86_64-darwin
    • aarch64-darwin
  • For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)
    • sandbox = relaxed
    • sandbox = true
  • Tested, as applicable:
  • Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
  • Tested basic functionality of all binary files (usually in ./result/bin/)
  • 24.05 Release Notes (or backporting 23.05 and 23.11 Release notes)
    • (Package updates) Added a release notes entry if the change is major or breaking
    • (Module updates) Added a release notes entry if the change is significant
    • (Module addition) Added a release notes entry if adding a new NixOS module
  • Fits CONTRIBUTING.md.

Add a 👍 reaction to pull requests you find important.

@github-actions github-actions bot added 6.topic: nixos Issues or PRs affecting NixOS modules, or package usability issues specific to NixOS 8.has: module (update) This PR changes an existing module in `nixos/` labels May 1, 2024
@EricTheMagician
Copy link
Contributor Author

I think I just need to build a chroot environment with buildFHSEnv but I didn't know about buildFHSEnv at the time. What I'm not sure about is that it may need to build a minimal environment from the cool executables, but I haven't gotten that far.

Also, I don't fully understand what I was doing, so part of it was just getting it to ocmpile.
I don't know if I missed any flags that I was supposed to add, but I followed the instructions as closely as possible.

@ofborg ofborg bot added the 2.status: merge conflict This PR has merge conflicts with the target branch label May 1, 2024
@drupol
Copy link
Contributor

drupol commented May 1, 2024

Maybe @Minion3665 might be interested.

@Minion3665
Copy link
Member

Thanks for the ping @drupol, I certainly am!

I've worked on getting Collabora packaged outside buildFHSEnv, but not quite got to the state where it worked enough for me to upstream it.

@EricTheMagician please let me know if I can help in any way, I am employed by Collabora as a developer so have some experience in compiling it, knowledge of the architecture, etc.

@EricTheMagician
Copy link
Contributor Author

Thanks for the ping @drupol, I certainly am!

I've worked on getting Collabora packaged outside buildFHSEnv, but not quite got to the state where it worked enough for me to upstream it.

@EricTheMagician please let me know if I can help in any way, I am employed by Collabora as a developer so have some experience in compiling it, knowledge of the architecture, etc.

Oh awesome!

Thanks @Minion3665
Compiling it was a bit of a challenge because finding the correct tag was not clear, but I was able to get past that.

Where I was having issue is with the runtime (because I didn't want to just package it without the nixos module).

@Minion3665 The actual issue I came across is that collabora expects to run an each tab/window process in a chroot environment and I couldn't get past that. It's been a while since I've really sunk my teeth in it, but I'll see what I can find. It's probably that I am still learning to do things the nix way and I'll ask more questions in the next few weeks.

@Minion3665
Copy link
Member

Minion3665 commented May 8, 2024

The actual issue I came across is that collabora expects to run an each tab/window process in a chroot environment and I couldn't get past that

This was a problem I ran up against as well. Unfortunately, I think we shouldn't try to disable this, Collabora Online expects this for security reasons. The approach I was trying before was to make a NixOS module with some security wrappers to give COOL the capabilities it wants. I think I got into some trouble with trying to force COOL to use a wrapped coolmount binary around this point and never got it working, but it was definitely the most promising approach I have seen...

because I didn't want to just package it without the nixos module

...and yes, so I think if you did package it without the module you would end up finding it still very challenging to make it run. The module is definitely a good approach.

@Atemu
Copy link
Member

Atemu commented May 24, 2024

I think I just need to build a chroot environment with buildFHSEnv

Could you elaborate on why? If it's packaged natively, you shouldn't require any such hacks.

The actual issue I came across is that collabora expects to run an each tab/window process in a chroot environment

Could it perhaps be possible to run each as a systemd service instance?

Similar to how systemd-coredumpd creates i.e. [email protected]s.

@h7x4 h7x4 added the 8.has: module (new) This PR adds a module in `nixos/` label Jun 1, 2024
@drupol
Copy link
Contributor

drupol commented Aug 3, 2024

See #330708

@drupol drupol closed this Aug 3, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
2.status: merge conflict This PR has merge conflicts with the target branch 6.topic: nixos Issues or PRs affecting NixOS modules, or package usability issues specific to NixOS 8.has: module (new) This PR adds a module in `nixos/` 8.has: module (update) This PR changes an existing module in `nixos/`
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Package request: Collabora Online Development Edition & Nextcloud support
5 participants