浏览代码

Adding update of vagrant VM every time it is booted

dragon788 9 年之前
父节点
当前提交
ee424f8608
共有 2 个文件被更改,包括 46 次插入14 次删除
  1. 37 13
      Vagrantfile
  2. 9 1
      avr_setup.sh

+ 37 - 13
Vagrantfile

@@ -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

+ 9 - 1
avr_setup.sh

@@ -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