diff options
author | Michele Calgaro <michele.calgaro@yahoo.it> | 2019-04-03 22:56:40 +0900 |
---|---|---|
committer | Michele Calgaro <michele.calgaro@yahoo.it> | 2019-04-03 22:56:40 +0900 |
commit | 11394aecd1f906fee2ebd2b90412aeba4651fbff (patch) | |
tree | bcf750380e6d9fc7dbe524e16bbe2afde25dcfa0 /ubuntu/_base/tdebase/debian/tdm-trinity.prerm | |
parent | d24bd898174453b586ac90f2ef7a60165fa26fde (diff) | |
download | tde-packaging-11394aecd1f906fee2ebd2b90412aeba4651fbff.tar.gz tde-packaging-11394aecd1f906fee2ebd2b90412aeba4651fbff.zip |
DEB: use _base folder for a distro instead of specific distros (squeeze
and maverick).
Signed-off-by: Michele Calgaro <michele.calgaro@yahoo.it>
Diffstat (limited to 'ubuntu/_base/tdebase/debian/tdm-trinity.prerm')
-rw-r--r-- | ubuntu/_base/tdebase/debian/tdm-trinity.prerm | 181 |
1 files changed, 181 insertions, 0 deletions
diff --git a/ubuntu/_base/tdebase/debian/tdm-trinity.prerm b/ubuntu/_base/tdebase/debian/tdm-trinity.prerm new file mode 100644 index 000000000..6247adb1f --- /dev/null +++ b/ubuntu/_base/tdebase/debian/tdm-trinity.prerm @@ -0,0 +1,181 @@ +#! /bin/sh +# prerm script for tdm-trinity +# +# see: dh_installdeb(1) + +set -e + +# summary of how this script can be called: +# * <prerm> `remove' +# * <old-prerm> `upgrade' <new-version> +# * <new-prerm> `failed-upgrade' <old-version> +# * <conflictor's-prerm> `remove' `in-favour' <package> <new-version> +# * <deconfigured's-prerm> `deconfigure' `in-favour' +# <package-being-installed> <version> `removing' +# <conflicting-package> <version> +# for details, see http://www.debian.org/doc/debian-policy/ or +# the debian-policy package + +# debconf may not be available if some massive purging is going on +HAVE_DEBCONF= +if [ -e /usr/share/debconf/confmodule ]; then + . /usr/share/debconf/confmodule + HAVE_DEBCONF=yes +fi + +case "$1" in + # we NEVER want to unconditionally stop tdm-trinity; see below + upgrade|failed-upgrade) + REMOVING= + ;; + + remove|deconfigure) + REMOVING=yes + ;; + + *) + echo "prerm called with unknown argument \`$1'" >&2 + exit 1 + ;; +esac + +STOP= +# are we supposed to restart on upgrade? if REMOVING tdm-trinity, we don't care what +# the user says, we have to stop the daemon +if grep -qs ^restart-on-upgrade /etc/trinity/tdm/tdm.options || + [ -n "$REMOVING" ]; then + # is there an tdm process running? + if start-stop-daemon --stop --quiet --signal 0 --exec /opt/trinity/bin/tdm; then + # any children? + PARENTS=$(pidof /opt/trinity/bin/tdm || true) + CHILDREN= + if [ -n "$PARENTS" ]; then + for PROCESS in $PARENTS; do + # make sure we got numbers back + [ $PROCESS -eq $PROCESS ] 2> /dev/null || + exit + # FIXME - redo this part uses shell-lib.sh from xfree86 + # die "pidof returned non-numeric value" + # we could use grep -q here if ps would ignore SIGPIPE :-P + if (ps axj | grep "^ *$PROCESS" > /dev/null 2>&1); then + CHILDREN=yes + fi + done + if [ -n "$CHILDREN" ]; then + if [ -n "$HAVE_DEBCONF" ]; then + # ask the question + db_input high tdm-trinity/stop_running_server_with_children || true + db_go + # what did the user say? + ANSWER= + if db_get tdm-trinity/stop_running_server_with_children; then + ANSWER="$RET" + fi + if [ "$ANSWER" = "true" ]; then + STOP=yes + fi + # forget that we have seen the question; this is the sort of + # non-configuration question that should be asked every time + db_fset tdm-trinity/stop_running_server_with_children seen false + fi + else + STOP=yes + fi + fi + fi +fi + +if [ -n "$STOP" ]; then + if [ -x "`which invoke-rc.d 2>/dev/null`" ]; then + invoke-rc.d tdm-trinity stop || true + else + /etc/init.d/tdm-trinity stop || true + fi +else + if [ "$1" = "upgrade" -o "$1" = "failed-upgrade" ]; then + touch /var/run/tdm-trinity.upgrade + fi +fi + +if [ -n "$REMOVING" ]; then + rm -f /etc/init.d/tdm-trinity + [ ! -e /etc/init/tdm-trinity.conf ] || \ + rm -f /etc/init/tdm-trinity.conf +fi + +DEFAULT_DISPLAY_MANAGER_FILE=/etc/X11/default-display-manager + +if [ "$1" = "remove" -o "$1" = "deconfigure" ]; then + if [ -n "$HAVE_DEBCONF" ]; then + # 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 + if db_metaget shared/default-x-display-manager owners; then + # FIXME - redo this part uses shell-lib.sh from xfree86 + #observe "X display managers now available are \"$OWNERS\"" + db_subst shared/default-x-display-manager choices "$RET" + fi + DEFAULT_DISPLAY_MANAGER= + if db_get shared/default-x-display-manager; then + DEFAULT_DISPLAY_MANAGER="$RET" + fi + # are we removing the currently selected display manager? + if [ -n "$DEFAULT_DISPLAY_MANAGER" ]; then + if [ "tdm-trinity" = "$DEFAULT_DISPLAY_MANAGER" ]; then + if [ -e "$DEFAULT_DISPLAY_MANAGER_FILE" ]; then + if db_get "$DEFAULT_DISPLAY_MANAGER/daemon_name"; then + # does the display manager file reference the current default? if + # so, remove it because it will now be wrong + if [ -n "$RET" ]; then + if [ "$(cat "$DEFAULT_DISPLAY_MANAGER_FILE")" = "$RET" ]; then + rm "$DEFAULT_DISPLAY_MANAGER_FILE" + fi + fi + 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 default display manager file doesn't exist, write it with + # the path to the new default display manager + 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 + # FIXME - redo this part uses shell-lib.sh from xfree86 + #warn "new default display manager has been selected; please be" \ + # "sure to run \"dpkg-reconfigure $RET\" to ensure that it" \ + # "is configured" + DAEMON_NAME= + if db_get "$DEFAULT_DISPLAY_MANAGER"/daemon_name; then + DAEMON_NAME="$RET" + fi + if [ ! -n "$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 [ ! -n "$DAEMON_NAME" ]; then + echo . + # FIXME - redo this part uses shell-lib.sh from xfree86 + #warn "unable to determine path to default X display manager" \ + # "$DEFAULT_DISPLAY_MANAGER; not updating" \ + # "$DEFAULT_DISPLAY_MANAGER_FILE" + fi + fi + if [ -n "$DAEMON_NAME" ]; then + echo "$DAEMON_NAME" > "$DEFAULT_DISPLAY_MANAGER_FILE" + fi + fi + fi + fi + fi + fi + fi +fi + +exit 0 |