diff options
author | glasseyes <dglassey@gmail.com> | 2019-01-28 13:33:54 -0600 |
---|---|---|
committer | glasseyes <dglassey@gmail.com> | 2019-01-28 14:39:59 -0600 |
commit | edabc0bd8953db3203728bcc5c5d6bade1a13a83 (patch) | |
tree | 305fd303dcb94c1351756bd5803fa6a7d5a9907c | |
parent | 7eaff0c746eaa797b1c0e1eb8b56cb638955e8c5 (diff) |
don't attempt to restart ibus without sudo and psdebian/11.0.103-3archive/debian/11.0.103-3
-rw-r--r-- | debian/changelog | 1 | ||||
-rw-r--r-- | debian/postinst | 30 | ||||
-rw-r--r-- | debian/postrm | 30 |
3 files changed, 35 insertions, 26 deletions
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 <wdg@debian.org> 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 ;; |