Package: slim Version: 1.3.4-2 Severity: normal Tags: patch User: ubuntu-de...@lists.ubuntu.com Usertags: origin-ubuntu raring ubuntu-patch
Dear Maintainer, Upstart is an event based replacement for the /sbin/init daemon, in Ubuntu it has helped to avoid problems such as starting the slim daemon before the graphic drivers or keep it alive when it crashes. The attached file adds upstart support for slim, the problem which triaged the action was first reported at: https://bugs.launchpad.net/ubuntu/+source/slim/+bug/699861 / Slim starts too early We think it can be useful in Debian as well * debian/slim.upstart: Add upstart job (LP: #699861) - authored by Richard Johnson Thanks for considering the patch. -- System Information: Debian Release: wheezy/sid APT prefers raring-updates APT policy: (500, 'raring-updates'), (500, 'raring-security'), (500, 'raring'), (100, 'raring-backports') Architecture: amd64 (x86_64) Kernel: Linux 3.8.2-ck1 (SMP w/2 CPU cores; PREEMPT) Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash
=== added file 'debian/slim.upstart' --- debian/slim.upstart 1970-01-01 00:00:00 +0000 +++ debian/slim.upstart 2013-03-27 10:49:46 +0000 @@ -0,0 +1,70 @@ +# SLiM - Simple Login Manager +# +# The display manager service manages the X servers running on the +# system, providing login and auto-login services +# +# based on lightdm upstart script + +description "Simple Login Manager" +author "Richard Johnson" + +start on ((filesystem + and runlevel [!06] + and started dbus + and (drm-device-added card0 PRIMARY_DEVICE_FOR_DISPLAY=1 + or stopped udev-fallback-graphics)) + or runlevel PREVLEVEL=S) + +stop on runlevel [016] + +emits login-session-start +emits desktop-session-start +emits desktop-shutdown + +env XORGCONFIG=/etc/X11/xorg.conf + +script + if [ -n "$UPSTART_EVENTS" ] + then + # Check kernel command-line for inhibitors, unless we are being called + # manually + for ARG in $(cat /proc/cmdline); do + if [ "$ARG" = "text" ]; then + plymouth quit || : + stop + exit 0 + fi + done + + [ ! -f /etc/X11/default-display-manager -o "$(cat /etc/X11/default-display-manager 2>/dev/null)" = "/usr/bin/slim" -o "$(cat /etc/X11/default-display-manager 2>/dev/null)" = "/usr/sbin/slim" ] || { stop; exit 0; } + + if [ "$RUNLEVEL" = S -o "$RUNLEVEL" = 1 ] + then + # Single-user mode + plymouth quit || : + exit 0 + fi + fi + + if [ -r /etc/default/locale ]; then + . /etc/default/locale + export LANG LANGUAGE + elif [ -r /etc/environment ]; then + . /etc/environment + export LANG LANGUAGE + fi + export XORGCONFIG + + exec slim +end script + +post-start script + sleep 5 + clear > /dev/tty7 +end script + +post-stop script + if [ "$UPSTART_STOP_EVENTS" = runlevel ]; then + initctl emit desktop-shutdown + fi +end script