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

kinfocenter: fix symlink to systemsettings5 #108356

Merged
merged 1 commit into from Feb 17, 2021

Conversation

eliasp
Copy link
Member

@eliasp eliasp commented Jan 3, 2021

As kinfocenter's implementation consists of only KCMs, which are
actually just displayed using systemsettings5' KCM shell, the
kinfocenter binary is just a symlink to systemsettings5.

In traditional FHS environments, having a relative symlink to the
systemsettings5 binary within the same bin/ directory works just
fine, whereas this is broken on NixOS where systemsettings5 resides in
a completely different bin/ directory of the corresponding store item.

Usually CMake's find_package should be able to locate the
systemsettings5 binary, but fails for reasons unknown to do so on
NixOS - so for now fixing the symlink manually as part of the preFixup
phase will do the job of making kinfocenter work again.

Motivation for this change

Get rid of this message when starting Info Center:
image

Things done
  • Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
  • 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 nixpkgs-review --run "nixpkgs-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)
  • Ensured that relevant documentation is up to date
  • Fits CONTRIBUTING.md.

As `kinfocenter`'s implementation consists of only KCMs, which are
actually just displayed using `systemsettings5`' KCM shell, the
`kinfocenter` binary is just a symlink to `systemsettings5`.

In traditional FHS environments, having a relative symlink to the
`systemsettings5` binary within the same `bin/` directory works just
fine, whereas this is broken on NixOS where `systemsettings5` resides in
a completely different `bin/` directory of the corresponding store item.

Usually CMake's `find_package` should be able to locate the
`systemsettings5` binary, but fails for reasons unknown to do so on
NixOS - so for now fixing the symlink manually as part of the `preFixup`
phase will do the job of making `kinfocenter` work again.
@eliasp eliasp marked this pull request as ready for review January 3, 2021 22:58
@eliasp eliasp requested a review from ttuegel as a code owner January 3, 2021 22:58
@eliasp eliasp mentioned this pull request Feb 16, 2021
10 tasks
@peterhoeg peterhoeg merged commit aec54bd into NixOS:master Feb 17, 2021
@eliasp eliasp deleted the kinfocenter-symlink-fix branch February 17, 2021 06:46
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

2 participants