[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#754293: marked as done (Systemd support for kdm)



Your message dated Mon, 14 Jul 2014 18:34:48 +0200
with message-id <20140714163448.GD3048@pisco.westfalen.local>
and subject line Re: Bug#754293: Systemd support for kdm
has caused the Debian Bug report #754293,
regarding Systemd support for kdm
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact owner@bugs.debian.org
immediately.)


-- 
754293: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=754293
Debian Bug Tracking System
Contact owner@bugs.debian.org with problems
--- Begin Message ---
Source: kdm
Severity: wishlist
Tags: patch

Hi KDE maintainers,
the attached patch adds systemd support to KDM. It's working well for
me, but some things are still up for discussion/need work. 

Some notes:

consolekit:
-----------
This patch disables consolekit support (this part of the change
can be avoid by removing the hunks which remove the dep on
consolekit and the build-dep on libck-connector-dev. I'm not
sure on the usability of KDE on kfreebsd/hurd. These deps should
likely be kept for kfreebsd-any and hurd. There was a discussion
on debian-devel which stated that the systemd maintainers have
come up with a plan to ensure systemd is pid 1 for updated
and newly installed Linux systems. Unless that comes up it additionally
needs a dependency on systemd-sysv.

Why did I disable consolekit? First of all, kdm with systemd/pid1
as currently in the archive has been quite unrealiable for me
with the KDM login failing with error messages like

  service 'org.freedesktop.ConsoleKit': timed out
  Jun 27 18:26:59 chartreuse kdm: :0[1362]: Cannot open ConsoleKit
  session: Unable to open session: Did not receive a reply. Possible
  causes include: the remote application did not send a reply, the
  message bus security policy blocked the reply, the reply timeout
  expired, or the network connection was broken.

  Or the following error messages from the consolekit service:

  console-kit-daemon.service - Console Manager
     Loaded: loaded (/lib/systemd/system/console-kit-daemon.service;
     enabled)
     Active: failed (Result: timeout) since Di 2014-06-10 18:01:25 CEST;
     2min 44s ago
   Main PID: 792
     CGroup: name=systemd:/system/console-kit-daemon.service

  Jun 10 18:00:30 chartreuse console-kit-daemon[792]: (process:995):
  GLib-CRITICAL **: g_slice_set_config: assertion 'sys_page_size == 0'
  failed
  Jun 10 18:00:30 chartreuse console-kit-daemon[792]: missing action
  Jun 10 18:00:54 chartreuse console-kit-daemon[792]: WARNING:
  polkit_authority_get: Error getting authority: Error initializing
  authority: Error calling StartServiceByName for
  org.freedesktop.PolicyKit1:
  GDBus.Error:org.freedesktop.DBus.Error.TimedOut: Activation of
  org.freedesktop.PolicyKit1 timed out
  Jun 10 18:00:54 chartreuse console-kit-daemon[792]:
  console-kit-daemon[792]: WARNING: polkit_authority_get: Error getting
  authority: Error initializing authority: Error calling
  StartServiceByName for org.freedesktop.PolicyKit1:
  GDBus.Error:org.freedesktop.DBus.Error.TimedOut: Activation of
  org.freedesktop.PolicyKit1 timed out
  Jun 10 18:01:25 chartreuse systemd[1]: console-kit-daemon.service
  operation timed out. Terminating.
  Jun 10 18:01:25 chartreuse systemd[1]: Failed to start Console
  Manager.
  Jun 10 18:01:25 chartreuse systemd[1]: Unit console-kit-daemon.service
  entered failed state.

Without consolekit enabled everything works fine for me.

I found upstream discussion started by one of the Kubuntu people (who
have also disabled consolekit) which also recommends to disable it:
http://article.gmane.org/gmane.comp.kde.devel.core/82597
http://article.gmane.org/gmane.comp.kde.devel.core/82598
http://article.gmane.org/gmane.comp.kde.devel.core/82601
http://article.gmane.org/gmane.comp.kde.devel.core/82610
https://bugs.launchpad.net/ubuntu/+source/kde-workspace/+bug/1281036


conffile customisation
----------------------

The sysvinit script has customisation code which generates the
kdmrc at runtime based on /etc/kde4/kdm/kdmrc. I've moved this
code to a separate binary, the init.d script should be adapted
to share the same script.

activation of the service
-------------------------

After installation of the updated package the service isn't enabled
by default. You'll need to run "systemctl enable kdm.service" for
that. I'm not sure how the default display manager is handled if
several are installed, so it's probably for the best right now.

Cheers,
        Moritz
diff -Naur kde-workspace-4.11.9.orig/debian/control kde-workspace-4.11.9/debian/control
--- kde-workspace-4.11.9.orig/debian/control	2014-05-14 19:17:33.000000000 +0200
+++ kde-workspace-4.11.9/debian/control	2014-07-07 18:57:44.128546659 +0200
@@ -16,7 +16,6 @@
                kdepimlibs5-dev (>= 4:4.11),
                libakonadi-dev (>= 1.1.95),
                libboost-dev (>= 1.34),
-               libck-connector-dev,
                libdbus-1-dev,
                libdbusmenu-qt-dev (>= 0.6.0),
                libdevstat-dev [kfreebsd-any],
@@ -27,6 +26,7 @@
                libglu1-mesa-dev,
                libgps-dev (>= 2.90),
                libjpeg-dev,
+	        dh-systemd,
                libkactivities-dev (>= 4:4.11),
                libnm-util-dev (>= 0.9) [linux-any],
                libpam0g-dev,
@@ -349,7 +349,6 @@
 Section: x11
 Architecture: any
 Depends: adduser,
-         consolekit,
          debconf | debconf-2.0,
          kde-wallpapers-default,
          kde-workspace-kgreet-plugins (= ${binary:Version}),
diff -Naur kde-workspace-4.11.9.orig/debian/kdm-debian-setup-config kde-workspace-4.11.9/debian/kdm-debian-setup-config
--- kde-workspace-4.11.9.orig/debian/kdm-debian-setup-config	1970-01-01 01:00:00.000000000 +0100
+++ kde-workspace-4.11.9/debian/kdm-debian-setup-config	2014-07-07 19:12:08.856834615 +0200
@@ -0,0 +1,53 @@
+#!/bin/bash
+
+# parameters to support kdm customization
+KDMRC=/etc/kde4/kdm/kdmrc
+BACKGROUNDRC=/etc/kde4/kdm/backgroundrc
+
+# if configuration is changed by kdmtheme or other tools, don't do magick
+if grep -q "^[[:space:]]*Theme=@@@ToBeReplacedByDesktopBase@@@" ${KDMRC}; then
+
+  KDMOVERRIDEDIR=/etc/default/kdm.d
+  KDMCFGDIR=/var/run/kdm
+  KDMCFG=$KDMCFGDIR/kdmrc
+  BACKGROUNDCFG=$KDMCFGDIR/backgroundrc
+  DEFAULT_KDM_THEME=/usr/share/kde4/apps/kdm/themes/elarun
+
+  # we use an alternative kdm master configuration file
+  ARG="$ARG -config $KDMCFG"
+
+  # we generate kdm configuration files
+  genkdmconf --in $KDMCFGDIR 1> /dev/null
+
+  # we source overrides. run-parts sorts the list in a predictable order
+  if [ -d "$KDMOVERRIDEDIR" ]; then
+    for part in $(run-parts --list "$KDMOVERRIDEDIR" 2>/dev/null || true); do
+      . "$part"
+    done
+  fi
+
+  # we update kdm configuration files (only overridden values)
+  [ -n "$USEBACKGROUND" ] && sed -i "s|^#\?UseBackground=.*|UseBackground=$USEBACKGROUND|" $KDMCFG
+  [ -n "$BACKGROUNDCFG" ] && sed -i "s|^#\?BackgroundCfg=.*|BackgroundCfg=$BACKGROUNDCFG|" $KDMCFG
+  [ -n "$USETHEME" ] && sed -i "s|^#\?UseTheme=.*|UseTheme=$USETHEME|" $KDMCFG
+  [ -n "$THEME" ] && [ -e "$THEME" ] && sed -i "s|^#\?Theme=.*|Theme=$THEME|" $KDMCFG
+  [ -n "$LANGUAGE" ] && sed -i "s|^#\?Language=.*|Language=$LANGUAGE|" $KDMCFG
+
+  if grep -q "^[[:space:]]*Wallpaper=stripes.png" ${BACKGROUNDRC}; then
+    [ -n "$WALLPAPER" ] && [ -e "$WALLPAPER" ] && sed -i "s|^#\?Wallpaper=.*|Wallpaper=`readlink -f $WALLPAPER`|" $BACKGROUNDCFG
+  fi
+
+  # usetheme is now on "by default" so we need to be sure Theme is not invalid ...
+  sed -i "s|@@@ToBeReplacedByDesktopBase@@@|$DEFAULT_KDM_THEME|" ${KDMCFG}
+
+  # autologin overrides are useful for live debian environment
+  if [ -n "$AUTOLOGINUSER" ]; then
+    sed -i "s|^#\?AutoLoginEnable=.*|AutoLoginEnable=true|" $KDMCFG
+    sed -i "s|^#\?AutoLoginUser=.*|AutoLoginUser=$AUTOLOGINUSER|" $KDMCFG
+  fi
+  [ -n "$AUTOLOGINDELAY" ] && sed -i "s|^#\?AutoLoginDelay=.*|AutoLoginDelay=$AUTOLOGINDELAY|" $KDMCFG
+  [ -n "$AUTOLOGINAGAIN" ] && sed -i "s|^#\?AutoLoginAgain=.*|AutoLoginAgain=$AUTOLOGINAGAIN|" $KDMCFG
+  [ -n "$AUTOLOGINLOCKED" ] && sed -i "s|^#\?AutoLoginLocked=.*|AutoLoginLocked=$AUTOLOGINLOCKED|" $KDMCFG
+fi
+
+exit 0
diff -Naur kde-workspace-4.11.9.orig/debian/kdm.install kde-workspace-4.11.9/debian/kdm.install
--- kde-workspace-4.11.9.orig/debian/kdm.install	2014-05-14 19:17:33.000000000 +0200
+++ kde-workspace-4.11.9/debian/kdm.install	2014-07-07 19:13:28.365228876 +0200
@@ -171,3 +171,4 @@
 usr/share/kde4/config/kdm.knsrc
 usr/share/kde4/services/kdm.desktop
 usr/share/polkit-1/actions/org.kde.kcontrol.kcmkdm.policy
+debian/kdm-debian-setup-config /usr/sbin
\ Kein Zeilenumbruch am Dateiende.
diff -Naur kde-workspace-4.11.9.orig/debian/kdm.service kde-workspace-4.11.9/debian/kdm.service
--- kde-workspace-4.11.9.orig/debian/kdm.service	1970-01-01 01:00:00.000000000 +0100
+++ kde-workspace-4.11.9/debian/kdm.service	2014-07-07 18:58:25.216750405 +0200
@@ -0,0 +1,13 @@
+[Unit]
+Description=KDM Display Manager
+Conflicts=getty@tty1.service
+After=systemd-user-sessions.service getty@tty1.service plymouth-quit.service
+
+[Service]
+ExecStartPre=/usr/sbin/kdm-debian-setup-config
+ExecStart=/usr/bin/kdm -nodaemon -config /var/run/kdm/kdmrc
+Restart=always
+IgnoreSIGPIPE=no
+
+[Install]
+Alias=display-manager.service
diff -Naur kde-workspace-4.11.9.orig/debian/rules kde-workspace-4.11.9/debian/rules
--- kde-workspace-4.11.9.orig/debian/rules	2014-05-14 19:17:33.000000000 +0200
+++ kde-workspace-4.11.9/debian/rules	2014-07-07 18:57:44.136546699 +0200
@@ -1,6 +1,6 @@
 #!/usr/bin/make -f
 
-dh = --with=python2
+dh = --with=python2,systemd
 
 include /usr/share/pkg-kde-tools/qt-kde-team/2/debian-qt-kde.mk
 libpkgs_addsubst_allLibraries = kde-workspace-dev

--- End Message ---
--- Begin Message ---
On Thu, Jul 10, 2014 at 10:53:50PM +0300, Andrei POPESCU wrote:
> Control: reassign -1 kdm
> 
> On Mi, 09 iul 14, 18:06:22, Moritz Muehlenhoff wrote:
> > Source: kdm
> > Severity: wishlist
> > Tags: patch

Duplicate of #754314, closing this one (reportbug tricked me into
filing this for src:kdm)

Cheers,
        Moritz

--- End Message ---

Reply to: