46 lines
1.6 KiB
Bash
46 lines
1.6 KiB
Bash
#!/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}" "$@"
|