]> git.openstreetmap.org Git - nominatim.git/blobdiff - Vagrantfile
Merge pull request #3525 from lonvia/project-dir-less-library
[nominatim.git] / Vagrantfile
index dff597d69daf56d9541ab914fb80079245cf7133..99aa84491159c81b0f3a588267652caa4ccc8d6d 100644 (file)
@@ -12,83 +12,99 @@ Vagrant.configure("2") do |config|
   # Never sync the current directory to /vagrant.
   config.vm.synced_folder ".", "/vagrant", disabled: true
 
-
   checkout = "yes"
+  if ENV['CHECKOUT'] != 'y' then
+    checkout = "no"
+  end
+
+  config.vm.provider "hyperv" do |hv, override|
+    hv.memory = 2048
+    hv.linked_clone = true
+    if ENV['CHECKOUT'] != 'y' then
+      override.vm.synced_folder ".", "/home/vagrant/Nominatim", type: "smb", smb_host: ENV['SMB_HOST'] || ENV['COMPUTERNAME']
+    end
+  end
 
-  config.vm.provider "virtualbox" do |vb|
+  config.vm.provider "virtualbox" do |vb, override|
     vb.gui = false
     vb.memory = 2048
     vb.customize ["setextradata", :id, "VBoxInternal2/SharedFoldersEnableSymlinksCreate//vagrant","0"]
     if ENV['CHECKOUT'] != 'y' then
-      config.vm.synced_folder ".", "/home/vagrant/Nominatim"
-      checkout = "no"
+      override.vm.synced_folder ".", "/home/vagrant/Nominatim"
     end
   end
 
-  config.vm.provider "libvirt" do |lv|
+  config.vm.provider "parallels" do |prl, override|
+    prl.update_guest_tools = false
+    prl.memory = 2048
+    if ENV['CHECKOUT'] != 'y' then
+      override.vm.synced_folder ".", "/home/vagrant/Nominatim"
+    end
+  end
+
+  config.vm.provider "libvirt" do |lv, override|
     lv.memory = 2048
     lv.nested = true
     if ENV['CHECKOUT'] != 'y' then
-      config.vm.synced_folder ".", "/home/vagrant/Nominatim", type: 'nfs'
-      checkout = "no"
+      override.vm.synced_folder ".", "/home/vagrant/Nominatim", type: 'nfs', nfs_udp: false
     end
   end
 
-  config.vm.define "ubuntu", primary: true do |sub|
-      sub.vm.box = "generic/ubuntu2004"
+  config.vm.define "ubuntu22", primary: true do |sub|
+      sub.vm.box = "generic/ubuntu2204"
       sub.vm.provision :shell do |s|
-        s.path = "vagrant/Install-on-Ubuntu-20.sh"
+        s.path = "vagrant/Install-on-Ubuntu-22.sh"
         s.privileged = false
         s.args = [checkout]
       end
   end
 
-  config.vm.define "ubuntu18" do |sub|
-      sub.vm.box = "generic/ubuntu1804"
+  config.vm.define "ubuntu22-apache" do |sub|
+      sub.vm.box = "generic/ubuntu2204"
       sub.vm.provision :shell do |s|
-        s.path = "vagrant/Install-on-Ubuntu-18.sh"
+        s.path = "vagrant/Install-on-Ubuntu-22.sh"
         s.privileged = false
-        s.args = [checkout]
+        s.args = [checkout, "install-apache"]
       end
   end
 
-  config.vm.define "ubuntu18-apache" do |sub|
-      sub.vm.box = "generic/ubuntu1804"
+  config.vm.define "ubuntu22-nginx" do |sub|
+      sub.vm.box = "generic/ubuntu2204"
       sub.vm.provision :shell do |s|
-        s.path = "vagrant/Install-on-Ubuntu-18.sh"
+        s.path = "vagrant/Install-on-Ubuntu-22.sh"
         s.privileged = false
-        s.args = [checkout, "install-apache"]
+        s.args = [checkout, "install-nginx"]
       end
   end
 
-  config.vm.define "ubuntu18-nginx" do |sub|
-      sub.vm.box = "generic/ubuntu1804"
+  config.vm.define "ubuntu24" do |sub|
+      sub.vm.box = "bento/ubuntu-24.04"
+      if RUBY_PLATFORM.include?('darwin') && RUBY_PLATFORM.include?('arm64')
+        # Apple M processor
+        sub.vm.box = 'gutehall/ubuntu24-04'
+      end
       sub.vm.provision :shell do |s|
-        s.path = "vagrant/Install-on-Ubuntu-18.sh"
+        s.path = "vagrant/Install-on-Ubuntu-24.sh"
         s.privileged = false
-        s.args = [checkout, "install-nginx"]
+        s.args = [checkout]
       end
   end
 
-  config.vm.define "centos" do |sub|
-      sub.vm.box = "centos/7"
+  config.vm.define "ubuntu24-apache" do |sub|
+      sub.vm.box = "bento/ubuntu-24.04"
       sub.vm.provision :shell do |s|
-        s.path = "vagrant/Install-on-Centos-7.sh"
+        s.path = "vagrant/Install-on-Ubuntu-24.sh"
         s.privileged = false
-        s.args = "yes"
+        s.args = [checkout, "install-apache"]
       end
-      sub.vm.synced_folder ".", "/home/vagrant/Nominatim", disabled: true
   end
 
-  config.vm.define "centos8" do |sub|
-      sub.vm.box = "generic/centos8"
+  config.vm.define "ubuntu24-nginx" do |sub|
+      sub.vm.box = "bento/ubuntu-24.04"
       sub.vm.provision :shell do |s|
-        s.path = "vagrant/Install-on-Centos-8.sh"
+        s.path = "vagrant/Install-on-Ubuntu-24.sh"
         s.privileged = false
-        s.args = "yes"
+        s.args = [checkout, "install-nginx"]
       end
-      sub.vm.synced_folder ".", "/home/vagrant/Nominatim", disabled: true
   end
-
-
 end