summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'x11-misc/slim/files/slim-1.3.5-disable-ck-for-systemd.patch')
-rw-r--r--x11-misc/slim/files/slim-1.3.5-disable-ck-for-systemd.patch122
1 files changed, 122 insertions, 0 deletions
diff --git a/x11-misc/slim/files/slim-1.3.5-disable-ck-for-systemd.patch b/x11-misc/slim/files/slim-1.3.5-disable-ck-for-systemd.patch
new file mode 100644
index 000000000000..f7e361767615
--- /dev/null
+++ b/x11-misc/slim/files/slim-1.3.5-disable-ck-for-systemd.patch
@@ -0,0 +1,122 @@
+diff -Naur slim-1.3.5/app.cpp slim-1.3.5.new/app.cpp
+--- slim-1.3.5/app.cpp 2012-12-31 08:03:42.000000000 -0500
++++ slim-1.3.5.new/app.cpp 2013-08-22 14:16:37.994854259 -0400
+@@ -138,11 +138,14 @@
+ daemonmode = false;
+ force_nodaemon = false;
+ firstlogin = true;
++#ifdef USE_CONSOLEKIT
++ consolekit_support_enabled = true;
++#endif
+ Dpy = NULL;
+
+ /* Parse command line
+ Note: we force a option for nodaemon switch to handle "-nodaemon" */
+- while((tmp = getopt(argc, argv, "vhp:n:d?")) != EOF) {
++ while((tmp = getopt(argc, argv, "vhsp:n:d?")) != EOF) {
+ switch (tmp) {
+ case 'p': /* Test theme */
+ testtheme = optarg;
+@@ -163,6 +166,11 @@
+ std::cout << APPNAME << " version " << VERSION << endl;
+ exit(OK_EXIT);
+ break;
++#ifdef USE_CONSOLEKIT
++ case 's': /* Disable consolekit support */
++ consolekit_support_enabled = false;
++ break;
++#endif
+ case '?': /* Illegal */
+ logStream << endl;
+ case 'h': /* Help */
+@@ -171,6 +179,9 @@
+ << " -d: daemon mode" << endl
+ << " -nodaemon: no-daemon mode" << endl
+ << " -v: show version" << endl
++#ifdef USE_CONSOLEKIT
++ << " -s: start for systemd, disable consolekit support" << endl
++#endif
+ << " -p /path/to/theme/dir: preview theme" << endl;
+ exit(OK_EXIT);
+ break;
+@@ -559,6 +570,7 @@
+ #endif
+
+ #ifdef USE_CONSOLEKIT
++ if (consolekit_support_enabled) {
+ /* Setup the ConsoleKit session */
+ try {
+ ck.open_session(DisplayName, pw->pw_uid);
+@@ -567,6 +579,7 @@
+ logStream << APPNAME << ": " << e << endl;
+ exit(ERR_EXIT);
+ }
++ }
+ #endif
+
+ /* Create new process */
+@@ -578,6 +591,7 @@
+ char** child_env = pam.getenvlist();
+
+ # ifdef USE_CONSOLEKIT
++ if (consolekit_support_enabled) {
+ char** old_env = child_env;
+
+ /* Grow the copy of the environment for the session cookie */
+@@ -590,6 +604,7 @@
+ memcpy(child_env, old_env, sizeof(char*)*n+1);
+ child_env[n - 1] = StrConcat("XDG_SESSION_COOKIE=", ck.get_xdg_session_cookie());
+ child_env[n] = NULL;
++ }
+ # endif /* USE_CONSOLEKIT */
+ #else
+
+@@ -611,6 +626,7 @@
+ child_env[n++]=StrConcat("MAIL=", maildir.c_str());
+ child_env[n++]=StrConcat("XAUTHORITY=", xauthority.c_str());
+ # ifdef USE_CONSOLEKIT
++ if (consolekit_support_enabled)
+ child_env[n++]=StrConcat("XDG_SESSION_COOKIE=", ck.get_xdg_session_cookie());
+ # endif /* USE_CONSOLEKIT */
+ child_env[n++]=0;
+@@ -656,12 +672,14 @@
+ }
+
+ #ifdef USE_CONSOLEKIT
++ if (consolekit_support_enabled) {
+ try {
+ ck.close_session();
+ }
+ catch(Ck::Exception &e) {
+ logStream << APPNAME << ": " << e << endl;
+ };
++ }
+ #endif
+
+ #ifdef USE_PAM
+diff -Naur slim-1.3.5/app.h slim-1.3.5.new/app.h
+--- slim-1.3.5/app.h 2012-12-31 08:03:42.000000000 -0500
++++ slim-1.3.5.new/app.h 2013-08-22 14:12:45.536850016 -0400
+@@ -108,6 +108,10 @@
+ char *testtheme;
+ bool testing;
+
++#ifdef USE_CONSOLEKIT
++ bool consolekit_support_enabled;
++#endif
++
+ std::string themeName;
+ std::string mcookie;
+
+diff -Naur slim-1.3.5/slim.service slim-1.3.5.new/slim.service
+--- slim-1.3.5/slim.service 2012-12-31 08:03:42.000000000 -0500
++++ slim-1.3.5.new/slim.service 2013-08-22 14:15:39.186853186 -0400
+@@ -3,7 +3,7 @@
+ After=systemd-user-sessions.service
+
+ [Service]
+-ExecStart=/usr/bin/slim -nodaemon
++ExecStart=/usr/bin/slim -nodaemon -s
+
+ [Install]
+ Alias=display-manager.service