[SCM] sddm packaging branch, master, updated. a84bdd6bcf7666a0aa5bdf4f6986a9a04eb2b0d4

Maximiliano Curia maxy at moszumanska.debian.org
Sat Oct 11 12:33:19 UTC 2014


Gitweb-URL: http://git.debian.org/?p=pkg-kde/kde-std/sddm.git;a=commitdiff;h=a84bdd6

The following commit has been merged in the master branch:
commit a84bdd6bcf7666a0aa5bdf4f6986a9a04eb2b0d4
Author: Maximiliano Curia <maxy at gnuservers.com.ar>
Date:   Sat Oct 11 14:26:41 2014 +0200

    Update prerm postrm and postinst files
---
 debian/sddm.postinst | 92 ++++++++++++++++++++++++----------------------------
 debian/sddm.postrm   | 51 +++++++++++++----------------
 debian/sddm.prerm    |  9 ++---
 3 files changed, 67 insertions(+), 85 deletions(-)

diff --git a/debian/sddm.postinst b/debian/sddm.postinst
index 16d2a68..4c828d5 100644
--- a/debian/sddm.postinst
+++ b/debian/sddm.postinst
@@ -9,53 +9,42 @@ DEFAULT_DISPLAY_MANAGER_FILE=/etc/X11/default-display-manager
 
 # creating sddm group if he isn't already there
 if ! getent group sddm >/dev/null; then
-        addgroup --system sddm
+    addgroup --system sddm
 fi
 
 # creating sddm user if he isn't already there
 if ! getent passwd sddm >/dev/null; then
-        adduser --system --ingroup sddm --home /var/lib/sddm sddm
-        usermod -c "SDDM Display Manager" sddm
-        usermod -d "/var/lib/sddm"      sddm
-        usermod -g "sddm"               sddm
-        usermod -s "/bin/false"            sddm
-fi
-
-# Creating nopasswdlogin group if he isn't already there.
-# That enables the password-less login feature in the users-admin
-# tool of the gnome-system-tools for users that belong to it,
-# and which is working thanks to SDDM's PAM policy.
-if ! getent group nopasswdlogin >/dev/null; then
-        addgroup --system nopasswdlogin
+    adduser --system --ingroup sddm --home /var/lib/sddm sddm
+    usermod -c "Simple Desktop Display Manager" sddm
+    usermod -d "/var/lib/sddm"                  sddm
+    usermod -g "sddm"                           sddm
+    usermod -s "/bin/false"                     sddm
 fi
 
 if [ -d /var/lib/sddm ]; then
-  chown -R sddm:sddm /var/lib/sddm
-  chmod 0750 /var/lib/sddm
+    chown -R sddm:sddm /var/lib/sddm
+    chmod 0750 /var/lib/sddm
 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
-  DEFAULT_DISPLAY_MANAGER=
-  if db_get shared/default-x-display-manager; then
-    DEFAULT_DISPLAY_MANAGER="$RET"
-  fi
-  if [ -n "$DEFAULT_DISPLAY_MANAGER" ]; then
-    DAEMON_NAME=
-    if db_get "$DEFAULT_DISPLAY_MANAGER"/daemon_name; then
-      DAEMON_NAME="$RET"
-    fi
-    if [ -z "$DAEMON_NAME" ]; then
-      # if we were unable to determine the name of the selected daemon (for
-      # instance, if the selected default display manager doesn't provide a
-      # daemon_name question), guess
-      DAEMON_NAME=$(which "$DEFAULT_DISPLAY_MANAGER" 2>/dev/null)
+    if db_get shared/default-x-display-manager; then
+        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 "$DEFAULT_DISPLAY_MANAGER"/daemon_name; then
+            echo "$RET" > "$DEFAULT_DISPLAY_MANAGER_FILE"
+        fi
     fi
-    if [ -n "$DAEMON_NAME" ]; then
-      echo "$DAEMON_NAME" > "$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 sddm gets started below without this
@@ -64,25 +53,31 @@ db_stop || true
 DEFAULT_SERVICE=/etc/systemd/system/display-manager.service
 # set default-display-manager systemd service link according to our config
 if [ "$1" = configure ] && [ -d /etc/systemd/system/ ]; then
-  if [ -e "$DEFAULT_DISPLAY_MANAGER_FILE" ]; then
-    SERVICE=/lib/systemd/system/$(basename $(cat "$DEFAULT_DISPLAY_MANAGER_FILE")).service
-    if [ -h "$DEFAULT_SERVICE" ] && [ $(readlink "$DEFAULT_SERVICE") = /dev/null ]; then
-      echo "Display manager service is masked" >&2
-    elif [ -e "$SERVICE" ]; then
-      ln -sf "$SERVICE" "$DEFAULT_SERVICE"
+    if [ -e "$DEFAULT_DISPLAY_MANAGER_FILE" ]; then
+        SERVICE=/lib/systemd/system/$(basename $(cat "$DEFAULT_DISPLAY_MANAGER_FILE")).service
+        if [ -h "$DEFAULT_SERVICE" ] && [ $(readlink "$DEFAULT_SERVICE") = /dev/null ]; then
+            echo "Display manager service is masked" >&2
+        elif [ -e "$SERVICE" ]; then
+            ln -sf "$SERVICE" "$DEFAULT_SERVICE"
+        else
+            echo "WARNING: $SERVICE is the selected default display manager but does not exist" >&2
+            rm -f "$DEFAULT_SERVICE"
+        fi
     else
