mirror of
				https://github.com/mfulz/qmk_firmware.git
				synced 2025-10-31 05:12:33 +01:00 
			
		
		
		
	Add support for vagrant-docker (#389)
* clean trailing ws in Vagrantfile and util/avr_setup.sh * replace triple quotes with heredoc. Ruby doesn't have triple quotes; that's a Python thing. This was just being parsed as multiple strings concatenated. * add docker support to Vagrantfile * make wants to find dfu-programmer in vagrant guest
This commit is contained in:
		
							parent
							
								
									6b8b332f77
								
							
						
					
					
						commit
						fd454e5b74
					
				
							
								
								
									
										186
									
								
								Vagrantfile
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										186
									
								
								Vagrantfile
									
									
									
									
										vendored
									
									
								
							| @ -1,88 +1,98 @@ | |||||||
| # -*- mode: ruby -*- | # -*- mode: ruby -*- | ||||||
| # vi: set ft=ruby : | # vi: set ft=ruby : | ||||||
| 
 | 
 | ||||||
| Vagrant.configure(2) do |config| | Vagrant.configure(2) do |config| | ||||||
|   # You can only have one config.vm.box uncommented at a time |   # You can only have one config.vm.box uncommented at a time | ||||||
| 
 | 
 | ||||||
|   # Comment this and uncomment another if you don't want to use the minimal Arch box |   # Comment this and uncomment another if you don't want to use the minimal Arch box | ||||||
|   config.vm.box = "dragon788/arch-ala-elasticdog" |   config.vm.box = "dragon788/arch-ala-elasticdog" | ||||||
| 
 | 
 | ||||||
|   # VMware/Virtualbox 64 bit |   # VMware/Virtualbox 64 bit | ||||||
|   # config.vm.box = "phusion/ubuntu-14.04-amd64" |   # config.vm.box = "phusion/ubuntu-14.04-amd64" | ||||||
|   # |   # | ||||||
|   # VMware/Virtualbox 64 bit |   # VMware/Virtualbox 64 bit | ||||||
|   #config.vm.box = "puphpet/centos65-x64" |   #config.vm.box = "puphpet/centos65-x64" | ||||||
|   # |   # | ||||||
|   # The opensuse boxes don't have dfu-util in their default repositories |   # The opensuse boxes don't have dfu-util in their default repositories | ||||||
|   # |   # | ||||||
|   # The virtualbox version has tools issues |   # The virtualbox version has tools issues | ||||||
|   # VMware/Virtualbox 64 bit |   # VMware/Virtualbox 64 bit | ||||||
|   #config.vm.box = "bento/opensuse-13.2-x86_64" |   #config.vm.box = "bento/opensuse-13.2-x86_64" | ||||||
|   # |   # | ||||||
|   # Virtualbox only |   # Virtualbox only | ||||||
|   #config.vm.box = "bento/opensuse-13.2-i386" |   #config.vm.box = "bento/opensuse-13.2-i386" | ||||||
|   # config.vm.box = "" |   # config.vm.box = "" | ||||||
|   # config.vm.box = "" |   # config.vm.box = "" | ||||||
| 
 | 
 | ||||||
|   # This section allows you to customize the Virtualbox VM |   # This section allows you to customize the Virtualbox VM | ||||||
|   # settings, ie showing the GUI or upping the memory |   # settings, ie showing the GUI or upping the memory | ||||||
|   # or cores if desired |   # or cores if desired | ||||||
|   config.vm.provider "virtualbox" do |vb| |   config.vm.provider "virtualbox" do |vb| | ||||||
|     # Hide the VirtualBox GUI when booting the machine |     # Hide the VirtualBox GUI when booting the machine | ||||||
|     vb.gui = false |     vb.gui = false | ||||||
|     # Uncomment the below lines if you want to program |     # Uncomment the below lines if you want to program | ||||||
|     # your Teensy via the VM rather than your host OS |     # your Teensy via the VM rather than your host OS | ||||||
|     #vb.customize ['modifyvm', :id, '--usb', 'on'] |     #vb.customize ['modifyvm', :id, '--usb', 'on'] | ||||||
|     #vb.customize ['usbfilter', 'add', '0', |     #vb.customize ['usbfilter', 'add', '0', | ||||||
|     #    	  '--target', :id, |     #    	  '--target', :id, | ||||||
|     #    	  '--name', 'teensy', |     #    	  '--name', 'teensy', | ||||||
|     #    	  '--vendorid', '0x16c0', |     #    	  '--vendorid', '0x16c0', | ||||||
|     #    	  '--productid','0x0478' |     #    	  '--productid','0x0478' | ||||||
|     #		 ]  |     #		 ] | ||||||
|     # Customize the amount of memory on the VM: |     # Customize the amount of memory on the VM: | ||||||
|     vb.memory = "512" |     vb.memory = "512" | ||||||
|   end |   end | ||||||
| 
 | 
 | ||||||
|   # This section allows you to customize the VMware VM |   # This section allows you to customize the VMware VM | ||||||
|   # settings, ie showing the GUI or upping the memory |   # settings, ie showing the GUI or upping the memory | ||||||
|   # or cores if desired |   # or cores if desired | ||||||
|   config.vm.provider "vmware_workstation" do |vmw| |   config.vm.provider "vmware_workstation" do |vmw| | ||||||
|     # Hide the VMware GUI when booting the machine |     # Hide the VMware GUI when booting the machine | ||||||
|     vmw.gui = false  |     vmw.gui = false | ||||||
|   | 
 | ||||||
|     # Customize the amount of memory on the VM: |     # Customize the amount of memory on the VM: | ||||||
|     vmw.memory = "512" |     vmw.memory = "512" | ||||||
|   end |   end | ||||||
| 
 | 
 | ||||||
|   config.vm.provider "vmware_fusion" do |vmf| |   config.vm.provider "vmware_fusion" do |vmf| | ||||||
|     # Hide the vmfare GUI when booting the machine |     # Hide the vmfare GUI when booting the machine | ||||||
|     vmf.gui = false |     vmf.gui = false | ||||||
|   | 
 | ||||||
|     # Customize the amount of memory on the VM: |     # Customize the amount of memory on the VM: | ||||||
|     vmf.memory = "512" |     vmf.memory = "512" | ||||||
|   end |   end | ||||||
|    | 
 | ||||||
|   # This script ensures the required packages for AVR programming are installed |   # Docker provider pulls from hub.docker.com respecting docker.image if | ||||||
|   # It also ensures the system always gets the latest updates when powered on |   # config.vm.box is nil. Note that this bind-mounts from the current dir to | ||||||
|   # If this causes issues you can run a 'vagrant destroy' and then |   # /vagrant in the guest, so unless your UID is 1000 to match vagrant in the | ||||||
|   # add a # before ,args: and run 'vagrant up' to get a working |   # image, you'll need to: chmod -R a+rw . | ||||||
|   # non-updated box and then attempt to troubleshoot or open a Github issue  |   config.vm.provider "docker" do |docker, override| | ||||||
|    |     override.vm.box = nil | ||||||
|   config.vm.provision "shell", run: "always", path: "./util/avr_setup.sh", args: "-update" |     docker.image = "jesselang/debian-vagrant:jessie" | ||||||
| 
 |     docker.has_ssh = true | ||||||
|   config.vm.post_up_message = """ |   end | ||||||
|   Log into the VM using 'vagrant ssh' on OSX or from Git Bash (Win) | 
 | ||||||
|   or 'vagrant ssh-config' and Putty or Bitvise SSH or another SSH tool |   # This script ensures the required packages for AVR programming are installed | ||||||
| 
 |   # It also ensures the system always gets the latest updates when powered on | ||||||
|   Change directory (cd) to the keyboard you wish to program  |   # If this causes issues you can run a 'vagrant destroy' and then | ||||||
|   (Optionally) modify your layout,  |   # add a # before ,args: and run 'vagrant up' to get a working | ||||||
|   then run 'make clean'  |   # non-updated box and then attempt to troubleshoot or open a Github issue | ||||||
|   and then 'make' to compile the .eep and .hex files. | 
 | ||||||
| 
 |   config.vm.provision "shell", run: "always", path: "./util/avr_setup.sh", args: "-update" | ||||||
|   Or you can copy and paste the example line below.  | 
 | ||||||
|   |   config.vm.post_up_message = <<-EOT | ||||||
|   cd /vagrant; cd keyboard; cd ergodox_ez; make clean; make |   Log into the VM using 'vagrant ssh' on OSX or from Git Bash (Win) | ||||||
|    |   or 'vagrant ssh-config' and Putty or Bitvise SSH or another SSH tool | ||||||
| 
 | 
 | ||||||
|   """ |   Change directory (cd) to the keyboard you wish to program | ||||||
| end |   (Optionally) modify your layout, | ||||||
|  |   then run 'make clean' | ||||||
|  |   and then 'make' to compile the .eep and .hex files. | ||||||
|  | 
 | ||||||
|  |   Or you can copy and paste the example line below. | ||||||
|  | 
 | ||||||
|  |   cd /vagrant; cd keyboard; cd ergodox_ez; make clean; make | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |   EOT | ||||||
|  | end | ||||||
|  | |||||||
| @ -38,8 +38,9 @@ elif [[ -n "$(type -P apt-get)" ]]; then | |||||||
|     gcc-avr \ |     gcc-avr \ | ||||||
|     binutils-avr \ |     binutils-avr \ | ||||||
|     avr-libc \ |     avr-libc \ | ||||||
|  |     dfu-programmer \ | ||||||
|     dfu-util |     dfu-util | ||||||
|    | 
 | ||||||
| elif [[ -n "$(type -P yum)" ]]; then | elif [[ -n "$(type -P yum)" ]]; then | ||||||
|   # Fedora, CentOS or RHEL and derivatives |   # Fedora, CentOS or RHEL and derivatives | ||||||
|   yum -y makecache && yum -y update |   yum -y makecache && yum -y update | ||||||
| @ -55,6 +56,7 @@ elif [[ -n "$(type -P yum)" ]]; then | |||||||
|     avr-binutils \ |     avr-binutils \ | ||||||
|     avr-gcc \ |     avr-gcc \ | ||||||
|     avr-libc \ |     avr-libc \ | ||||||
|  |     dfu-programmer \ | ||||||
|     dfu-util |     dfu-util | ||||||
| 
 | 
 | ||||||
| elif [[ -n "$(type -P zypper)" ]]; then | elif [[ -n "$(type -P zypper)" ]]; then | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Aron Griffis
						Aron Griffis