Package: release.debian.org Severity: normal Tags: patch User: release.debian....@packages.debian.org Usertags: unblock
Dear Release Team! I know it's a bit unlucky to ask for an unblock so late in the release progress, however, I thought I would give it a try anyway. My proposed NMU to kde-workspace adds systemd support for the kdm display manager which is built from this package. kdm currently does not have native systemd support in the form of a unit file (see #755359 [1]). My reasoning behind adding systemd support to kdm is the fact that kdm is currently the only display manager we have on Linux that is really usable for corporate environments, all other display managers have deficits in this regard. For example, gdm uses AccountsService which stores session and language settings locally, meaning that whenever a user switches their machine on a network with shared NFS home directory, they have to choose their favourite session and language anew [2]. This might be fixed for gdm in the future when AccountService becomes capable of networking, however, this is currently not the case. Additionally, gdm has this very annoying screen shield inspired by Windows 8.x which cannot easily disabled globally. The screen shield might look nice but it often leads to confusion to users in corporate environments when they expect to see a login screen instead. As an alternative, lightdm uses the AccountService mechanism as well since version 1.0.0, more or less successfully though as lightdm currently seems to be completely broken in this regard. It does not remember the last session and language per user at all, but simply sets session and language to the values which were set by the last user who logged in [3]. The same applies to LXDM, unfortunately. I also tested sddm which is currently in NEW [4]. While sddm allows to set session and language, it cannot remember these settings per user but just saves the last selected session and language - regardless of the user - in /var/lib/sddm/state.conf. The sddm developers have promised to provide a solution [5] for this in the future, but this is still on the TODO list and won't find its way into Jessie either way. To conclude, kdm is currently the only usable display manager on Linux and Debian and we have therefore chosen it as our default display manager at the faculty. And since Debian Jessie defaults to systemd, I think it's very sensible to have systemd support added to kdm which allows to configure the kdm service more flexibly and reliably with the tools provided by systemd avoiding issues like #755359 [1]. I am attaching the full debdiff which is rather small and should be easy for review. However, please feel free to reject this change at your own preference. Consider this unblock request merely a suggestion. CC'ing debian-qt-...@lists.debian.org. Cheers, Adrian > [1] https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=755359 > [2] https://bugzilla.redhat.com/show_bug.cgi?id=617465 > [3] https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=683662#17 > [4] https://ftp-master.debian.org/new/sddm_0.11.0-1.html > [5] https://github.com/sddm/sddm/issues/346 unblock kde-workspace/4:4.11.13-2.1 -- System Information: Debian Release: 8.0 APT prefers testing APT policy: (500, 'testing'), (99, 'unstable'), (1, 'experimental') Architecture: amd64 (x86_64) Foreign Architectures: i386 Kernel: Linux 3.16.0-4-amd64 (SMP w/1 CPU core) Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8) (ignored: LC_ALL set to en_US.UTF-8) Shell: /bin/sh linked to /bin/dash Init: systemd (via /run/systemd/system)
diff -Nru kde-workspace-4.11.13/debian/changelog kde-workspace-4.11.13/debian/changelog --- kde-workspace-4.11.13/debian/changelog 2014-11-07 10:11:29.000000000 +0100 +++ kde-workspace-4.11.13/debian/changelog 2015-04-02 11:17:10.000000000 +0200 @@ -1,3 +1,16 @@ +kde-workspace (4:4.11.13-2.1) unstable; urgency=medium + + * Non-maintainer upload. + * Add systemd support: (Closes: #755359) + - debian/control: + + Add dh_systemd (>= 1.14) to Build-Depends. + - debian/kdm.postinst: + + Create symbolic link to systemd service file of default display manager. + - debian/rules: + + Install kdm systemd service file using dh_system_start. + + -- John Paul Adrian Glaubitz <glaub...@physik.fu-berlin.de> Thu, 02 Apr 2015 11:16:43 +0200 + kde-workspace (4:4.11.13-2) unstable; urgency=medium * New patch: upstream_do_not_pass_ntpUtility_as_an_argument.patch fix diff -Nru kde-workspace-4.11.13/debian/control kde-workspace-4.11.13/debian/control --- kde-workspace-4.11.13/debian/control 2014-11-07 10:11:29.000000000 +0100 +++ kde-workspace-4.11.13/debian/control 2015-04-02 11:08:32.000000000 +0200 @@ -75,7 +75,8 @@ python-dev (>= 2.6.6-3~), shared-desktop-ontologies (>= 0.8), udev [linux-any], - zlib1g-dev + zlib1g-dev, + dh-systemd (>= 1.14) Standards-Version: 3.9.5 X-Python-Version: >= 2.5 XS-Testsuite: autopkgtest diff -Nru kde-workspace-4.11.13/debian/kdm.postinst kde-workspace-4.11.13/debian/kdm.postinst --- kde-workspace-4.11.13/debian/kdm.postinst 2014-11-07 10:11:29.000000000 +0100 +++ kde-workspace-4.11.13/debian/kdm.postinst 2015-04-02 11:10:01.000000000 +0200 @@ -78,6 +78,15 @@ if [ -d /var/lib/kdm ]; then chown -R kdm /var/lib/kdm fi + # set default-display-manager systemd service link according to our config + if [ -e "$DEFAULT_DISPLAY_MANAGER_FILE" -a -d /etc/systemd/system/ ]; then + SERVICE=/lib/systemd/system/$(basename $(cat "$DEFAULT_DISPLAY_MANAGER_FILE")).service + if [ -e "$SERVICE" ]; then + ln -sf "$SERVICE" /etc/systemd/system/display-manager.service + else + echo "ERROR: $SERVICE is the selected default display manager but does not exist" >&2 + fi + fi ;; abort-upgrade|abort-remove|abort-deconfigure) diff -Nru kde-workspace-4.11.13/debian/kdm.service kde-workspace-4.11.13/debian/kdm.service --- kde-workspace-4.11.13/debian/kdm.service 1970-01-01 01:00:00.000000000 +0100 +++ kde-workspace-4.11.13/debian/kdm.service 2015-04-02 11:10:27.000000000 +0200 @@ -0,0 +1,10 @@ +[Unit] +Description=KDE Display Manager +Documentation=man:kdm(1) +After=systemd-user-sessions.service + +[Service] +ExecStartPre=/bin/sh -c '[ "$(cat /etc/X11/default-display-manager 2>/dev/null)" = "/usr/bin/kdm" ]' +ExecStart=/usr/bin/kdm +Restart=always +IgnoreSIGPIPE=no diff -Nru kde-workspace-4.11.13/debian/rules kde-workspace-4.11.13/debian/rules --- kde-workspace-4.11.13/debian/rules 2014-11-07 10:11:29.000000000 +0100 +++ kde-workspace-4.11.13/debian/rules 2015-04-02 11:07:34.000000000 +0200 @@ -1,6 +1,6 @@ #!/usr/bin/make -f -dh = --with=python2 +dh = --with=python2 --with=systemd include /usr/share/pkg-kde-tools/qt-kde-team/2/debian-qt-kde.mk libpkgs_addsubst_allLibraries = kde-workspace-dev @@ -39,6 +39,9 @@ $(overridden_command) -pkdm --noscripts $(overridden_command) --remaining-packages +override_dh_systemd_start: + $(overriden_command) -pkdm --no-start -r kdm.service + pkgs_with_install_linux = $(patsubst debian/%.install.linux,%,$(wildcard debian/*.install.linux)) override_dh_install: $(overridden_command)