-      echo "WARNING: $SERVICE is the selected default display manager but does not exist" >&2
-      rm -f "$DEFAULT_SERVICE"
+        rm -f "$DEFAULT_SERVICE"
     fi
-  else
-    rm -f "$DEFAULT_SERVICE"
-  fi
 fi
 
+# update-rc.d levels
+S=30
+K=01
+
+if [ -x /etc/init.d/sddm ]; then
+    update-rc.d sddm defaults $S $K >/dev/null 2>&1
+fi
 
-if [ "$1" = "configure" ];
-then
-  invoke-rc.d dbus reload || true
+if [ "$1" = "configure" ]; then
+    invoke-rc.d dbus reload || true
 fi
 
 touch /var/log/sddm.log
@@ -91,4 +86,3 @@ chown sddm:sddm /var/log/sddm.log
 #DEBHELPER#
 
 exit 0
-
diff --git a/debian/sddm.postrm b/debian/sddm.postrm
index 36389b6..a211fbb 100644
--- a/debian/sddm.postrm
+++ b/debian/sddm.postrm
@@ -1,41 +1,34 @@
 #!/bin/sh
 set -e
 
-if [ "$1" = "purge" ] ; then
-        rm -f /etc/sddm.conf
-
-        if [ -d /var/log/sddm ]; then
-                rm -r /var/log/sddm
-        fi
-
-        if [ -d /var/cache/sddm ]; then
-                rm -r /var/cache/sddm
-        fi
+case "$1" in
+    purge)
+        update-rc.d sddm remove > /dev/null
 
-        if [ -d /var/run/sddm/authority ]; then
-                rm -r /var/run/sddm/authority
-        fi
+        if [ -d /var/cache/sddm ]; then rm -r /var/cache/sddm; fi
+        if [ -d /var/lib/sddm ]; then rm -r /var/lib/sddm; fi
+        if [ -d /var/log/sddm ]; then rm -r /var/log/sddm; fi
+        if [ -d /var/run/sddm ]; then rm -r /var/run/sddm/authority; fi
 
         if getent passwd sddm >/dev/null; then
-                if [ -x /usr/sbin/deluser ]; then
-                        deluser --system sddm
-                fi
+            if [ -x /usr/sbin/deluser ]; then
+                deluser --system sddm || echo "Could not remove sddm user."
+            fi
         fi
-
         if getent group sddm >/dev/null; then
-                if [ -x /usr/sbin/delgroup ]; then
-                        delgroup --system sddm
-                fi
+            if [ -x /usr/sbin/delgroup ]; then
+                delgroup --system sddm || echo "Could not remove sddm group."
+            fi
         fi
-
-        # we cannot use the --remove-home option when we delete the user above
-        # because it will refuse to remove things in /var, so clean it up this
-        # way
-        if [ -d /var/lib/sddm ]; then
-                rm -r /var/lib/sddm
+        ;;
+    abort-install|abort-upgrade)
+        # roll back displacement of default display manager file
+        if [ -e "$DEFAULT_DISPLAY_MANAGER_FILE.dpkg-tmp" ]; then
+            # FIXME - redo this part uses shell-lib.sh from xfree86
+            #observe "rolling back change of default X display manager"
+            mv "$DEFAULT_DISPLAY_MANAGER_FILE.dpkg-tmp" "$DEFAULT_DISPLAY_MANAGER_FILE"
         fi
-
-        update-rc.d sddm remove > /dev/null
-fi
+        ;;
+esac
 #DEBHELPER#
 exit 0
diff --git a/debian/sddm.prerm b/debian/sddm.prerm
index 5666101..5b42509 100644
--- a/debian/sddm.prerm
+++ b/debian/sddm.prerm
@@ -10,15 +10,13 @@
 set -e
 
 THIS_PACKAGE=sddm
-DAEMON=/usr/sbin/sddm
-
 DEFAULT_DISPLAY_MANAGER_FILE=/etc/X11/default-display-manager
 
 if [ "$1" = "remove" ] || [ "$1" = "deconfigure" ]; then
   if [ -e /usr/share/debconf/confmodule ]; then
     . /usr/share/debconf/confmodule
     # disown this question
-    db_unregister shared/default-x-display-manager
+    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
@@ -31,10 +29,6 @@ if [ "$1" = "remove" ] || [ "$1" = "deconfigure" ]; then
 	    if [ "$(cat $DEFAULT_DISPLAY_MANAGER_FILE)" = "$RET" ]; then
 	      rm "$DEFAULT_DISPLAY_MANAGER_FILE"
 	    fi
-	  else
-	    if [ "$(cat $DEFAULT_DISPLAY_MANAGER_FILE)" = "$DAEMON" ]; then
-	      rm "$DEFAULT_DISPLAY_MANAGER_FILE"
-	    fi
 	  fi
         fi
         # ask the user to choose a new default
@@ -45,6 +39,7 @@ if [ "$1" = "remove" ] || [ "$1" = "deconfigure" ]; then
         # 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

-- 
sddm packaging



More information about the pkg-kde-commits mailing list