123456789101112131415161718192021222324252627282930313233343536373839404142 |
- #!/bin/bash
- # Get normal user name
- LOCAL_USER=`users | sed -e 's/root *//' | cut -d' ' -f 1`
- PIDFILE=/var/run/qubes/dom0-update-notification.pid
- NOTIFY_ICON=/usr/share/qubes/icons/dom0-update-avail.svg
- UPDATES_STAT_FILE=/var/lib/qubes/updates/dom0-updates-available
- # Do not allow multiple instances
- [ -r $PIDFILE ] && kill -0 `cat $PIDFILE` && exit 0
- # Teoretically the race can happen here, but this tool will be run once a few
- # hours, so no real problem
- echo $$ > $PIDFILE
- trap "rm $PIDFILE" EXIT
- # If no updates available - exit here
- qubes-dom0-update --check-only >/dev/null && exit
- RETCODE=$?
- if [ "$RETCODE" -ne 100 ]; then
- echo "ERROR: Error checking for updates" >&2
- exit $RETCODE
- fi
- if [ -z "$LOCAL_USER" ]; then
- echo "ERROR: no user logged in, cannot nofity about updates" >&2
- exit 1
- fi
- # Touch stat file for qubes-manager
- touch $UPDATES_STAT_FILE
- # Notify about updates using system tray
- zenity --notification --window-icon=$NOTIFY_ICON --text="Qubes dom0 updates available."
- zenity --question --title="Qubes Dom0 updates" \
- --text="There are updates for dom0 available, do you want to download them now?" || exit 0
- su -c "DISPLAY=:0 qubes-dom0-update --gui" $LOCAL_USER
- # Check if user installed updates
- yum -q check-updates && rm $UPDATES_STAT_FILE
|