From 5425694572300793199f2cc24a40dd6e573c264f Mon Sep 17 00:00:00 2001 From: Miguel Jacq Date: Tue, 28 Jul 2015 15:41:49 +1000 Subject: [PATCH] add option to shut down the UpdateVM automatically after checking or applying updates --- dom0-updates/qubes-dom0-update | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/dom0-updates/qubes-dom0-update b/dom0-updates/qubes-dom0-update index 963b277..49716bb 100755 --- a/dom0-updates/qubes-dom0-update +++ b/dom0-updates/qubes-dom0-update @@ -12,10 +12,11 @@ if [ "$1" = "--help" ]; then echo "This tool is used to download packages for dom0. Without package list" echo "it checks for updates for installed packages" echo "" - echo "Usage: $0 [--clean] [--check-only] [--gui] []" + echo "Usage: $0 [--clean] [--check-only] [--gui] [--shutdownvm] []" echo " --clean clean yum cache before doing anything" echo " --check-only only check for updates (no install)" echo " --gui use gpk-update-viewer for update selection" + echo " --shutdownvm shut down the UpdateVM after updating" echo " --action=... use specific yum action, instead of automatic install/update" echo " download (and install if run by root) new packages" echo " in dom0 instead of updating" @@ -27,8 +28,8 @@ TEMPLATE_EXCLUDE_OPTS="--exclude=`rpm -qa --qf '%{NAME},' qubes-template-\*`" PKGS= YUM_OPTS="$TEMPLATE_EXCLUDE_OPTS" GUI= +SHUTDOWNVM= CHECK_ONLY= -ALL_OPTS="$TEMPLATE_EXCLUDE_OPTS $*" YUM_ACTION= QVMRUN_OPTS= CLEAN= @@ -44,6 +45,9 @@ while [ $# -gt 0 ]; do --gui) GUI=1 ;; + --shutdownvm) + SHUTDOWNVM=1 + ;; --check-only) CHECK_ONLY=1 ;; @@ -62,6 +66,12 @@ while [ $# -gt 0 ]; do esac shift done +ALL_OPTS="$TEMPLATE_EXCLUDE_OPTS $*" +for i in "${ALL_OPTS[@]}"; do + if [ $i = "--shutdownvm" ]; then + unset "ALL_OPTS[${#ALL_OPTS[@]}-1]" + fi +done ID=$(id -ur) if [ $ID != 0 -a -z "$GUI" -a -z "$CHECK_ONLY" ] ; then @@ -170,3 +180,8 @@ elif [ -f /var/lib/qubes/updates/repodata/repomd.xml ]; then else echo "No updates avaliable" >&2 fi + +# Shut down the UpdateVM if we were asked to +if [ "$SHUTDOWNVM" == "1" ]; then + qvm-shutdown $UPDATEVM +fi