[Pkg-xfce-commits] r4619 - goodies/trunk/lightdm/debian

Yves-Alexis Perez corsac at alioth.debian.org
Sun Dec 5 01:07:35 UTC 2010


Author: corsac
Date: 2010-12-05 13:07:30 +0000 (Sun, 05 Dec 2010)
New Revision: 4619

Added:
   goodies/trunk/lightdm/debian/lightdm.prerm
Modified:
   goodies/trunk/lightdm/debian/lightdm.postinst
   goodies/trunk/lightdm/debian/lightdm.postrm
   goodies/trunk/lightdm/debian/rules
Log:
don't use dh_installinit maintainerscripts, take them from gdm


Modified: goodies/trunk/lightdm/debian/lightdm.postinst
===================================================================
--- goodies/trunk/lightdm/debian/lightdm.postinst	2010-12-04 21:27:57 UTC (rev 4618)
+++ goodies/trunk/lightdm/debian/lightdm.postinst	2010-12-05 13:07:30 UTC (rev 4619)
@@ -1,11 +1,69 @@
-#!/bin/sh -e
+#!/bin/sh
 
+set -e
+
+. /usr/share/debconf/confmodule
+
+THIS_PACKAGE=lightdm
+DEFAULT_DISPLAY_MANAGER_FILE=/etc/X11/default-display-manager
+
+# creating lightdm group if he isn't already there
+if ! getent group lightdm >/dev/null; then
+        addgroup --system lightdm
+fi
+
+# creating lightdm user if he isn't already there
+if ! getent passwd lightdm >/dev/null; then
+        adduser --system --ingroup lightdm --home /var/lib/lightdm lightdm
+        usermod -c "Light Display Manager" lightdm
+        usermod -d "/var/lib/lightdm"      lightdm
+        usermod -g "lightdm"               lightdm
+        usermod -s "/bin/false"            lightdm
+fi
+
+if [ -d /var/lib/lightdm ]; then
+  chown -R lightdm:lightdm /var/lib/lightdm
+  chmod 0750 /var/lib/lightdm
+fi
+
+# debconf is not a registry, so we only fiddle with the default file if it
+# does not exist
+if [ ! -e $DEFAULT_DISPLAY_MANAGER_FILE ]; then
+  if db_get shared/default-x-display-manager; then
+    # workaround debconf passthru bug (#379198)
+    if [ -z "$RET" ]; then
+      $RET="$THIS_PACKAGE"
+    fi
+    if [ "$THIS_PACKAGE" != "$RET" ]; then
+      echo "Please be sure to run \"dpkg --configure $RET\"."
+    fi
+    if db_get "$RET"/daemon_name; then
+      echo "$RET" > $DEFAULT_DISPLAY_MANAGER_FILE
+    fi
+  fi
+fi
+
+# remove the displaced old default display manager file if it exists
+if [ -e "$DEFAULT_DISPLAY_MANAGER_FILE.dpkg-tmp" ]; then
+  rm "$DEFAULT_DISPLAY_MANAGER_FILE.dpkg-tmp"
+fi
+
+# debconf hangs if lightdm gets started below without this
+db_stop || true
+
+# update-rc.d levels
+S=30
+K=01
+
+if [ -x /etc/init.d/lightdm ]; then
+  update-rc.d lightdm defaults $S $K >/dev/null 2>&1
+fi
+
 if [ "$1" = "configure" ];
 then
-  echo "adding lightdm user" >&2
-  adduser --system --home /var/lib/lightdm lightdm || true
-
   invoke-rc.d dbus reload
 fi
 
 #DEBHELPER#
+
+exit 0

Modified: goodies/trunk/lightdm/debian/lightdm.postrm
===================================================================
--- goodies/trunk/lightdm/debian/lightdm.postrm	2010-12-04 21:27:57 UTC (rev 4618)
+++ goodies/trunk/lightdm/debian/lightdm.postrm	2010-12-05 13:07:30 UTC (rev 4619)
@@ -1,9 +1,31 @@
-#!/bin/sh -e
+#!/bin/sh
 
-if [ "$1" = "purge" ];
-then
-  echo "removing lightdm user" >&2
-  deluser system lightdm || echo "failure removing lightdm user" >&2
+DEFAULT_DISPLAY_MANAGER_FILE=/etc/X11/default-display-manager
+
+if [ "$1" = "abort-install" ] || [ "$1" = "abort-upgrade" ]; then
+  if [ -e "$DEFAULT_DISPLAY_MANAGER_FILE.dpkg-tmp" ]; then
+    mv "$DEFAULT_DISPLAY_MANAGER_FILE.dpkg-tmp" "$DEFAULT_DISPLAY_MANAGER_FILE"
+  fi
 fi
 
+if [ "$1" = "purge" ] ; then
+        update-rc.d lightdm remove >/dev/null
+        if [ -d /var/lib/lightdm ]; then
+                rm -r /var/lib/lightdm
+        fi
+        if [ -d /var/log/lightdm ]; then
+                rm -r /var/log/lightdm
+        fi
+        if getent passwd lightdm >/dev/null; then
+                if [ -x /usr/sbin/deluser ]; then
+                        deluser --system lightdm
+                fi
+        fi
+        if getent group lightdm >/dev/null; then
+                if [ -x /usr/sbin/delgroup ]; then
+                        delgroup --system lightdm
+                fi
+        fi
+fi
 #DEBHELPER#
+exit 0

Added: goodies/trunk/lightdm/debian/lightdm.prerm
===================================================================
--- goodies/trunk/lightdm/debian/lightdm.prerm	                        (rev 0)
+++ goodies/trunk/lightdm/debian/lightdm.prerm	2010-12-05 13:07:30 UTC (rev 4619)
@@ -0,0 +1,65 @@
+#!/bin/bash
+# Debian lightdm package pre-removal script
+# © 2010 Yves-Alexis Perez, using lightdm script which is
+# Copyright 2001 Branden Robinson.
+# Licensed under the GNU General Public License, version 2.  See the file
+# /usr/share/common-licenses/GPL or <http://www.gnu.org/copyleft/gpl.txt>.
+# Acknowlegements to Stephen Early, Mark Eichin, and Manoj Srivastava.
+
+set -e
+
+THIS_PACKAGE=lightdm
+DEFAULT_DISPLAY_MANAGER_FILE=/etc/X11/default-display-manager
+
+if [ "$1" = "remove" -o "$1" = "deconfigure" ]; then
+  if [ -e /usr/share/debconf/confmodule ]; then
+    . /usr/share/debconf/confmodule
+    # disown this question
+    db_unregister shared/default-x-display-manager || true
+    # does the question still exist?
+    if db_get shared/default-x-display-manager; then
+      db_metaget shared/default-x-display-manager owners
+      db_subst shared/default-x-display-manager choices "$RET"
+      db_get shared/default-x-display-manager
+      # are we removing the currently selected display manager?
+      if [ "$THIS_PACKAGE" = "$RET" ]; then
+        if [ -e "$DEFAULT_DISPLAY_MANAGER_FILE" ]; then
+          db_get "$RET"/daemon_name
+          if [ "$(cat $DEFAULT_DISPLAY_MANAGER_FILE)" = "$RET" ]; then
+            rm "$DEFAULT_DISPLAY_MANAGER_FILE"
+          fi
+        fi
+        # ask the user to choose a new default
+        db_fset shared/default-x-display-manager seen false
+        db_input critical shared/default-x-display-manager || true
+        db_go
+        # if the display manager file doesn't exist, write it with the path
+        # to the new default display manager
+        if [ ! -e $DEFAULT_DISPLAY_MANAGER_FILE ]; then
+          db_get shared/default-x-display-manager
+          echo "Please be sure to run \"dpkg-reconfigure $RET\"."
+          db_get "$RET"/daemon_name
+          echo "$RET" > "$DEFAULT_DISPLAY_MANAGER_FILE"
+        fi
+      fi
+    fi
+  fi
+fi
+
+if [ "$1" = "remove" ]; then
+  if [ -x /etc/init.d/lightdm ]; then
+    nostop=
+    for hostname in "" "localhost" "$(hostname)" "$(hostname -f)"; do
+      if echo $DISPLAY | grep -q "^$hostname:0.*"; then
+        nostop=yes
+      fi
+    done
+    if [ -z $nostop ]; then
+      invoke-rc.d lightdm stop
+    fi
+  fi
+fi
+
+#DEBHELPER#
+
+exit 0

Modified: goodies/trunk/lightdm/debian/rules
===================================================================
--- goodies/trunk/lightdm/debian/rules	2010-12-04 21:27:57 UTC (rev 4618)
+++ goodies/trunk/lightdm/debian/rules	2010-12-05 13:07:30 UTC (rev 4619)
@@ -14,7 +14,7 @@
 	dh_auto_configure -- --with-greeter-user=lightdm --with-default-session=xfce
 
 override_dh_installinit:
-	dh_installinit -- defaults S30 K01
+	dh_installinit --noscripts
 
 %:
 	dh $@




More information about the Pkg-xfce-commits mailing list