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

polari: unbreak #27320

Merged
merged 2 commits into from
Aug 5, 2017
Merged

polari: unbreak #27320

merged 2 commits into from
Aug 5, 2017

Conversation

jtojnar
Copy link
Contributor

@jtojnar jtojnar commented Jul 12, 2017

Things done
  1. The build was failing due to missing telepathy_logger dependency. I added it.

  2. Since bin/polari file is actually a symbolic link, wrapGAppsHook did not wrap it, making it unable to access GObject introspection definitions required for running the program. I made the wrapping script follow symlinks to fix this corner case.

  3. GNOME expects the executable to have the same base name as the associated desktop file. When I wrapped the executable, I broke this correspondence. That is why I renamed the executable. For convenience, I also created a symlink with the original name. Edit: This was probably just an issuel with dbus needing to be restarted to find the service file for launching from GNOME Shell.

What is missing

The app is now running but it cannot connect to server due to in-memory gsettings (#26131).

  • Tested using sandboxing
    (nix.useSandbox on NixOS,
    or option build-use-sandbox in nix.conf
    on non-NixOS)
  • Built on platform(s)
    • NixOS
    • macOS
    • Linux
  • 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/)
  • Fits CONTRIBUTING.md.

@mention-bot
Copy link

@jtojnar, thanks for your PR! By analyzing the history of the files in this pull request, we identified @groxxda, @vcunat and @lethalman to be potential reviewers.

@jtojnar
Copy link
Contributor Author

jtojnar commented Jul 12, 2017 via email

@jtojnar
Copy link
Contributor Author

jtojnar commented Jul 12, 2017

The Travis build failed due to no space left on device from a rebuild of gapps.


As for the connection problem, journal contains the following:

request_connection_cb: RequestConnection failed: The name org.freedesktop.Telepathy.ConnectionManager.idle was not provided by any .service files

It looks like both the problems are caused by a dbus services not recognized, even though they are installed.

$ ls /run/current-system/sw/share/dbus-1/services/ | grep 'Telepathy\|Polari'
org.freedesktop.Telepathy.AccountManager.service
org.freedesktop.Telepathy.Client.Polari.service
org.freedesktop.Telepathy.Client.Vino.service
org.freedesktop.Telepathy.ConnectionManager.idle.service
org.freedesktop.Telepathy.MissionControl5.service
org.gnome.Polari.service

@jtojnar
Copy link
Contributor Author

jtojnar commented Jul 12, 2017

After reloading dbus using systemctl --user reload dbus, Polari can be run using app launcher and idle starts. Unfortunately, it crashes immediately, possibly related to #26113.

Jul 12 16:01:23 kaiser dbus-daemon[1124]: Activating service name='org.freedesktop.Telepathy.ConnectionManager.idle'
Jul 12 16:01:23 kaiser dbus-daemon[1124]: Successfully activated service 'org.freedesktop.Telepathy.ConnectionManager.idle'
Jul 12 16:01:24 kaiser telepathy-idle[10329]: No GSettings schemas are installed on the system
Jul 12 16:01:24 kaiser kernel: traps: pool[10331] trap int3 ip:7f18a46c5941 sp:7f18a27ceed0 error:0
Jul 12 16:01:24 kaiser kernel:  in libglib-2.0.so.0.5200.1[7f18a4676000+111000]

@jtojnar
Copy link
Contributor Author

jtojnar commented Jul 12, 2017

Okay, I tested it with #26113 and it works fine.

cc @lethalman @jgeerds

@FRidh FRidh added the 6.topic: GNOME GNOME desktop environment and its underlying platform label Jul 27, 2017
@FRidh
Copy link
Member

FRidh commented Jul 27, 2017

Gnome pn Nix doesn't seem to be that actively maintained anymore. These changes look fine to me.
Please put the wrap-gapps-hook.sh in a separate commit though. Did you test other Gnome packages with this change?

@jtojnar
Copy link
Contributor Author

jtojnar commented Jul 27, 2017

@FRidh I did test it with other packages, it will not work without extended #26113 though. I will PR my changes on the pull request.

@jtojnar jtojnar force-pushed the fix/unbreak-polari branch 2 times, most recently from 9226eb5 to 9f4edfb Compare August 5, 2017 10:52
Some programs store the executable in a different place and link it
from the `bin` directory. For example, Polari links `$out/bin/polari`
to `$out/share/polari/org.gnome.Polari`. `wrapGAppsHook` did not follow
symlinks so it was not able to wrap Polari, making it unable to access
GObject introspection definitions required for running the program.

I made the wrapping script follow symlinks to fix this corner case.
The build was failing due to missing telepathy_logger dependency,
I added it. Additionally, the connection to server was failing due to
telepathy executables not having an access to dconf, which was fixed
in NixOS#26113. Lastly, when I tried running Polari directly, it terminated
with SIGTRAP and the following error:

    (org.gnome.Polari:22998): GLib-GIO-ERROR **: Settings schema 'org.gnome.desktop.interface' is not installed

adding `gnome3.gsettings_desktop_schemas` as a buildInput fixed that.
@jtojnar
Copy link
Contributor Author

jtojnar commented Aug 5, 2017

@FRidh This is now good to go.

@FRidh FRidh changed the base branch from master to staging August 5, 2017 15:49
@FRidh FRidh merged commit 8fcb070 into NixOS:staging Aug 5, 2017
@FRidh
Copy link
Member

FRidh commented Aug 5, 2017

Thanks. I've pushed it to staging.

@jtojnar jtojnar mentioned this pull request Aug 8, 2017
8 tasks
@jtojnar jtojnar deleted the fix/unbreak-polari branch August 17, 2017 01:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
6.topic: GNOME GNOME desktop environment and its underlying platform
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants