Merge branch 'master' of git.qubes-os.org:/var/lib/qubes/git/marmarek/core
This commit is contained in:
		
						commit
						dcd57e53f0
					
				@ -4,6 +4,7 @@
 | 
			
		||||
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
 | 
			
		||||
@ -13,7 +14,7 @@ echo $$ > $PIDFILE
 | 
			
		||||
trap "rm $PIDFILE" EXIT
 | 
			
		||||
 | 
			
		||||
# If no updates available - exit here
 | 
			
		||||
qubes-dom0-updates --check-only && exit
 | 
			
		||||
qubes-dom0-update --check-only >/dev/null && exit
 | 
			
		||||
RETCODE=$?
 | 
			
		||||
 | 
			
		||||
if [ "$RETCODE" -ne 100 ]; then
 | 
			
		||||
@ -26,6 +27,9 @@ if [ -z "$LOCAL_USER" ]; then
 | 
			
		||||
    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."
 | 
			
		||||
 | 
			
		||||
@ -33,3 +37,6 @@ 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
 | 
			
		||||
 | 
			
		||||
@ -24,6 +24,7 @@ import os.path
 | 
			
		||||
import sys
 | 
			
		||||
import subprocess
 | 
			
		||||
import shutil
 | 
			
		||||
import grp
 | 
			
		||||
from datetime import datetime
 | 
			
		||||
from qubes.qubes import QubesVmCollection
 | 
			
		||||
from qubes.qubes import updates_stat_file
 | 
			
		||||
@ -46,6 +47,9 @@ def main():
 | 
			
		||||
        print >> sys.stderr, 'Domain ' + source + ' does not exists (?!)'
 | 
			
		||||
        exit(1)
 | 
			
		||||
 | 
			
		||||
    os.umask(0002)
 | 
			
		||||
    qubes_gid = grp.getgrnam('qubes').gr_gid
 | 
			
		||||
    
 | 
			
		||||
    update_count = sys.stdin.readline(128).strip()
 | 
			
		||||
    if not update_count.isdigit():
 | 
			
		||||
        print >> sys.stderr, 'Domain ' + source + ' sent invalid number of updates: ' + update_count
 | 
			
		||||
@ -55,6 +59,7 @@ def main():
 | 
			
		||||
        update_f = open(source_vm.dir_path + '/' + updates_stat_file, "w")
 | 
			
		||||
        update_f.write(update_count)
 | 
			
		||||
        update_f.close()
 | 
			
		||||
        os.chown(source_vm.dir_path + '/' + updates_stat_file, -1, qubes_gid)
 | 
			
		||||
    elif source_vm.template is not None:
 | 
			
		||||
        # Hint about updates availability in template
 | 
			
		||||
        # If template is running - it will notify about updates itself
 | 
			
		||||
@ -72,6 +77,7 @@ def main():
 | 
			
		||||
            update_f = open(stat_file, "w")
 | 
			
		||||
            update_f.write(update_count)
 | 
			
		||||
            update_f.close()
 | 
			
		||||
            os.chown(stat_file, -1, qubes_gid)
 | 
			
		||||
        else:
 | 
			
		||||
            print >> sys.stderr, 'Ignoring notification of no updates'
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -840,6 +840,9 @@ class QubesVm(object):
 | 
			
		||||
                "{0}/qubes-block-devices".format(domain_path),
 | 
			
		||||
                '')
 | 
			
		||||
 | 
			
		||||
        xs.write('', "{0}/qubes-debug-mode".format(domain_path),
 | 
			
		||||
                str(int(self.debug)))
 | 
			
		||||
 | 
			
		||||
        # Fix permissions
 | 
			
		||||
        xs.set_permissions('', '{0}/device'.format(domain_path),
 | 
			
		||||
                [{ 'dom': xid }])
 | 
			
		||||
@ -1700,7 +1703,6 @@ class QubesNetVm(QubesVm):
 | 
			
		||||
        attrs_config['label']['default'] = default_servicevm_label
 | 
			
		||||
        attrs_config['vcpus']['default'] = default_servicevm_vcpus
 | 
			
		||||
        attrs_config['memory']['default'] = 200
 | 
			
		||||
        attrs_config['maxmem']['eval'] = 'self.memory'
 | 
			
		||||
        
 | 
			
		||||
        # New attributes
 | 
			
		||||
        attrs_config['netid'] = { 'save': 'str(self.netid)', 'order': 30 }
 | 
			
		||||
 | 
			
		||||
@ -61,3 +61,11 @@ if [ -n "$timezone" ]; then
 | 
			
		||||
    echo "# Clock configuration autogenerated based on Qubes dom0 settings" > /etc/sysconfig/clock
 | 
			
		||||
    echo "ZONE=\"$timezone\"" >> /etc/sysconfig/clock
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
# Prepare environment for other services
 | 
			
		||||
echo > /var/run/qubes-service-environment
 | 
			
		||||
 | 
			
		||||
debug_mode=`$XS_READ qubes-debug-mode 2> /dev/null`
 | 
			
		||||
if [ -n "$debug_mode" -a "$debug_mode" -gt 0 ]; then
 | 
			
		||||
    echo "GUI_OPTS=-vv" >> /var/run/qubes-service-environment
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user