[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