summaryrefslogtreecommitdiff
blob: d4db0deaefdaa58163413fa08ff9912c450d0b1c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
#!/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.6"' )"

# 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}" "$@"