#!/usr/bin/env bash # # This is a wrapper to properly execute Vagrant within the embedded # Vagrant installation directory. This sets up proper environmental variables # so that everything loads and compiles to proper directories. VAGRANT_DIR="$( ruby -e 'print Gem::default_path[-1] + "/gems/vagrant-1.8.5"' )" # Export GEM_HOME based on VAGRANT_HOME # # This needs to be set because Bundler includes gem paths # from RubyGems' Gem.paths. if [ -z $VAGRANT_HOME ]; then VAGRANT_HOME=$(eval echo "~/.vagrant.d") fi export GEM_HOME="$VAGRANT_HOME/gems" # SSL certs export SSL_CERT_FILE="/etc/ssl/certs/ca-certificates.crt" # Export an environmental variable to say we're in a Vagrant # installer created environment. export VAGRANT_INSTALLER_ENV=1 # This is currently used only in Vagrant::Plugin::Manager.system_plugins_file # to locate plugins configuration file. export VAGRANT_INSTALLER_EMBEDDED_DIR="/var/lib/vagrant" export VAGRANT_INSTALLER_VERSION="2" # Determine the OS that we're on, which is used in some later checks. # It is very important we do this _before_ setting the PATH below # because uname dependencies can conflict on some platforms. OS=$(uname -s 2>/dev/null) # Export the OS as an environmental variable that Vagrant can access # so that it can behave better. export VAGRANT_DETECTED_OS="${OS}" VAGRANT_EXECUTABLE="${VAGRANT_DIR}/bin/vagrant" VAGRANT_LAUNCHER="${VAGRANT_DIR}/lib/vagrant/pre-rubygems.rb" # Export the VAGRANT_EXECUTABLE so that pre-rubygems can optimize a bit export VAGRANT_EXECUTABLE # Call the actual Vagrant bin with our arguments exec ruby "${VAGRANT_LAUNCHER}" "$@"