app-emulation/vagrant: improve ruby version discovery.
authorTomas Mozes <hydrapolic@gmail.com>
Thu, 30 Nov 2017 06:55:54 +0000 (07:55 +0100)
committerPatrice Clement <monsieurp@gentoo.org>
Tue, 12 Dec 2017 20:34:53 +0000 (21:34 +0100)
Package-Manager: Portage-2.3.16, Repoman-2.3.6
Closes: https://github.com/gentoo/gentoo/pull/6352

app-emulation/vagrant/files/vagrant.in-r1
app-emulation/vagrant/vagrant-2.0.1-r1.ebuild [moved from app-emulation/vagrant/vagrant-2.0.1.ebuild with 100% similarity]

index 7c0405e8a835fc2735c9e03a905f9ebd43047033..134cb31f299c2294330b97e8435b0a825c6352a6 100644 (file)
@@ -5,16 +5,27 @@
 # so that everything loads and compiles to proper directories.
 
 for r in ruby24 ruby23 ruby22; do
+  # not all ruby versions are guaranteed to be installed
+  if ! command -v "${r}" >/dev/null 2>&1; then
+    continue
+  fi
+
   VAGRANT_DIR="$( "${r}" -e 'print Gem::default_path[-1] + "/gems/vagrant-@VAGRANT_VERSION@"' )"
+
   # Export the VAGRANT_EXECUTABLE so that pre-rubygems can optimize a bit
   export VAGRANT_EXECUTABLE="${VAGRANT_DIR}/bin/vagrant"
-  "${r}" "${VAGRANT_EXECUTABLE}" "version" &> /dev/null
-  if [ $? -eq 0 ]; then
+
+  if [ -f ${VAGRANT_EXECUTABLE} ] ;then
     ruby="${r}"
     break
   fi
 done
 
+if [ -z ${ruby} ]; then
+  echo "Error: failed to find any usable ruby"
+  exit 1
+fi
+
 # Export GEM_HOME based on VAGRANT_HOME
 #
 # This needs to be set because Bundler includes gem paths