summary refs log tree commit diff
diff options
context:
space:
mode:
authorThomas Tuegel <ttuegel@gmail.com>2016-07-15 12:10:54 -0500
committerThomas Tuegel <ttuegel@gmail.com>2016-07-16 10:14:47 -0500
commitd3747a2261515c1463517cd5963e7ab73fbd7fbf (patch)
tree474d00375c27d9ff6bdebca4660aaabd3612453a
parent512212db36b3a3afec6ae38081028e51927ad3bc (diff)
downloadnixpkgs-d3747a2261515c1463517cd5963e7ab73fbd7fbf.tar
nixpkgs-d3747a2261515c1463517cd5963e7ab73fbd7fbf.tar.gz
nixpkgs-d3747a2261515c1463517cd5963e7ab73fbd7fbf.tar.bz2
nixpkgs-d3747a2261515c1463517cd5963e7ab73fbd7fbf.tar.lz
nixpkgs-d3747a2261515c1463517cd5963e7ab73fbd7fbf.tar.xz
nixpkgs-d3747a2261515c1463517cd5963e7ab73fbd7fbf.tar.zst
nixpkgs-d3747a2261515c1463517cd5963e7ab73fbd7fbf.zip
kinit: use a setuid wrapper for start_kdeinit
-rw-r--r--nixos/modules/services/x11/desktop-managers/kde5.nix8
-rw-r--r--pkgs/desktops/kde-5/frameworks/kinit/default.nix10
-rw-r--r--pkgs/desktops/kde-5/frameworks/kinit/kinit-libpath.patch8
-rw-r--r--pkgs/desktops/kde-5/frameworks/kinit/series1
-rw-r--r--pkgs/desktops/kde-5/frameworks/kinit/start_kdeinit-path.patch13
5 files changed, 26 insertions, 14 deletions
diff --git a/nixos/modules/services/x11/desktop-managers/kde5.nix b/nixos/modules/services/x11/desktop-managers/kde5.nix
index f94e1b6559a..9b07dfed3bd 100644
--- a/nixos/modules/services/x11/desktop-managers/kde5.nix
+++ b/nixos/modules/services/x11/desktop-managers/kde5.nix
@@ -54,16 +54,12 @@ in
         owner = "root";
         setuid = true;
       }
-      # ttuegel: Disabled until I can figure out how to propagate the
-      # necessary environment variables.
-      /*
       {
-        program = "start_kdeinit_wrapper";
-        source = "${kde5.kinit.out}/lib/libexec/kf5/start_kdeinit_wrapper";
+        program = "start_kdeinit";
+        source = "${kde5.kinit.out}/lib/libexec/kf5/start_kdeinit";
         owner = "root";
         setuid = true;
       }
-      */
     ];
 
     environment.systemPackages =
diff --git a/pkgs/desktops/kde-5/frameworks/kinit/default.nix b/pkgs/desktops/kde-5/frameworks/kinit/default.nix
index 08901010de8..b965f761e92 100644
--- a/pkgs/desktops/kde-5/frameworks/kinit/default.nix
+++ b/pkgs/desktops/kde-5/frameworks/kinit/default.nix
@@ -1,13 +1,15 @@
-{ kdeFramework, lib, copyPathsToStore, extra-cmake-modules, kconfig, kcrash
-, kdoctools, ki18n, kio, kservice, kwindowsystem, libcap
+{
+  kdeFramework, lib, copyPathsToStore,
+  extra-cmake-modules, kdoctools,
+  kconfig, kcrash, ki18n, kio, kservice, kwindowsystem
 }:
 
 kdeFramework {
   name = "kinit";
   meta = { maintainers = [ lib.maintainers.ttuegel ]; };
-  nativeBuildInputs = [ extra-cmake-modules kdoctools libcap.out ];
+  nativeBuildInputs = [ extra-cmake-modules kdoctools ];
   propagatedBuildInputs = [
-    kconfig kcrash ki18n kio kservice kwindowsystem libcap
+    kconfig kcrash ki18n kio kservice kwindowsystem
   ];
   patches = copyPathsToStore (lib.readPathsFromFile ./. ./series);
 }
diff --git a/pkgs/desktops/kde-5/frameworks/kinit/kinit-libpath.patch b/pkgs/desktops/kde-5/frameworks/kinit/kinit-libpath.patch
index 47538fbe456..a5c76fca248 100644
--- a/pkgs/desktops/kde-5/frameworks/kinit/kinit-libpath.patch
+++ b/pkgs/desktops/kde-5/frameworks/kinit/kinit-libpath.patch
@@ -1,8 +1,8 @@
-Index: kinit-5.21.0/src/kdeinit/kinit.cpp
+Index: kinit-5.24.0/src/kdeinit/kinit.cpp
 ===================================================================
---- kinit-5.21.0.orig/src/kdeinit/kinit.cpp
-+++ kinit-5.21.0/src/kdeinit/kinit.cpp
-@@ -657,19 +657,16 @@ static pid_t launch(int argc, const char
+--- kinit-5.24.0.orig/src/kdeinit/kinit.cpp
++++ kinit-5.24.0/src/kdeinit/kinit.cpp
+@@ -672,19 +672,16 @@ static pid_t launch(int argc, const char
  
          if (!libpath.isEmpty()) {
              if (libpath_relative) {
diff --git a/pkgs/desktops/kde-5/frameworks/kinit/series b/pkgs/desktops/kde-5/frameworks/kinit/series
index 5faa456366b..576b8a935bf 100644
--- a/pkgs/desktops/kde-5/frameworks/kinit/series
+++ b/pkgs/desktops/kde-5/frameworks/kinit/series
@@ -1 +1,2 @@
 kinit-libpath.patch
+start_kdeinit-path.patch
diff --git a/pkgs/desktops/kde-5/frameworks/kinit/start_kdeinit-path.patch b/pkgs/desktops/kde-5/frameworks/kinit/start_kdeinit-path.patch
new file mode 100644
index 00000000000..fbecf9433f6
--- /dev/null
+++ b/pkgs/desktops/kde-5/frameworks/kinit/start_kdeinit-path.patch
@@ -0,0 +1,13 @@
+Index: kinit-5.24.0/src/start_kdeinit/start_kdeinit_wrapper.c
+===================================================================
+--- kinit-5.24.0.orig/src/start_kdeinit/start_kdeinit_wrapper.c
++++ kinit-5.24.0/src/start_kdeinit/start_kdeinit_wrapper.c
+@@ -23,7 +23,7 @@
+ #include <string.h>
+ #include <unistd.h>
+ 
+-#define EXECUTE CMAKE_INSTALL_FULL_LIBEXECDIR_KF5 "/start_kdeinit"
++#define EXECUTE "/var/setuid-wrappers/start_kdeinit"
+ 
+ #if KDEINIT_OOM_PROTECT
+