From: Hans-Christoph Steiner Date: Wed, 29 Nov 2017 19:04:18 +0000 (+0100) Subject: vmtools: in KVM mode, only call sudo hack when file is not readable X-Git-Tag: 1.0.0~60^2 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=commitdiff_plain;h=27d332c8ae7ec3216a6c5a84a968d06eea16499c;p=fdroidserver.git vmtools: in KVM mode, only call sudo hack when file is not readable --- diff --git a/fdroidserver/vmtools.py b/fdroidserver/vmtools.py index aae46c75..aab7eb0d 100644 --- a/fdroidserver/vmtools.py +++ b/fdroidserver/vmtools.py @@ -29,6 +29,8 @@ import textwrap from .common import FDroidException from logging import getLogger +from fdroidserver import _ + logger = getLogger('fdroidserver-vmtools') @@ -383,7 +385,9 @@ class LibvirtBuildVm(FDroidBuildVm): vol = storagePool.storageVolLookupByName(self.srvname + '.img') imagepath = vol.path() # TODO use a libvirt storage pool to ensure the img file is readable - _check_call(['sudo', '/bin/chmod', '-R', 'a+rX', '/var/lib/libvirt/images']) + if not os.access(imagepath, os.R_OK): + logger.warning(_('Cannot read "{path}"!').format(path=imagepath)) + _check_call(['sudo', '/bin/chmod', '-R', 'a+rX', '/var/lib/libvirt/images']) shutil.copy2(imagepath, 'box.img') _check_call(['qemu-img', 'rebase', '-p', '-b', '', 'box.img']) img_info_raw = _check_output(['qemu-img', 'info', '--output=json', 'box.img'])