From ddcab79817428bd5378a6b70062a576fad113833 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michael=20P=C3=B6hn?= Date: Fri, 16 Nov 2018 16:53:01 +0100 Subject: [PATCH] fix .vagrant directory based vm provider lookup --- fdroidserver/vmtools.py | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/fdroidserver/vmtools.py b/fdroidserver/vmtools.py index 657d9086..6456accb 100644 --- a/fdroidserver/vmtools.py +++ b/fdroidserver/vmtools.py @@ -135,10 +135,14 @@ def get_build_vm(srvdir, provider=None): logging.debug('could not confirm that either virtualbox or kvm/libvirt are installed') # try guessing provider from .../srvdir/.vagrant internals - has_libvirt_machine = isdir(os.path.join(abssrvdir, '.vagrant', - 'machines', 'default', 'libvirt')) - has_vbox_machine = isdir(os.path.join(abssrvdir, '.vagrant', - 'machines', 'default', 'virtualbox')) + vagrant_libvirt_path = os.path.join(abssrvdir, '.vagrant', 'machines', + 'default', 'libvirt') + has_libvirt_machine = isdir(vagrant_libvirt_path) \ + and len(os.listdir(vagrant_libvirt_path)) > 0 + vagrant_virtualbox_path = os.path.join(abssrvdir, '.vagrant', 'machines', + 'default', 'virtualbox') + has_vbox_machine = isdir(vagrant_virtualbox_path) \ + and len(os.listdir(vagrant_virtualbox_path)) > 0 if has_libvirt_machine and has_vbox_machine: logging.info('build vm provider lookup found virtualbox and libvirt, defaulting to \'virtualbox\'') return VirtualboxBuildVm(abssrvdir)