|
![](https://seccdn.libravatar.org/avatar/59e35038ac0dbcac8d2848a9b5922bf8429693e8c63f4b35946472da5c0a055a?s=16&d=retro) |
b2a86b6 |
#!/usr/bin/bash
|
|
![](https://seccdn.libravatar.org/avatar/67dcb52d090d3f48b3ba686b9a50c61a39be8db5d9b8e4102b2aed8a2dc22109?s=16&d=retro) |
188ee79 |
#
|
|
![](https://seccdn.libravatar.org/avatar/67dcb52d090d3f48b3ba686b9a50c61a39be8db5d9b8e4102b2aed8a2dc22109?s=16&d=retro) |
188ee79 |
# This is a wrapper to properly execute Vagrant within the embedded
|
|
![](https://seccdn.libravatar.org/avatar/59e35038ac0dbcac8d2848a9b5922bf8429693e8c63f4b35946472da5c0a055a?s=16&d=retro) |
9c727af |
# Vagrant installation directory. This sets up proper environment variables
|
|
![](https://seccdn.libravatar.org/avatar/67dcb52d090d3f48b3ba686b9a50c61a39be8db5d9b8e4102b2aed8a2dc22109?s=16&d=retro) |
188ee79 |
# so that everything loads and compiles to proper directories.
|
|
![](https://seccdn.libravatar.org/avatar/67dcb52d090d3f48b3ba686b9a50c61a39be8db5d9b8e4102b2aed8a2dc22109?s=16&d=retro) |
188ee79 |
|
|
![](https://seccdn.libravatar.org/avatar/59e35038ac0dbcac8d2848a9b5922bf8429693e8c63f4b35946472da5c0a055a?s=16&d=retro) |
dfbe70f |
# Load defaults, especially VAGRANT_PREFERRED_PROVIDERS
|
|
![](https://seccdn.libravatar.org/avatar/59e35038ac0dbcac8d2848a9b5922bf8429693e8c63f4b35946472da5c0a055a?s=16&d=retro) |
dfbe70f |
if [ -r /etc/default/vagrant ]; then
|
|
![](https://seccdn.libravatar.org/avatar/59e35038ac0dbcac8d2848a9b5922bf8429693e8c63f4b35946472da5c0a055a?s=16&d=retro) |
dfbe70f |
source /etc/default/vagrant
|
|
![](https://seccdn.libravatar.org/avatar/59e35038ac0dbcac8d2848a9b5922bf8429693e8c63f4b35946472da5c0a055a?s=16&d=retro) |
dfbe70f |
fi
|
|
![](https://seccdn.libravatar.org/avatar/59e35038ac0dbcac8d2848a9b5922bf8429693e8c63f4b35946472da5c0a055a?s=16&d=retro) |
dfbe70f |
|
|
![](https://seccdn.libravatar.org/avatar/67dcb52d090d3f48b3ba686b9a50c61a39be8db5d9b8e4102b2aed8a2dc22109?s=16&d=retro) |
188ee79 |
# Export gem paths so that we use the isolated gems.
|
|
![](https://seccdn.libravatar.org/avatar/59e35038ac0dbcac8d2848a9b5922bf8429693e8c63f4b35946472da5c0a055a?s=16&d=retro) |
9c727af |
# TODO: Should be replaced from .spec file.
|
|
![](https://seccdn.libravatar.org/avatar/67dcb52d090d3f48b3ba686b9a50c61a39be8db5d9b8e4102b2aed8a2dc22109?s=16&d=retro) |
854f8b4 |
# ruby -e "print Gem.path.join(':')"
|
|
Josef Stribny |
72a2b9d |
export GEM_PATH="/usr/share/gems:/usr/share/vagrant/gems"
|
|
Josef Stribny |
72a2b9d |
|
|
Josef Stribny |
72a2b9d |
# Export GEM_HOME based on VAGRANT_HOME
|
|
Josef Stribny |
72a2b9d |
#
|
|
Josef Stribny |
72a2b9d |
# This needs to be set because Bundler includes gem paths
|
|
Josef Stribny |
72a2b9d |
# from RubyGems' Gem.paths.
|
|
![](https://seccdn.libravatar.org/avatar/59e35038ac0dbcac8d2848a9b5922bf8429693e8c63f4b35946472da5c0a055a?s=16&d=retro) |
b2a86b6 |
VAGRANT_HOME=${VAGRANT_HOME:-~/.vagrant.d}
|
|
Josef Stribny |
72a2b9d |
export GEM_HOME="$VAGRANT_HOME/gems"
|
|
Josef Stribny |
72a2b9d |
|
|
![](https://seccdn.libravatar.org/avatar/67dcb52d090d3f48b3ba686b9a50c61a39be8db5d9b8e4102b2aed8a2dc22109?s=16&d=retro) |
188ee79 |
|
|
![](https://seccdn.libravatar.org/avatar/67dcb52d090d3f48b3ba686b9a50c61a39be8db5d9b8e4102b2aed8a2dc22109?s=16&d=retro) |
188ee79 |
# SSL certs
|
|
![](https://seccdn.libravatar.org/avatar/67dcb52d090d3f48b3ba686b9a50c61a39be8db5d9b8e4102b2aed8a2dc22109?s=16&d=retro) |
e37ffb0 |
export SSL_CERT_FILE="${SSL_CERT_FILE:-/etc/pki/tls/cert.pem}"
|
|
![](https://seccdn.libravatar.org/avatar/67dcb52d090d3f48b3ba686b9a50c61a39be8db5d9b8e4102b2aed8a2dc22109?s=16&d=retro) |
188ee79 |
|
|
![](https://seccdn.libravatar.org/avatar/59e35038ac0dbcac8d2848a9b5922bf8429693e8c63f4b35946472da5c0a055a?s=16&d=retro) |
9c727af |
# Export an enviroment variable to say we're in a Vagrant
|
|
![](https://seccdn.libravatar.org/avatar/67dcb52d090d3f48b3ba686b9a50c61a39be8db5d9b8e4102b2aed8a2dc22109?s=16&d=retro) |
188ee79 |
# installer created environment.
|
|
![](https://seccdn.libravatar.org/avatar/67dcb52d090d3f48b3ba686b9a50c61a39be8db5d9b8e4102b2aed8a2dc22109?s=16&d=retro) |
188ee79 |
export VAGRANT_INSTALLER_ENV=1
|
|
![](https://seccdn.libravatar.org/avatar/67dcb52d090d3f48b3ba686b9a50c61a39be8db5d9b8e4102b2aed8a2dc22109?s=16&d=retro) |
188ee79 |
# This is currently used only in Vagrant::Plugin::Manager.system_plugins_file
|
|
![](https://seccdn.libravatar.org/avatar/67dcb52d090d3f48b3ba686b9a50c61a39be8db5d9b8e4102b2aed8a2dc22109?s=16&d=retro) |
188ee79 |
# to locate plugins configuration file.
|
|
![](https://seccdn.libravatar.org/avatar/67dcb52d090d3f48b3ba686b9a50c61a39be8db5d9b8e4102b2aed8a2dc22109?s=16&d=retro) |
854f8b4 |
export VAGRANT_INSTALLER_EMBEDDED_DIR="@vagrant_embedded_dir@"
|
|
![](https://seccdn.libravatar.org/avatar/67dcb52d090d3f48b3ba686b9a50c61a39be8db5d9b8e4102b2aed8a2dc22109?s=16&d=retro) |
188ee79 |
export VAGRANT_INSTALLER_VERSION="2"
|
|
![](https://seccdn.libravatar.org/avatar/67dcb52d090d3f48b3ba686b9a50c61a39be8db5d9b8e4102b2aed8a2dc22109?s=16&d=retro) |
188ee79 |
|
|
![](https://seccdn.libravatar.org/avatar/67dcb52d090d3f48b3ba686b9a50c61a39be8db5d9b8e4102b2aed8a2dc22109?s=16&d=retro) |
188ee79 |
# Determine the OS that we're on, which is used in some later checks.
|
|
![](https://seccdn.libravatar.org/avatar/67dcb52d090d3f48b3ba686b9a50c61a39be8db5d9b8e4102b2aed8a2dc22109?s=16&d=retro) |
188ee79 |
# It is very important we do this _before_ setting the PATH below
|
|
![](https://seccdn.libravatar.org/avatar/67dcb52d090d3f48b3ba686b9a50c61a39be8db5d9b8e4102b2aed8a2dc22109?s=16&d=retro) |
188ee79 |
# because uname dependencies can conflict on some platforms.
|
|
![](https://seccdn.libravatar.org/avatar/67dcb52d090d3f48b3ba686b9a50c61a39be8db5d9b8e4102b2aed8a2dc22109?s=16&d=retro) |
188ee79 |
OS=$(uname -s 2>/dev/null)
|
|
![](https://seccdn.libravatar.org/avatar/67dcb52d090d3f48b3ba686b9a50c61a39be8db5d9b8e4102b2aed8a2dc22109?s=16&d=retro) |
188ee79 |
|
|
![](https://seccdn.libravatar.org/avatar/59e35038ac0dbcac8d2848a9b5922bf8429693e8c63f4b35946472da5c0a055a?s=16&d=retro) |
9c727af |
# Export the OS as an environment variable that Vagrant can access
|
|
![](https://seccdn.libravatar.org/avatar/67dcb52d090d3f48b3ba686b9a50c61a39be8db5d9b8e4102b2aed8a2dc22109?s=16&d=retro) |
188ee79 |
# so that it can behave better.
|
|
![](https://seccdn.libravatar.org/avatar/67dcb52d090d3f48b3ba686b9a50c61a39be8db5d9b8e4102b2aed8a2dc22109?s=16&d=retro) |
188ee79 |
export VAGRANT_DETECTED_OS="${OS}"
|
|
![](https://seccdn.libravatar.org/avatar/67dcb52d090d3f48b3ba686b9a50c61a39be8db5d9b8e4102b2aed8a2dc22109?s=16&d=retro) |
188ee79 |
|
|
![](https://seccdn.libravatar.org/avatar/67dcb52d090d3f48b3ba686b9a50c61a39be8db5d9b8e4102b2aed8a2dc22109?s=16&d=retro) |
188ee79 |
# Export the VAGRANT_EXECUTABLE so that pre-rubygems can optimize a bit
|
|
![](https://seccdn.libravatar.org/avatar/67dcb52d090d3f48b3ba686b9a50c61a39be8db5d9b8e4102b2aed8a2dc22109?s=16&d=retro) |
854f8b4 |
export VAGRANT_EXECUTABLE="${VAGRANT_INSTALLER_EMBEDDED_DIR}/gems/bin/vagrant"
|
|
![](https://seccdn.libravatar.org/avatar/67dcb52d090d3f48b3ba686b9a50c61a39be8db5d9b8e4102b2aed8a2dc22109?s=16&d=retro) |
188ee79 |
|
|
![](https://seccdn.libravatar.org/avatar/59e35038ac0dbcac8d2848a9b5922bf8429693e8c63f4b35946472da5c0a055a?s=16&d=retro) |
dfbe70f |
# Set providers' preferred order(priority) if not already set
|
|
![](https://seccdn.libravatar.org/avatar/59e35038ac0dbcac8d2848a9b5922bf8429693e8c63f4b35946472da5c0a055a?s=16&d=retro) |
dfbe70f |
if [ -z ${VAGRANT_PREFERRED_PROVIDERS+empty} ]; then
|
|
![](https://seccdn.libravatar.org/avatar/59e35038ac0dbcac8d2848a9b5922bf8429693e8c63f4b35946472da5c0a055a?s=16&d=retro) |
dfbe70f |
VAGRANT_PREFERRED_PROVIDERS=libvirt,docker
|
|
![](https://seccdn.libravatar.org/avatar/67dcb52d090d3f48b3ba686b9a50c61a39be8db5d9b8e4102b2aed8a2dc22109?s=16&d=retro) |
188ee79 |
fi
|
|
![](https://seccdn.libravatar.org/avatar/59e35038ac0dbcac8d2848a9b5922bf8429693e8c63f4b35946472da5c0a055a?s=16&d=retro) |
dfbe70f |
export VAGRANT_PREFERRED_PROVIDERS
|
|
![](https://seccdn.libravatar.org/avatar/67dcb52d090d3f48b3ba686b9a50c61a39be8db5d9b8e4102b2aed8a2dc22109?s=16&d=retro) |
188ee79 |
|
|
![](https://seccdn.libravatar.org/avatar/67dcb52d090d3f48b3ba686b9a50c61a39be8db5d9b8e4102b2aed8a2dc22109?s=16&d=retro) |
a2925fe |
# Disable Vagrant's built-in version check.
|
|
![](https://seccdn.libravatar.org/avatar/67dcb52d090d3f48b3ba686b9a50c61a39be8db5d9b8e4102b2aed8a2dc22109?s=16&d=retro) |
a2925fe |
export VAGRANT_CHECKPOINT_DISABLE=yes
|
|
![](https://seccdn.libravatar.org/avatar/67dcb52d090d3f48b3ba686b9a50c61a39be8db5d9b8e4102b2aed8a2dc22109?s=16&d=retro) |
a2925fe |
|
|
![](https://seccdn.libravatar.org/avatar/67dcb52d090d3f48b3ba686b9a50c61a39be8db5d9b8e4102b2aed8a2dc22109?s=16&d=retro) |
188ee79 |
# Call the actual Vagrant bin with our arguments
|
|
![](https://seccdn.libravatar.org/avatar/67dcb52d090d3f48b3ba686b9a50c61a39be8db5d9b8e4102b2aed8a2dc22109?s=16&d=retro) |
854f8b4 |
exec ruby "${VAGRANT_EXECUTABLE}" "$@"
|
|
![](https://seccdn.libravatar.org/avatar/67dcb52d090d3f48b3ba686b9a50c61a39be8db5d9b8e4102b2aed8a2dc22109?s=16&d=retro) |
188ee79 |
|