forked from mirrors/nixpkgs
gnome3.gnome-settings-daemon: fix #14168
The issue in brief is caused by the fact that gnome-settings-daemon is non-restartable and if the policy definitions change in any way it won't propagate to the running system because of that. By patching references to the backlight helper to /run/current-system/sw/bin/gsd-backlight-helper the polkit policy will not undergo a change.
This commit is contained in:
parent
eb60ddb5d2
commit
f6e92290b3
|
@ -50,6 +50,7 @@ stdenv.mkDerivation rec {
|
|||
src = ./fix-paths.patch;
|
||||
inherit tzdata;
|
||||
})
|
||||
./global-backlight-helper.patch
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
@ -93,6 +94,12 @@ stdenv.mkDerivation rec {
|
|||
"-Dudev_dir=${placeholder "out"}/lib/udev"
|
||||
];
|
||||
|
||||
# So the polkit policy can reference /run/current-system/sw/bin/gnome-settings-daemon/gsd-backlight-helper
|
||||
postFixup = ''
|
||||
mkdir -p $out/bin/gnome-settings-daemon
|
||||
ln -s $out/libexec/gsd-backlight-helper $out/bin/gnome-settings-daemon/gsd-backlight-helper
|
||||
'';
|
||||
|
||||
postPatch = ''
|
||||
for f in gnome-settings-daemon/codegen.py plugins/power/gsd-power-constants-update.pl meson_post_install.py; do
|
||||
chmod +x $f
|
||||
|
|
|
@ -0,0 +1,26 @@
|
|||
diff --git a/plugins/power/gsd-backlight.c b/plugins/power/gsd-backlight.c
|
||||
index d7d10fd2..5619d6ad 100644
|
||||
--- a/plugins/power/gsd-backlight.c
|
||||
+++ b/plugins/power/gsd-backlight.c
|
||||
@@ -358,7 +358,7 @@ gsd_backlight_run_set_helper (GsdBacklight *backlight, GTask *task)
|
||||
proc = g_subprocess_new (G_SUBPROCESS_FLAGS_STDOUT_SILENCE,
|
||||
&error,
|
||||
"pkexec",
|
||||
- LIBEXECDIR "/gsd-backlight-helper",
|
||||
+ "/run/current-system/sw/bin/gnome-settings-daemon/gsd-backlight-helper",
|
||||
g_udev_device_get_sysfs_path (backlight->udev_device),
|
||||
data->value_str, NULL);
|
||||
} else {
|
||||
diff --git a/plugins/power/org.gnome.settings-daemon.plugins.power.policy.in.in b/plugins/power/org.gnome.settings-daemon.plugins.power.policy.in.in
|
||||
index f16300f8..79d6bd17 100644
|
||||
--- a/plugins/power/org.gnome.settings-daemon.plugins.power.policy.in.in
|
||||
+++ b/plugins/power/org.gnome.settings-daemon.plugins.power.policy.in.in
|
||||
@@ -25,7 +25,7 @@
|
||||
<allow_inactive>no</allow_inactive>
|
||||
<allow_active>yes</allow_active>
|
||||
</defaults>
|
||||
- <annotate key="org.freedesktop.policykit.exec.path">@libexecdir@/gsd-backlight-helper</annotate>
|
||||
+ <annotate key="org.freedesktop.policykit.exec.path">/run/current-system/sw/bin/gnome-settings-daemon/gsd-backlight-helper</annotate>
|
||||
</action>
|
||||
|
||||
</policyconfig>
|
Loading…
Reference in a new issue