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

[WIP] turbovnc: new package #44722

Open
wants to merge 139 commits into
base: develop
Choose a base branch
from

Conversation

teaguesterling
Copy link
Contributor

@teaguesterling teaguesterling commented Jun 14, 2024

This adds the turbovnc package to get a desktop environment up and running from Spack. It was used to test the Xfce4 stack in #44646.

Update: Given the questions around mesa and the issues with new providers, I'm going to break out three additional PRs as dependencies to this. Once the following PRs are merged in, this should be ready to go.

While it worked pretty well, there were a few additional changes needed:

  1. The X libraries need review to understand what's being used where and integrate the appropriate variants.Update: adding the new xorg-proto package and clarifying the specific x libs addresses a lot of this. Alternatively, one can choose to use the bundled x version.
  2. Fonts are not being addressed at all and end up looking bad. This is probably more dependencies and configuration. Update: This seems to be a pango issue.
  3. There's a need for dri.so that isn't getting provided by Spack, so this will probably break outside of the Ubuntu image. Update: adding the commented out egl variant to mesa provided this.
  4. The launcher script ends up very confused by Spack's path handling requiring a lot of overrides and probably needs a to be patched. Update: calling vncserver directly with an xstartup path and/or novnc works. It was important for this to activate the spack environment of choice and use dbus-launch.
  5. I can't get the novnc bits of turbovnc to install. While not important, I think it's the most fun. Update: fixed.

Signed-off-by: Teague Sterling <teaguesterling@gmail.com>
Signed-off-by: Teague Sterling <teaguesterling@gmail.com>
Signed-off-by: Teague Sterling <teaguesterling@gmail.com>
Signed-off-by: Teague Sterling <teaguesterling@gmail.com>
Signed-off-by: Teague Sterling <teaguesterling@gmail.com>
Signed-off-by: Teague Sterling <teaguesterling@gmail.com>
Signed-off-by: Teague Sterling <teaguesterling@gmail.com>
Signed-off-by: Teague Sterling <teaguesterling@gmail.com>
Signed-off-by: Teague Sterling <teaguesterling@gmail.com>
Signed-off-by: Teague Sterling <teaguesterling@gmail.com>
Signed-off-by: Teague Sterling <teaguesterling@gmail.com>
Signed-off-by: Teague Sterling <teaguesterling@gmail.com>
Signed-off-by: Teague Sterling <teaguesterling@gmail.com>
Signed-off-by: Teague Sterling <teaguesterling@gmail.com>
Signed-off-by: Teague Sterling <teaguesterling@gmail.com>
Signed-off-by: Teague Sterling <teaguesterling@gmail.com>
Signed-off-by: Teague Sterling <teaguesterling@gmail.com>
Signed-off-by: Teague Sterling <teaguesterling@gmail.com>
Signed-off-by: Teague Sterling <teaguesterling@gmail.com>
Signed-off-by: Teague Sterling <teaguesterling@gmail.com>
Signed-off-by: Teague Sterling <teaguesterling@gmail.com>
Signed-off-by: Teague Sterling <teaguesterling@gmail.com>
Signed-off-by: Teague Sterling <teaguesterling@gmail.com>
@spackbot-app spackbot-app bot added gitlab Issues related to gitlab integration intel patch resources stand-alone-tests Stand-alone (or smoke) tests for installed packages tests General test capability(ies) workflow labels Aug 3, 2024
Signed-off-by: Teague Sterling <teaguesterling@gmail.com>
Signed-off-by: Teague Sterling <teaguesterling@gmail.com>
Signed-off-by: Teague Sterling <teaguesterling@gmail.com>
Signed-off-by: Teague Sterling <teaguesterling@gmail.com>
Signed-off-by: Teague Sterling <teaguesterling@gmail.com>
Signed-off-by: Teague Sterling <teaguesterling@gmail.com>
Signed-off-by: Teague Sterling <teaguesterling@gmail.com>
Copy link
Contributor

@bernhardkaindl bernhardkaindl left a comment

Choose a reason for hiding this comment

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

@teaguesterling There are git conflicts, would continue the review?

@bernhardkaindl bernhardkaindl changed the title turbovnc: new package [WIP] turbovnc: new package Sep 28, 2024
@teaguesterling
Copy link
Contributor Author

@spackbot fix style

Copy link

spackbot-app bot commented Sep 28, 2024

Let me see if I can fix that for you!

Copy link

spackbot-app bot commented Sep 28, 2024

I was able to run spack style --fix for you!

spack style --fix
==> Running style checks on spack
  selected: isort, black, flake8, mypy
==> Modified files
  var/spack/repos/builtin/packages/mesa/package.py
  var/spack/repos/builtin/packages/novnc/package.py
  var/spack/repos/builtin/packages/turbovnc/package.py
  var/spack/repos/builtin/packages/xkeyboard-config/package.py
  var/spack/repos/builtin/packages/xorgproto/package.py
==> Running isort checks
  isort checks were clean
==> Running black checks
reformatted var/spack/repos/builtin/packages/xorgproto/package.py
All done! ✨ 🍰 ✨
1 file reformatted, 4 files left unchanged.
  black checks were clean
==> Running flake8 checks
  flake8 checks were clean
==> Running mypy checks
lib/spack/spack/version/version_types.py:145: error: Argument 2 to "StandardVersion" has incompatible type "*Tuple[Tuple[Any, ...], Tuple[Any, ...]]"; expected "Tuple[Tuple[Any, ...], Tuple[Any, ...]]"  [arg-type]
lib/spack/spack/version/version_types.py:452: error: Argument 2 to "StandardVersion" has incompatible type "*Tuple[Tuple[Any, ...], Tuple[Any, ...]]"; expected "Tuple[Tuple[Any, ...], Tuple[Any, ...]]"  [arg-type]
lib/spack/spack/version/version_types.py:481: error: Argument 2 to "StandardVersion" has incompatible type "*Tuple[Tuple[Any, ...], Tuple[Any, ...]]"; expected "Tuple[Tuple[Any, ...], Tuple[Any, ...]]"  [arg-type]
lib/spack/spack/variant.py:131: error: Unsupported right operand type for in ("Union[Collection[Any], Callable[..., Any]]")  [operator]
Found 4 errors in 2 files (checked 621 source files)
  mypy found errors
Keep in mind that I cannot fix your flake8 or mypy errors, so if you have any you'll need to fix them and update the pull request. If I was able to push to your branch, if you make further changes you will need to pull from your updated branch before pushing again.

I've updated the branch with style fixes.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
build-environment commands conflicts core PR affects Spack core functionality defaults dependencies documentation Improvements or additions to documentation extends gitlab Issues related to gitlab integration intel new-package new-variant new-version patch python resources stand-alone-tests Stand-alone (or smoke) tests for installed packages tests General test capability(ies) update-package virtual-dependencies workflow
Projects
None yet
Development

Successfully merging this pull request may close these issues.