Adding update of vagrant VM every time it is booted

This commit is contained in:
dragon788 2016-01-05 22:39:49 -06:00
parent ab7d6dca41
commit ee424f8608
2 changed files with 46 additions and 14 deletions

50
Vagrantfile vendored
View file

@ -2,8 +2,25 @@
# 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
# 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
# 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 # 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
@ -21,25 +38,32 @@ Vagrant.configure(2) do |config|
config.vm.provider "vmware" do |vmw| config.vm.provider "vmware" 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
# 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 # 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 # add a # before ,args: and run 'vagrant up' to get a working
# non-updated box and then attempt to troubleshoot after it has started # non-updated box and then attempt to troubleshoot or open a Github issue
#
config.vm.provision "shell", run: "always", inline: <<-SHELL
sudo pacman -Syu --needed --noconfirm
SHELL
# Allow user to speed up package installs using powerpill/wget tweaks config.vm.provision "shell", run: "always", path: "avr_setup.sh", args: "-update"
# 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", path: "avr_setup.sh" 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.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.""" 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
"""
end end

View file

@ -6,18 +6,26 @@
if [[ -n "$(type -P pacman )" ]]; then if [[ -n "$(type -P pacman )" ]]; then
# Arch linux and derivatives like Apricity # 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 elif [[ -n "$(type -P apt-get)" ]]; then
# Debian and derivatives # 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 apt-get install -y build-essential gcc unzip wget zip gcc-avr binutils-avr avr-libc
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 install gcc glibc-headers kernel-devel kernel-headers make perl git wget yum -y install gcc glibc-headers kernel-devel kernel-headers make perl git wget
elif [[ -n "$(type -P zypper)" ]]; then elif [[ -n "$(type -P zypper)" ]]; then
# openSUSE # openSUSE
zypper refresh --non-interactive && zypper update --non-interactive
zypper --non-interactive install git make gcc kernel-devel patch wget zypper --non-interactive install git make gcc kernel-devel patch wget
fi fi