From edabc0bd8953db3203728bcc5c5d6bade1a13a83 Mon Sep 17 00:00:00 2001 From: glasseyes Date: Mon, 28 Jan 2019 13:33:54 -0600 Subject: don't attempt to restart ibus without sudo and ps --- debian/changelog | 1 + debian/postinst | 30 +++++++++++++++++------------- debian/postrm | 30 +++++++++++++++++------------- 3 files changed, 35 insertions(+), 26 deletions(-) (limited to 'debian') diff --git a/debian/changelog b/debian/changelog index dee21ee..b16e7ca 100644 --- a/debian/changelog +++ b/debian/changelog @@ -2,6 +2,7 @@ ibus-keyman (11.0.103-3) unstable; urgency=medium * postinst/rm be more robust to ibus not running and running in gnome-shell + * don't attempt to restart ibus without sudo and ps -- Daniel Glassey Mon, 28 Jan 2019 09:50:07 -0600 diff --git a/debian/postinst b/debian/postinst index 55a36b0..80d208c 100644 --- a/debian/postinst +++ b/debian/postinst @@ -5,19 +5,23 @@ set -e case "$1" in configure) - # Restart IBus if it is running - ! ibuspid=`ps -C ibus-daemon -o pid=|head -n 1` - - if [ "x$ibuspid" != "x" ]; then - # check for gnome-shell as it works differently - ! gspid=`ps -C gnome-shell -o pid=|head -n 1` - if [ "x$gspid" != "x" ]; then - # gnome-shell has multiple ibus-daemon processes and needs exit instead of restart - ibususer=`ps -C ibus-daemon -o user=|grep -v gdm|uniq` - sudo -H -u "$ibususer" ibus exit - else - ibususer=`ps -C ibus-daemon -o user=` - sudo -H -u "$ibususer" ibus restart + # if don't have sudo and ps then don't attempt to restart ibus + if [ -x /usr/bin/sudo ] && [ -x /bin/ps ]; then + + # Restart IBus if it is running + ! ibuspid=`ps -C ibus-daemon -o pid=|head -n 1` + + if [ "x$ibuspid" != "x" ]; then + # check for gnome-shell as it works differently + ! gspid=`ps -C gnome-shell -o pid=|head -n 1` + if [ "x$gspid" != "x" ]; then + # gnome-shell has multiple ibus-daemon processes and needs exit instead of restart + ibususer=`ps -C ibus-daemon -o user=|grep -v gdm|uniq` + sudo -H -u "$ibususer" ibus exit + else + ibususer=`ps -C ibus-daemon -o user=` + sudo -H -u "$ibususer" ibus restart + fi fi fi ;; diff --git a/debian/postrm b/debian/postrm index dab0bec..4218d94 100644 --- a/debian/postrm +++ b/debian/postrm @@ -5,19 +5,23 @@ set -e case "$1" in remove) - # Restart IBus if it is running - ! ibuspid=`ps -C ibus-daemon -o pid=|head -n 1` - - if [ "x$ibuspid" != "x" ]; then - # check for gnome-shell as it works differently - ! gspid=`ps -C gnome-shell -o pid=|head -n 1` - if [ "x$gspid" != "x" ]; then - # gnome-shell has multiple ibus-daemon processes and needs exit instead of restart - ibususer=`ps -C ibus-daemon -o user=|grep -v gdm|uniq` - sudo -H -u "$ibususer" ibus exit - else - ibususer=`ps -C ibus-daemon -o user=` - sudo -H -u "$ibususer" ibus restart + # if don't have sudo then don't attempt to restart ibus + if [ -x /usr/bin/sudo ] && [ -x /bin/ps ]; then + + # Restart IBus if it is running + ! ibuspid=`ps -C ibus-daemon -o pid=|head -n 1` + + if [ "x$ibuspid" != "x" ]; then + # check for gnome-shell as it works differently + ! gspid=`ps -C gnome-shell -o pid=|head -n 1` + if [ "x$gspid" != "x" ]; then + # gnome-shell has multiple ibus-daemon processes and needs exit instead of restart + ibususer=`ps -C ibus-daemon -o user=|grep -v gdm|uniq` + sudo -H -u "$ibususer" ibus exit + else + ibususer=`ps -C ibus-daemon -o user=` + sudo -H -u "$ibususer" ibus restart + fi fi fi ;; -- cgit v1.2.3