Adding update of vagrant VM every time it is booted

master
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 :
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.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

View File

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