~ruther/qmk_firmware

ee424f86081c538fc74c3e9b50c7b1eb595b6e58 — dragon788 9 years ago ab7d6dc
Adding update of vagrant VM every time it is booted
2 files changed, 46 insertions(+), 14 deletions(-)

M Vagrantfile
M avr_setup.sh
M Vagrantfile => Vagrantfile +37 -13
@@ 2,8 2,25 @@
# vi: set ft=ruby :

Vagrant.configure(2) do |config|
  # 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
  config.vm.box = "dragon788/arch-ala-elasticdog"

  # VMware/Virtualbox 64 bit
  # config.vm.box = "phusion/ubuntu-14.04-amd64"
  #
  # VMware/Virtualbox 64 bit
  # config.vm.box = "puphpet/centos65-x64"
  #
  # VMware/Virtualbox 64 bit
  # config.vm.box = "bento/opensuse-13.2-x86_64"
  #
  # Virtualbox only
  # config.vm.box = "bento/opensuse-13.2-i386"
  # config.vm.box = ""
  # config.vm.box = ""

  # This section allows you to customize the Virtualbox VM
  # settings, ie showing the GUI or upping the memory
  # or cores if desired


@@ 21,25 38,32 @@ Vagrant.configure(2) do |config|
  config.vm.provider "vmware" do |vmw|
    # Hide the VMware GUI when booting the machine
    vmw.gui = false
  
 
    # Customize the amount of memory on the VM:
    vmw.memory = "512"
  end

  # This ensures the system always gets the latest updates when powered on
  # This script ensures the required packages for AVR programming are installed
  # It also ensures the system always gets the latest updates when powered on
  # If this causes issues you can run a 'vagrant destroy' and then
  # comment out these three lines and run 'vagrant up' to get a working
  # non-updated box and then attempt to troubleshoot after it has started
  #
  config.vm.provision "shell", run: "always", inline: <<-SHELL
    sudo pacman -Syu --needed --noconfirm
  SHELL
  # add a # before ,args: and run 'vagrant up' to get a working
  # non-updated box and then attempt to troubleshoot or open a Github issue 
  
  # Allow user to speed up package installs using powerpill/wget tweaks
  # Always run the pacman mirror update script if possible when vagrant comes up
  # This will ensure that users never get stalled on a horribly slow mirror
  config.vm.provision "shell", run: "always", path: "avr_setup.sh", args: "-update"

  config.vm.post_up_message = """
  Log into the VM using 'vagrant ssh' on OSX or from Git Bash (Win)
  or 'vagrant ssh-config' and Putty or another SSH tool

  config.vm.provision "shell", path: "avr_setup.sh"
  Change directory to the keyboard you wish to program 
  optionally and modify your layout, 
  then run 'make clean' 
  and then 'make' to compile the .eep and .hex files.

  Or you can copy and paste the line below. 
 
  cd /vagrant; cd keyboard; cd ergodox_ez; make clean; make
  

  config.vm.post_up_message = """Change directory to the keyboard you wish to program and modify your layout, then run 'make clean' and 'make' to compile the .eep and .hex files."""
  """
end

M avr_setup.sh => avr_setup.sh +9 -1
@@ 6,18 6,26 @@

if [[ -n "$(type -P pacman )" ]]; then
  # Arch linux and derivatives like Apricity
  pacman -S --needed --noconfirm base-devel avr-gcc avr-binutils avr-libc dfu-utils
  # Future improvements:
  # Allow user to speed up package installs using powerpill/wget tweaks
  # Always run the pacman mirror update script if possible when vagrant comes up
  # This will ensure that users never get stalled on a horribly slow mirror
  pacman -Syyu --needed --noconfirm
  pacman -S --needed --noconfirm base-devel avr-gcc avr-binutils avr-libc dfu-util

elif [[ -n "$(type -P apt-get)" ]]; then
  # Debian and derivatives
  apt-get update -y && apt-get upgrade -y
  apt-get install -y build-essential gcc unzip wget zip gcc-avr binutils-avr avr-libc
  
elif [[ -n "$(type -P yum)" ]]; then
  # Fedora, CentOS or RHEL and derivatives
  yum -y makecache && yum -y update
  yum -y install gcc glibc-headers kernel-devel kernel-headers make perl git wget

elif [[ -n "$(type -P zypper)" ]]; then
  # openSUSE
  zypper refresh --non-interactive && zypper update --non-interactive
  zypper --non-interactive install git make gcc kernel-devel patch wget

fi