diff --git a/docs/fdroid.texi b/docs/fdroid.texi index e57b4a12..96545d73 100644 --- a/docs/fdroid.texi +++ b/docs/fdroid.texi @@ -117,7 +117,7 @@ VirtualBox (debian package virtualbox) @item Ruby (debian packages ruby and rubygems) @item -Vagrant (unpackaged, tested on v1.4.3) +Vagrant (debian package vagrant - 1.4.x or higher required) @item vagrant-cachier plugin (unpackaged): `vagrant plugin install vagrant-cachier` @item diff --git a/fdroidserver/build.py b/fdroidserver/build.py index 463e6057..021e1041 100644 --- a/fdroidserver/build.py +++ b/fdroidserver/build.py @@ -178,16 +178,15 @@ def get_clean_vm(reset=False): p = subprocess.Popen(['vagrant', '--version'], stdout=subprocess.PIPE) - vver = p.communicate()[0] + vver = p.communicate()[0].strip().split(' ')[1] + if vver.split('.')[0] != '1' or int(vver.split('.')[1]) < 4: + raise BuildException("Unsupported vagrant version {0}".format(vver)) + with open(os.path.join('builder', 'Vagrantfile'), 'w') as vf: - if vver.startswith('Vagrant version 1.2'): - vf.write('Vagrant.configure("2") do |config|\n') - vf.write('config.vm.box = "buildserver"\n') - vf.write('end\n') - else: - vf.write('Vagrant::Config.run do |config|\n') - vf.write('config.vm.box = "buildserver"\n') - vf.write('end\n') + vf.write('Vagrant.configure("2") do |config|\n') + vf.write('config.vm.box = "buildserver"\n') + vf.write('config.vm.synced_folder ".", "/vagrant", disabled: true\n') + vf.write('end\n') logging.info("Starting new build server") retcode, _ = vagrant(['up'], cwd='builder')