scripts/manage in rvm-1.0.6 vs scripts/manage in rvm-1.0.7
- old
+ new
@@ -1,16 +1,16 @@
#!/usr/bin/env bash
original_ruby_version=${rvm_ruby_version:-""}
original_ruby_string=${rvm_ruby_string:-""}
-source "$rvm_scripts_path/base"
-source "$rvm_scripts_path/patches"
+source "$rvm_path/scripts/base"
+source "$rvm_path/scripts/patches"
__rvm_check_for_clang() {
if [[ -n "${rvm_clang_flag:-""}" ]] && ! command -v clang >/dev/null ; then
- "$rvm_scripts_path/log" "fail" "\nYou passed the --clang option and clang is not in your path. \nPlease try again or do not use --clang.\n"
+ "$rvm_path/scripts/log" "fail" "\nYou passed the --clang option and clang is not in your path. \nPlease try again or do not use --clang.\n"
return 1
fi
}
# Checks for bison, returns zero iff it is found
@@ -19,11 +19,11 @@
if [[ ${rvm_head_flag:-0} -gt 0 ]]; then
command -v bison > /dev/null
result=$?
if [[ $? -gt 0 ]] ; then
- "$rvm_scripts_path/log" "fail" \
+ "$rvm_path/scripts/log" "fail" \
"\nbison is not available in your path. \nPlease ensure bison is installed before compiling from head.\n"
fi
fi
return $result
@@ -93,11 +93,11 @@
[[ $? -gt 0 ]] && result=1 # Detect failed patches
fi
else
- "$rvm_scripts_path/log" "warn" \
+ "$rvm_path/scripts/log" "warn" \
"Patch '$patch_name' not found."
result=1
fi
done
)
@@ -113,11 +113,11 @@
case ${rvm_ruby_string:-""} in
*-head) __rvm_ensure_has_18_compat_ruby || return 1 ;;
esac
- "$rvm_scripts_path/log" "info" "\nInstalling Ruby from source to: $rvm_ruby_home, this may take a while depending on your cpu(s)...\n"
+ "$rvm_path/scripts/log" "info" "\nInstalling Ruby from source to: $rvm_ruby_home, this may take a while depending on your cpu(s)...\n"
builtin cd "$rvm_src_path"
if [[ ${rvm_force_flag:-0} -eq 1 ]] ; then
@@ -134,20 +134,20 @@
__rvm_fetch_ruby
result=$?
if [[ "$result" -gt 0 ]] ; then
- "$rvm_scripts_path/log" "error" \
- "There has been an error fetching the ruby interpreter. Aborting the installation."
+ "$rvm_path/scripts/log" "error" \
+ "There has been an error fetching the ruby interpreter. Halting the installation."
return $result
fi
builtin cd "$rvm_ruby_src_path"
result=$? ; if [[ "$result" -gt 0 ]] ; then
- "$rvm_scripts_path/log" "error" \
- "Source directory is missing. Did the download or extraction fail? Aborting the installation."
+ "$rvm_path/scripts/log" "error" \
+ "Source directory is missing. Did the download or extraction fail? Halting the installation."
return $result
fi
if [[ -d "${rvm_path}/usr" ]] ; then
export PATH="${rvm_path}/usr/bin:${PATH}"
@@ -157,23 +157,23 @@
__rvm_apply_patches
result="$?"
if [[ "$result" -gt 0 ]]; then
- "$rvm_scripts_path/log" "fail" \
- "There has been an error applying the specified patches. Aborting the installation."
+ "$rvm_path/scripts/log" "fail" \
+ "There has been an error applying the specified patches. Halting the installation."
return $result
fi
if [[ -z "${rvm_ruby_configure:-""}" && ! -s "$rvm_ruby_src_path/configure" ]] ; then
if command -v autoconf > /dev/null ; then
__rvm_run "autoconf" "autoconf" "Running autoconf"
else
- "$rvm_scripts_path/log" "fail" \
+ "$rvm_path/scripts/log" "fail" \
"rvm requires autoconf to install the selected ruby interpreter however autoconf was not found in the PATH."
return 1
fi
fi
@@ -181,12 +181,12 @@
__rvm_run "configure" "$rvm_ruby_configure"
result=$?
if [[ "$result" -gt 0 ]] ; then
- "$rvm_scripts_path/log" "error" \
- "There has been an error while configuring. Aborting the installation."
+ "$rvm_path/scripts/log" "error" \
+ "There has been an error while configuring. Halting the installation."
return $result
fi
elif [[ -s ./configure ]] ; then
@@ -206,47 +206,47 @@
fi
fi
local configure_command="./configure --prefix=$rvm_ruby_home ${db_configure_flags:-""} ${rvm_configure_flags:-""} ${configure_parameters:-""}"
- __rvm_run "configure" "$configure_command" "#configuring $rvm_ruby_string"
+ __rvm_run "configure" "$configure_command" "$rvm_ruby_string - #configuring "
result=$?
if [[ "$result" -gt 0 ]] ; then
- "$rvm_scripts_path/log" "error" \
- "There has been an error while running configure. Aborting the installation."
+ "$rvm_path/scripts/log" "error" \
+ "There has been an error while running configure. Halting the installation."
return $result
fi
else
- "$rvm_scripts_path/log" "error" \
+ "$rvm_path/scripts/log" "error" \
"Skipping configure step, 'configure' does not exist, did autoconf not run successfully?"
fi
rvm_ruby_make=${rvm_ruby_make:-"make"}
- __rvm_run "make" "$rvm_ruby_make ${rvm_make_flags:-""}" "#compiling $rvm_ruby_string"
+ __rvm_run "make" "$rvm_ruby_make ${rvm_make_flags:-""}" "$rvm_ruby_string - #compiling "
result=$?
if [[ "$result" -gt 0 ]] ; then
- "$rvm_scripts_path/log" "error" \
- "There has been an error while running make. Aborting the installation."
+ "$rvm_path/scripts/log" "error" \
+ "There has been an error while running make. Halting the installation."
return $result
fi
if [[ -d .ext/rdoc ]] ; then
rm -rf .ext/rdoc
fi
rvm_ruby_make_install=${rvm_ruby_make_install:-"make install"}
- __rvm_run "install" "$rvm_ruby_make_install" "#installing $rvm_ruby_string"
+ __rvm_run "install" "$rvm_ruby_make_install" "$rvm_ruby_string - #installing "
result=$?
if [[ "$result" -gt 0 ]] ; then
- "$rvm_scripts_path/log" "error" \
- "There has been an error while running make install. Aborting the installation."
+ "$rvm_path/scripts/log" "error" \
+ "There has been an error while running make install. Halting the installation."
return $result
fi
export GEM_HOME="$rvm_ruby_gem_home"
export GEM_PATH="$rvm_ruby_gem_path"
@@ -258,12 +258,12 @@
__rvm_run "chmod.bin" "chmod +x $rvm_ruby_home/bin/*"
__rvm_post_install
- "$rvm_scripts_path/log" "info" \
- "#complete install of $rvm_ruby_string"
+ "$rvm_path/scripts/log" "info" \
+ "Install of $rvm_ruby_string - #complete "
return 0
}
__rvm_install_ruby() {
@@ -286,11 +286,11 @@
if [[ "Darwin" = "$(uname)" ]] ; then
if [[ "$rvm_head_flag" = 1 ]] ; then
if [[ -n "$rvm_llvm_flag" ]] ; then
- "$rvm_scripts_path/package" llvm install
+ "$rvm_path/scripts/package" llvm install
fi
macruby_path="/usr/local/bin"
# TODO: configure & make variables should be set here.
rvm_ruby_configure=" true "
@@ -303,27 +303,27 @@
__rvm_install_source $*
result=$?
if [[ "$result" -gt 0 ]] ; then
- "$rvm_scripts_path/log" "error" \
- "There has been an error while trying to install from source. Aborting the installation."
+ "$rvm_path/scripts/log" "error" \
+ "There has been an error while trying to install from source. Halting the installation."
return $result
fi
elif [[ "nightly" = "$rvm_ruby_version" ]] ; then
macruby_path="/Library/Frameworks/MacRuby.framework/Versions/0.6/usr/bin"
# TODO: Separated nightly from head.
- "$rvm_scripts_path/log" "info" "Retrieving the latest nightly macruby build..."
+ "$rvm_path/scripts/log" "info" "Retrieving the latest nightly macruby build..."
- "$rvm_scripts_path/fetch" "$rvm_ruby_url"
+ "$rvm_path/scripts/fetch" "$rvm_ruby_url"
result=$?
if [[ "$result" -gt 0 ]] ; then
- "$rvm_scripts_path/log" "error" \
- "There has been an error while trying to fetch the source. Aborting the installation."
+ "$rvm_path/scripts/log" "error" \
+ "There has been an error while trying to fetch the source. Halting the installation."
return $result
fi
mv "$rvm_archives_path/macruby_nightly-latest.pkg" "$rvm_archives_path/macruby_nightly.pkg"
@@ -333,19 +333,19 @@
else
macruby_path="/Library/Frameworks/MacRuby.framework/Versions/${rvm_ruby_version}/usr/bin"
# TODO: Separated nightly from head.
- "$rvm_scripts_path/log" "info" "Retrieving MacRuby ${rvm_ruby_version} ..."
+ "$rvm_path/scripts/log" "info" "Retrieving MacRuby ${rvm_ruby_version} ..."
- "$rvm_scripts_path/fetch" "$rvm_ruby_url"
+ "$rvm_path/scripts/fetch" "$rvm_ruby_url"
result=$?
if [[ "$result" -gt 0 ]] ; then
- "$rvm_scripts_path/log" "error" \
- "There has been an error while trying to fetch the source. Aborting the installation."
+ "$rvm_path/scripts/log" "error" \
+ "There has been an error while trying to fetch the source. Halting the installation."
return $result
fi
mkdir -p $rvm_ruby_src_path
@@ -386,53 +386,56 @@
fi
if [[ "$binary_name" = "ruby" ]] ; then
echo "$ruby_wrapper" > "$rvm_bin_path/$rvm_ruby_string"
fi
- done
+ done ; unset binaries
+
__rvm_irbrc
+
else
- "$rvm_scripts_path/log" "fail" \
+ "$rvm_path/scripts/log" "fail" \
"MacRuby can only be installed on a Darwin OS."
fi
;;
ree)
if [[ -n "$(echo "$rvm_ruby_version" | awk '/^1\.8/')" ]] && [[ $rvm_head_flag -eq 0 ]] ; then
rvm_ruby_url="$(__rvm_db "ree_${rvm_ruby_version}_url")/$rvm_ruby_package_file.tar.gz"
- "$rvm_scripts_path/log" "info" "Installing Ruby Enterprise Edition from source to: $rvm_ruby_home"
+ "$rvm_path/scripts/log" "info" "Installing Ruby Enterprise Edition from source to: $rvm_ruby_home"
builtin cd "$rvm_src_path"
if [[ ${rvm_force_flag:-0} -eq 0 && -d "$rvm_ruby_src_path" && ! -x "$rvm_ruby_src_path/installer" ]] ; then
- "$rvm_scripts_path/log" \
+ "$rvm_path/scripts/log" \
"It appears that the archive has already been extracted. Skipping extract (use --force to force re-download and extract)."
else
- "$rvm_scripts_path/log" "#fetching $rvm_ruby_package_file"
+ "$rvm_path/scripts/log" \
+ "$rvm_ruby_string - #fetching ($rvm_ruby_package_file)"
- "$rvm_scripts_path/fetch" "$rvm_ruby_url"
+ "$rvm_path/scripts/fetch" \
+ "$rvm_ruby_url"
result=$?
if [[ "$result" -gt 0 ]] ; then
- "$rvm_scripts_path/log" "error" \
- "There has been an error while trying to fetch the source. Aborting the installation."
+ "$rvm_path/scripts/log" "error" \
+ "There has been an error while trying to fetch the source. Halting the installation."
return $result
fi
rm -rf "$rvm_ruby_src_path"
- __rvm_run "extract" "gunzip < \"$rvm_archives_path/$rvm_ruby_package_file.$rvm_archive_extension\" | tar xf - -C $rvm_src_path" "#extracting $rvm_ruby_package_file to $rvm_ruby_src_path"
-
+ __rvm_run "extract" "gunzip < \"$rvm_archives_path/$rvm_ruby_package_file.$rvm_archive_extension\" | tar xf - -C $rvm_src_path" "$rvm_ruby_string - #extracting $rvm_ruby_package_file to $rvm_ruby_src_path"
result=$?
if [[ "$result" -gt 0 ]] ; then
- "$rvm_scripts_path/log" "error" \
- "There has been an error while trying to extract the source. Aborting the installation."
+ "$rvm_path/scripts/log" "error" \
+ "There has been an error while trying to extract the source. Halting the installation."
return $result
fi
mv "$rvm_src_path/$rvm_ruby_package_file" "$rvm_ruby_src_path"
fi
@@ -454,21 +457,21 @@
__rvm_apply_patches "$rvm_ruby_src_path/source"
result=$?
if [[ "$result" -gt 0 ]] ; then
- "$rvm_scripts_path/log" "error" \
- "There has been an error while trying to apply patches to ree. Aborting the installation."
+ "$rvm_path/scripts/log" "error" \
+ "There has been an error while trying to apply patches to ree. Halting the installation."
return $result
fi
- __rvm_run "install" "./installer -a $rvm_rubies_path/$rvm_ruby_string $rvm_ree_options $db_configure_flags $rvm_configure_flags" "#installing $rvm_ruby_string"
+ __rvm_run "install" "./installer -a $rvm_rubies_path/$rvm_ruby_string $rvm_ree_options $db_configure_flags $rvm_configure_flags" "$rvm_ruby_string - #installing "
result=$?
if [[ "$result" -gt 0 ]] ; then
- "$rvm_scripts_path/log" "error" \
- "There has been an error while trying to run the ree installer. Aborting the installation."
+ "$rvm_path/scripts/log" "error" \
+ "There has been an error while trying to run the ree installer. Halting the installation."
return $result
fi
chmod +x "$rvm_ruby_home"/bin/*
@@ -479,11 +482,11 @@
else
__rvm_db "${rvm_ruby_interpreter}_${rvm_ruby_version}_repo_url" "rvm_ruby_url"
if [[ -z "$rvm_ruby_url" ]] ; then
- "$rvm_scripts_path/log" "fail" "rvm does not know the rvm repo url for '${rvm_ruby_interpreter}_${rvm_ruby_version}'"
+ "$rvm_path/scripts/log" "fail" "rvm does not know the rvm repo url for '${rvm_ruby_interpreter}_${rvm_ruby_version}'"
result=1
else
rvm_ruby_repo_url="$rvm_ruby_url"
if [[ ${rvm_make_flags_flag:-0} -eq 1 ]] ; then __rvm_make_flags ; fi
@@ -492,11 +495,11 @@
fi
;;
rbx|rubinius)
- "$rvm_scripts_path/log" "info" "#dependency installation"
+ "$rvm_path/scripts/log" "info" "$rvm_ruby_string installing #dependencies "
# Ensure we have a 1.8.7 compatible ruby installed.
__rvm_ensure_has_18_compat_ruby || return 1
# TODO: use 'rvm gems load' here:
@@ -510,27 +513,27 @@
builtin hash -r
if [[ -n "$(echo $rvm_ruby_version | awk '/^1\.0/')" ]] && [[ $rvm_head_flag -eq 0 ]] ; then
- "$rvm_scripts_path/log" "info" "#downloading $rvm_ruby_package_file, this may take a while depending on your connection..."
+ "$rvm_path/scripts/log" "info" "$rvm_ruby_string #downloading ($rvm_ruby_package_file), this may take a while depending on your connection..."
- "$rvm_scripts_path/fetch" "$rvm_ruby_url"
+ "$rvm_path/scripts/fetch" "$rvm_ruby_url"
result=$?
if [[ "$result" -gt 0 ]] ; then
- "$rvm_scripts_path/log" "error" \
- "There has been an error while trying to fetch the source. Aborting the installation."
+ "$rvm_path/scripts/log" "error" \
+ "There has been an error while trying to fetch the source. Halting the installation."
return $result
fi
__rvm_run "extract" \
"gunzip < \"$rvm_archives_path/$(basename $rvm_ruby_package_file)\" | tar xf - -C $rvm_src_path" "Extracting $rvm_ruby_package_file ..."
result=$?
if [[ "$result" -gt 0 ]] ; then
- "$rvm_scripts_path/log" "error" \
- "There has been an error while trying to extract the source. Aborting the installation."
+ "$rvm_path/scripts/log" "error" \
+ "There has been an error while trying to extract the source. Halting the installation."
return $result
fi
# Remove the left over folder first.
rm -rf "$rvm_ruby_src_path"
@@ -541,12 +544,12 @@
#rvm_ruby_home="$rvm_rubies_path/$rvm_ruby_interpreter-$rvm_ruby_version"
__rvm_fetch_from_github "rbx"
result=$?
if [[ "$result" -gt 0 ]] ; then
- "$rvm_scripts_path/log" "error" \
- "There has been an error while fetching the rbx git repo. Aborting the installation."
+ "$rvm_path/scripts/log" "error" \
+ "There has been an error while fetching the rbx git repo. Halting the installation."
return $result
fi
fi
builtin cd "$rvm_ruby_src_path"
@@ -555,12 +558,12 @@
__rvm_apply_patches
result=$?
if [[ "$result" -gt 0 ]] ; then
- "$rvm_scripts_path/log" "error" \
- "There has been an error while trying to apply patches to rubinius. Aborting the installation."
+ "$rvm_path/scripts/log" "error" \
+ "There has been an error while trying to apply patches to rubinius. Halting the installation."
return $result
fi
__rvm_db "${rvm_ruby_interpreter}_configure_flags" "db_configure_flags"
@@ -581,12 +584,12 @@
__rvm_run "configure" "$rvm_ruby_configure" "$message"
result=$?
if [[ "$result" -gt 0 ]] ; then
- "$rvm_scripts_path/log" "error" \
- "There has been an error while running '$rvm_ruby_configure'. Aborting the installation."
+ "$rvm_path/scripts/log" "error" \
+ "There has been an error while running '$rvm_ruby_configure'. Halting the installation."
return $result
fi
if [[ "$rvm_trace_flag" -eq 1 ]] ; then
rvm_ruby_make="$rvm_wrappers_path/$ruby/rake install --trace" ; message="Compiling rbx (with --trace)"
@@ -596,12 +599,12 @@
__rvm_run "rake" "$rvm_ruby_make" "$message"
result=$?
if [[ "$result" -gt 0 ]] ; then
- "$rvm_scripts_path/log" "error" \
- "There has been an error while running '$rvm_ruby_configure'. Aborting the installation."
+ "$rvm_path/scripts/log" "error" \
+ "There has been an error while running '$rvm_ruby_configure'. Halting the installation."
return $result
fi ; unset ruby
# Symlink rubinius wrappers
ln -fs "$rvm_ruby_home/bin/rbx" "$rvm_ruby_home/bin/ruby"
@@ -649,19 +652,19 @@
__rvm_fetch_ruby
result=$?
if [[ "$result" -gt 0 ]] ; then
- "$rvm_scripts_path/log" "error" \
- "There has been an error while trying to fetch the source. Aborting the installation."
+ "$rvm_path/scripts/log" "error" \
+ "There has been an error while trying to fetch the source. Halting the installation."
return $result
fi
builtin cd "$rvm_ruby_src_path"
if [[ ${rvm_head_flag:-0} -eq 1 ]] ; then
- __rvm_run "ant.dist" "ant dist" "#ant dist"
+ __rvm_run "ant.dist" "ant dist" "$rvm_ruby_string - #ant dist"
fi
mkdir -p "$rvm_ruby_home/bin/"
case "$rvm_ruby_version" in
@@ -679,11 +682,11 @@
echo "WTH?!?! rvm_ruby_home == / ??? not removing." ; return 1000000
fi
rm -rf "$rvm_ruby_home"
- __rvm_run "install" "/bin/cp -Rf $rvm_ruby_src_path $rvm_ruby_home" "#installing JRuby to $rvm_ruby_home"
+ __rvm_run "install" "/bin/cp -Rf $rvm_ruby_src_path $rvm_ruby_home" "$rvm_ruby_string - #installing to $rvm_ruby_home"
(
builtin cd "$rvm_ruby_home/bin/"
for binary in jirb jruby jgem ; do
ln -nfs "$binary" "${binary#j}"
@@ -713,27 +716,28 @@
__rvm_post_install
# jruby ships with some built in gems, copy them in to place.
if [[ -d "$rvm_ruby_home/lib/ruby/gems/1.8" ]]; then
- "$rvm_scripts_path/log" "info" "Copying across included gems"
+ "$rvm_path/scripts/log" "info" "Copying across included gems"
cp -R "$rvm_ruby_home/lib/ruby/gems/1.8/" "$GEM_HOME/"
fi
;;
maglev)
__rvm_ensure_has_18_compat_ruby
- "$rvm_scripts_path/log" "info" "Running MagLev prereqs checking script."
+ "$rvm_path/scripts/log" "info" \
+ "Running MagLev prereqs checking script."
- "$rvm_scripts_path/maglev"
+ "$rvm_path/scripts/maglev"
result=$?
if [[ "$result" -gt 0 ]] ; then
- "$rvm_scripts_path/log" "error" \
- "Prerequisite checks have failed. Aborting the installation."
+ "$rvm_path/scripts/log" "error" \
+ "Prerequisite checks have failed. Halting the installation."
return $result
fi
builtin cd "$rvm_src_path"
@@ -743,12 +747,12 @@
__rvm_fetch_ruby
result=$?
if [[ "$result" -gt 0 ]] ; then
- "$rvm_scripts_path/log" "error" \
- "There has been an error while trying to fetch the source. Aborting the installation."
+ "$rvm_path/scripts/log" "error" \
+ "There has been an error while trying to fetch the source. Halting the installation."
return $result
fi
fi
if [[ ${rvm_head_flag:-0} -eq 1 ]] ; then
@@ -758,18 +762,18 @@
rvm_gemstone_package_file="GemStone-$(\grep ^GEMSTONE version.txt | cut -f2 -d-).$(uname -sm | \tr ' ' '-')"
rvm_gemstone_url="${rvm_gemstone_url:-"$maglev_url/${rvm_gemstone_package_file}.${rvm_archive_extension}"}"
fi
- "$rvm_scripts_path/log" "info" "Downloading the GemStone package, this may take a while depending on your connection..."
+ "$rvm_path/scripts/log" "info" "Downloading the GemStone package, this may take a while depending on your connection..."
- "$rvm_scripts_path/fetch" "$rvm_gemstone_url"
+ "$rvm_path/scripts/fetch" "$rvm_gemstone_url"
result=$?
if [[ "$result" -gt 0 ]] ; then
- "$rvm_scripts_path/log" "error" \
- "There has been an error while trying to fetch the GemStone package. Aborting the installation."
+ "$rvm_path/scripts/log" "error" \
+ "There has been an error while trying to fetch the GemStone package. Halting the installation."
return $result
fi
builtin cd "$rvm_src_path"
@@ -781,12 +785,12 @@
__rvm_run "gemstone.extract" "gunzip < \"$rvm_archives_path/${rvm_gemstone_package_file}.${rvm_archive_extension}\" | tar xf - -C $rvm_ruby_src_path"
result=$?
if [[ "$result" -gt 0 ]] ; then
- "$rvm_scripts_path/log" "error" \
- "There has been an error while trying to extract the GemStone package. Aborting the installation."
+ "$rvm_path/scripts/log" "error" \
+ "There has been an error while trying to extract the GemStone package. Halting the installation."
return $result
fi
chmod -R 777 "$rvm_gemstone_package_file" # for now. # WTF?! Crack.smoke!(:huff)
@@ -800,40 +804,50 @@
__rvm_run "install" "/bin/cp -Rf $rvm_ruby_src_path $rvm_ruby_home" "Installing maglev to $rvm_ruby_home"
(
builtin cd "$rvm_ruby_home/bin/"
+
for binary in maglev-irb maglev-ruby maglev-gem ; do
+
ln -nfs "$binary" "${binary#maglev-}"
+
done ; unset binary
)
binaries=(maglev-ruby maglev-irb maglev-gem)
+
for binary in "${binaries[@]}" ; do
+
__rvm_inject_gem_env "$rvm_ruby_home/bin/$binary"
+
done
builtin cd "$rvm_ruby_home"
+
if [[ $rvm_head_flag -eq 1 ]] ; then
+
git submodule update --init
+
"$rvm_ruby_home/bin/maglev" force-reload
+
ln -sf maglev.demo.key-$(uname -sm | \tr ' ' '-') etc/maglev.demo.key
fi
#ln -fs "$rvm_ruby_home/$(echo $rvm_gemstone_package_file | awk -F'.' '{print $1}')" "$rvm_ruby_home/gemstone"
compatible_ruby="$(__rvm_18_compat_ruby)"
if [[ ! -e ${rvm_ruby_home}/etc/conf.d/maglev.conf ]] ; then
- "$rvm_scripts_path/log" "info" "Creating default 'maglev' repository."
+ "$rvm_path/scripts/log" "info" "Creating default 'maglev' repository."
"$rvm_wrappers_path/$compatible_ruby/rake" "stone:create[maglev]" >/dev/null 2>&1
fi
- "$rvm_scripts_path/log" "info" "Generating maglev HTML documentation"
+ "$rvm_path/scripts/log" "info" "Generating maglev HTML documentation"
"$rvm_wrappers_path/$compatible_ruby/rake" rdoc >/dev/null 2>&1
- "$rvm_scripts_path/log" "info" "Generating smalltalk FFI."
+ "$rvm_path/scripts/log" "info" "Generating smalltalk FFI."
"$rvm_wrappers_path/$compatible_ruby/rake" stwrappers >/dev/null 2>&1
unset compatible_ruby
# TODO: Figure out if anything needs to be done with rubygems.
@@ -852,11 +866,11 @@
if [[ $rvm_head_flag -eq 1 ]] ; then
mono_version="$(mono -V | head -n 1 | cut -d ' ' -f5)"
- if "$rvm_scripts_path/match" "$mono_version" "([0-9]+)\.([0-9]+)\.?([0-9]+)?" ; then
+ if "$rvm_path/scripts/match" "$mono_version" "([0-9]+)\.([0-9]+)\.?([0-9]+)?" ; then
mono_major_ver="$(echo "$mono_version" | cut -d '.' -f1)"
mono_minor_ver="$(echo "$mono_version" | cut -d '.' -f2)"
@@ -894,43 +908,54 @@
cp -r "$rvm_ruby_src_path/Merlin/Main/Bin/mono_release"/* "$rvm_ruby_home/bin/"
cp -r "$rvm_ruby_src_path/Merlin/Main/Languages/Ruby/Scripts/bin"/* "$rvm_ruby_home/bin/"
cp -r "$rvm_ruby_src_path/Merlin/External.LCA_RESTRICTED/Languages/Ruby/redist-libs/ruby"/* "$rvm_ruby_home/lib/ruby"
cp -r "$rvm_ruby_src_path/Merlin/Main/Languages/Ruby/Libs"/* "$rvm_ruby_home/lib/IronRuby"
else
- "$rvm_scripts_path/log" "info" "Retrieving IronRuby"
+ "$rvm_path/scripts/log" "info" "Retrieving IronRuby"
- "$rvm_scripts_path/fetch" "$rvm_ruby_url" "$rvm_ruby_package_file"
+ "$rvm_path/scripts/fetch" "$rvm_ruby_url" "$rvm_ruby_package_file"
result=$? ; if [[ "$result" -gt 0 ]] ; then
- "$rvm_scripts_path/log" "error" "There has been an error while trying to fetch the source. Aborting the installation." ; return $result
+ "$rvm_path/scripts/log" "error" "There has been an error while trying to fetch the source. Halting the installation." ; return $result
fi
mkdir -p "$rvm_ruby_src_path" "$rvm_ruby_home"
unzip -o -d "${rvm_ruby_src_path}" "${rvm_archives_path}/${rvm_ruby_package_file}" >> "$rvm_ruby_log_path/extract.log" 2>> "$rvm_ruby_log_path/extract.error.log"
result=$? ; if [[ "$result" -gt 1 ]] ; then
- "$rvm_scripts_path/log" "error" "There has been an error while trying to extract $rvm_ruby_package_file. Aborting the installation." ; return $result
+ "$rvm_path/scripts/log" "error" "There has been an error while trying to extract $rvm_ruby_package_file. Halting the installation." ; return $result
fi
for dir in bin lib silverlight ; do
cp -Rf "$rvm_src_path/$rvm_ruby_string/$dir" "$rvm_ruby_home/$dir"
done
fi
binaries=(gem irb rdoc rake ri ruby)
+
for binary_name in "${binaries[@]}" ; do
+
if [[ -s "$rvm_ruby_home/bin/$binary_name" ]] ; then
+
tr -d '\r' < "$rvm_ruby_home/bin/$binary_name" > "$rvm_ruby_home/bin/$binary_name.new"
+
#sed -e '1,1s=.*=#!'"/usr/bin/env ir=" "$rvm_ruby_home/bin/$binary_name" > "$rvm_ruby_home/bin/$binary_name.new"
mv -f "$rvm_ruby_home/bin/$binary_name.new" "$rvm_ruby_home/bin/$binary_name"
+
chmod +x "$rvm_ruby_home/bin/$binary_name"
+
fi
- done
+ done ; unset binaries
sed -e '1,1s=.*=#!'"/usr/bin/env bash=" "$rvm_ruby_home/bin/ir" | \tr -d '\r' > "$rvm_ruby_home/bin/ir.new"
+
mv -f "$rvm_ruby_home/bin/ir.new" "$rvm_ruby_home/bin/ir"
+
chmod +x "$rvm_ruby_home/bin/ir"
+
ln -fs "$rvm_ruby_home/bin/ir" "$rvm_ruby_home/bin/ruby"
+
builtin hash -r
+
__rvm_run "gems.install" "PATH=$rvm_ruby_gem_home/bin:$rvm_ruby_global_gems_path/bin:$rvm_ruby_home/bin:$PATH GEM_HOME=$rvm_ruby_gem_home GEM_PATH=$rvm_ruby_gem_home $rvm_ruby_home/bin/gem install --no-rdoc --no-ri rake $rvm_gem_options" "Installing $rvm_gem_name to $dir"
;;
mput|shyouhei)
@@ -950,85 +975,85 @@
__rvm_apply_patches
result=$?
if [[ "$result" -gt 0 ]] ; then
- "$rvm_scripts_path/log" "error" \
- "There has been an error while trying to apply patches to mput. Aborting the installation."
+ "$rvm_path/scripts/log" "error" \
+ "There has been an error while trying to apply patches to mput. Halting the installation."
return $result
fi
if [[ ! -s "$rvm_ruby_src_path/configure" ]] ; then
if command -v autoconf &> /dev/null ; then
__rvm_run "autoconf" "autoconf" "Running autoconf"
else
- "$rvm_scripts_path/log" "fail" \
- "rvm expects autoconf to install this ruby interpreter, autoconf was not found in PATH. Aborting installation."
+ "$rvm_path/scripts/log" "fail" \
+ "rvm expects autoconf to install this ruby interpreter, autoconf was not found in PATH. Halting installation."
return $result
fi
fi
if [[ -s ./Makefile ]] && [[ -z "$rvm_reconfigure_flag" ]] ; then
if [[ ${rvm_debug_flag:-0} -gt 0 ]] ; then
- "$rvm_scripts_path/log" "debug" "Skipping configure step, Makefile exists so configure must have already been run."
+ "$rvm_path/scripts/log" "debug" "Skipping configure step, Makefile exists so configure must have already been run."
fi
elif [[ -n "$rvm_ruby_configure" ]] ; then
__rvm_run "configure" "$rvm_ruby_configure"
result=$?
if [[ "$result" -gt 0 ]] ; then
- "$rvm_scripts_path/log" "error" \
- "There has been an error while trying to configure the source. Aborting the installation."
+ "$rvm_path/scripts/log" "error" \
+ "There has been an error while trying to configure the source. Halting the installation."
return $result
fi
elif [[ -s ./configure ]] ; then
local configure_command="./configure --prefix=$rvm_ruby_home $rvm_configure_flags"
__rvm_run "configure" "" "Configuring $rvm_ruby_string using $rvm_configure_flags, this may take a while depending on your cpu(s)..."
result=$?
if [[ "$result" -gt 0 ]] ; then
- "$rvm_scripts_path/log" "error" \
- "There has been an error while trying to configure the source. Aborting the installation."
+ "$rvm_path/scripts/log" "error" \
+ "There has been an error while trying to configure the source. Halting the installation."
return $result
fi
else
- "$rvm_scripts_path/log" "error" \
+ "$rvm_path/scripts/log" "error" \
"Skipping configure step, 'configure' script does not exist, did autoconf not run successfully?"
fi
rvm_ruby_make=${rvm_ruby_make:-"make"}
__rvm_run "make" "$rvm_ruby_make $rvm_make_flags" "Compiling $rvm_ruby_string, this may take a while depending on your cpu(s)..."
result=$?
if [[ "$result" -gt 0 ]] ; then
- "$rvm_scripts_path/log" "error" \
- "There has been an error while trying to run make. Aborting the installation."
+ "$rvm_path/scripts/log" "error" \
+ "There has been an error while trying to run make. Halting the installation."
return $result
fi
rvm_ruby_make_install=${rvm_ruby_make_install:-"make install"}
__rvm_run "install" "$rvm_ruby_make_install" "Installing $rvm_ruby_string"
result=$?
if [[ "$result" -gt 0 ]] ; then
- "$rvm_scripts_path/log" "error" \
- "There has been an error while trying to run make install. Aborting the installation."
+ "$rvm_path/scripts/log" "error" \
+ "There has been an error while trying to run make install. Halting the installation."
return $result
fi
- "$rvm_scripts_path/log" "info" "Installation of $rvm_ruby_string is complete."
+ "$rvm_path/scripts/log" "info" "Installation of $rvm_ruby_string is complete."
export GEM_HOME="$rvm_ruby_gem_home"
export GEM_PATH="$rvm_ruby_gem_path"
export BUNDLE_PATH="$rvm_ruby_gem_home"
@@ -1051,18 +1076,20 @@
( __rvm_install_source $* )
result=$?
;;
default)
- "$rvm_scripts_path/log" "fail" "must specify a ruby interpreter to install."
+ "$rvm_path/scripts/log" "fail" \
+ "a ruby interpreter to install must be specified and not simply 'default'."
;;
- *) "$rvm_scripts_path/log" "fail" "Ruby interpreter '$rvm_ruby_interpreter' is not known."
+ *) "$rvm_path/scripts/log" "fail" \
+ "Ruby interpreter '$rvm_ruby_interpreter' is not known."
esac
- rvm_hook="after_install" ; source "$rvm_scripts_path/hook"
+ rvm_hook="after_install" ; source "$rvm_path/scripts/hook"
if [[ -n "$ruby_options" ]] ; then
RUBYOPT="$ruby_options"
export RUBYOPT
fi
@@ -1083,11 +1110,11 @@
result=$?
if [[ "$result" -gt 0 ]] ; then
rvm_ruby_repo_http_url="${rvm_ruby_repo_url//git:/http:}"
- "$rvm_scripts_path/log" "info" "Could not fetch $rvm_ruby_repo_url - trying $rvm_ruby_repo_http_url"
+ "$rvm_path/scripts/log" "info" "Could not fetch $rvm_ruby_repo_url - trying $rvm_ruby_repo_http_url"
__rvm_run "$1.repo" "git clone --depth 1 $rvm_ruby_repo_http_url $rvm_ruby_repo_path" "Cloning $rvm_ruby_repo_http_url"
fi
else
local branch="${2:-"master"}"
@@ -1103,11 +1130,11 @@
}
__rvm_fetch_ruby() {
[[ ${rvm_ruby_selected_flag:-0} -eq 0 ]] && __rvm_select
- "$rvm_scripts_path/log" "info" "#fetching ${rvm_ruby_string}"
+ "$rvm_path/scripts/log" "info" "$rvm_ruby_string - #fetching "
if [[ ${rvm_head_flag:-0} -eq 0 && -z "${rvm_ruby_tag:-""}" && -z "${rvm_ruby_revision:-""}" ]] ; then
rvm_ruby_package_name="${rvm_ruby_package_name:-"$rvm_ruby_string"}"
@@ -1137,18 +1164,19 @@
*)
rvm_ruby_url="$(__rvm_db "${rvm_ruby_interpreter}_url")/${rvm_ruby_package_file}.${rvm_archive_extension}"
;;
esac
- "$rvm_scripts_path/log" "info" "#downloading ${rvm_ruby_package_file}, this may take a while depending on your connection..."
+ "$rvm_path/scripts/log" "info" \
+ "$rvm_ruby_string - #downloading ${rvm_ruby_package_file}, this may take a while depending on your connection..."
- "$rvm_scripts_path/fetch" "${rvm_ruby_url}"
+ "$rvm_path/scripts/fetch" "${rvm_ruby_url}"
result=$?
if [[ "$result" -gt 0 ]] ; then
- "$rvm_scripts_path/log" "error" \
- "There has been an error while trying to fetch the source. Aborting the installation."
+ "$rvm_path/scripts/log" "error" \
+ "There has been an error while trying to fetch the source. Halting the installation."
return $result
fi
fi
if [[ ! -d "$rvm_ruby_src_path" || ${rvm_force_flag:-0} -eq 1 ]] ; then
@@ -1159,51 +1187,60 @@
mkdir -p "/tmp/rvm_src_$$"
case "$rvm_archive_extension" in
tar.gz|tgz)
- __rvm_run "extract" "gunzip < \"$rvm_archives_path/$rvm_ruby_package_file.$rvm_archive_extension\" | tar xf - -C /tmp/rvm_src_$$" "#extracting $rvm_ruby_package_file to $rvm_ruby_src_path"
+ __rvm_run "extract" "gunzip < \"$rvm_archives_path/$rvm_ruby_package_file.$rvm_archive_extension\" | tar xf - -C /tmp/rvm_src_$$" "$rvm_ruby_string - #extracting $rvm_ruby_package_file to $rvm_ruby_src_path"
result=$?
if [[ "$result" -gt 0 ]] ; then
- "$rvm_scripts_path/log" "error" "There has been an error while trying to extract the source. Aborting the installation." ; return $result
+ "$rvm_path/scripts/log" "error" \
+ "There has been an error while trying to extract the source. Halting the installation."
+ return $result
fi
;;
zip)
__rvm_run "extract" "unzip -q -o $rvm_archives_path/$rvm_ruby_package_file -d /tmp/rvm_src_$$"
result=$?
if [[ "$result" -gt 0 ]] ; then
- "$rvm_scripts_path/log" "error" "There has been an error while trying to extract $rvm_ruby_package_file. Aborting the installation."
+ "$rvm_path/scripts/log" "error" \
+ "There has been an error while trying to extract $rvm_ruby_package_file. Halting the installation."
return $result
fi
;;
tar.bz2)
- __rvm_run "extract" "bunzip2 < \"$rvm_archives_path/$rvm_ruby_package_file.$rvm_archive_extension\" | tar xf - -C /tmp/rvm_src_$$" "#extracting $rvm_ruby_package_file to $rvm_ruby_src_path"
+ __rvm_run "extract" "bunzip2 < \"$rvm_archives_path/$rvm_ruby_package_file.$rvm_archive_extension\" | tar xf - -C /tmp/rvm_src_$$" "$rvm_ruby_string - #extracting $rvm_ruby_package_file to $rvm_ruby_src_path"
result=$?
if [[ "$result" -gt 0 ]] ; then
- "$rvm_scripts_path/log" "error" "There has been an error while trying to extract the source. Aborting the installation."
+ "$rvm_path/scripts/log" "error" \
+ "There has been an error while trying to extract the source. Halting the installation."
return $result
fi
;;
*)
- "$rvm_scripts_path/log" "error" "Unknown archive format extension '$rvm_archive_extension'. Aborting the installation."
+ "$rvm_path/scripts/log" "error" \
+ "Unknown archive format extension '$rvm_archive_extension'. Halting the installation."
return 1
;;
esac
mv "/tmp/rvm_src_$$/$(builtin cd /tmp/rvm_src_$$ ; ls)" "$rvm_ruby_src_path" ; rm -rf "/tmp/rvm_src_$$"
if [[ -n "${rvm_ruby_name:-""}" && -d "$rvm_src_path/$(echo $rvm_ruby_string | sed -e 's/-n.*//')" ]] ; then
mv "$rvm_src_path/$(echo "$rvm_ruby_string" | sed -e 's/-n.*//')" "$rvm_ruby_src_path"
fi
+ "$rvm_ruby_string - #extracted to $rvm_ruby_src_path"
+
else
- "$rvm_scripts_path/log" "info" "#extracting $rvm_ruby_string to $rvm_ruby_src_path (already extracted)" ; return 0
+ "$rvm_path/scripts/log" "info" \
+ "$rvm_ruby_string - #extracted to $rvm_ruby_src_path (already extracted)"
fi
+ return 0
else
mkdir -p "$rvm_repo_path"
if [[ -n "$(echo "$rvm_ruby_url" | awk '/^git/')" ]] ; then
@@ -1212,19 +1249,20 @@
builtin cd "$rvm_ruby_repo_path"
if [[ -z "$rvm_ruby_revision" ]] ; then
- "$rvm_scripts_path/log" "info" "Pulling from $rvm_ruby_repo_url, this may take a while depending on your connection..."
+ "$rvm_path/scripts/log" "info" \
+ "Pulling from $rvm_ruby_repo_url, this may take a while depending on your connection..."
git pull origin master --force
result=$?
if [[ "$result" -gt 0 ]] ; then
- "$rvm_scripts_path/log" "error" \
- "There has been an error while trying to update the source from the remote repository. Aborting the installation."
+ "$rvm_path/scripts/log" "error" \
+ "There has been an error while trying to update the source from the remote repository. Halting the installation."
return $result
fi
else
if [[ -z "${rvm_ruby_sha:-""}" ]] ; then
@@ -1233,36 +1271,36 @@
git checkout $(echo "$rvm_ruby_sha" | sed 's#^s##')
fi
result=$?
if [[ "$result" -gt 0 ]] ; then
- "$rvm_scripts_path/log" "error" \
- "There has been an error while trying to checkout the source branch. Aborting the installation."
+ "$rvm_path/scripts/log" "error" \
+ "There has been an error while trying to checkout the source branch. Halting the installation."
return $result
fi
fi
else
rm -rf "$rvm_ruby_repo_path"
rvm_ruby_repo_http_url="${rvm_ruby_repo_url//git:/http:/}"
- "$rvm_scripts_path/log" "info" "Cloning from $rvm_ruby_repo_url, this may take a while depending on your connection..."
+ "$rvm_path/scripts/log" "info" "Cloning from $rvm_ruby_repo_url, this may take a while depending on your connection..."
git clone --depth 1 "$rvm_ruby_repo_url" "$rvm_ruby_repo_path"
result=$?
if [[ "$result" -gt 0 ]] ; then
- "$rvm_scripts_path/log" "info" \
+ "$rvm_path/scripts/log" "info" \
"cloning from $rvm_ruby_repo_url failed, now attempting to clone from $rvm_ruby_repo_http_url, this may take a while depending on your connection..."
git clone "$rvm_ruby_repo_http_url" "$rvm_ruby_repo_path"
result=$?
if [[ "$result" -gt 0 ]] ; then
- "$rvm_scripts_path/log" "error" \
- "There has been an error while trying to fetch the repository. Aborting the installation."
+ "$rvm_path/scripts/log" "error" \
+ "There has been an error while trying to fetch the repository. Halting the installation."
return $result
fi
fi
fi
@@ -1298,18 +1336,18 @@
if [[ -d "$rvm_ruby_repo_path/.svn" ]] ; then
builtin cd "$rvm_ruby_repo_path"
- "$rvm_scripts_path/log" "info" "Updating ruby from $rvm_ruby_url"
+ "$rvm_path/scripts/log" "info" "Updating ruby from $rvm_ruby_url"
__rvm_run "svn.switch" "svn switch $rvm_ruby_url"
__rvm_run "svn.update" "svn update"
if [[ -n "${rvm_rev:-""}" ]] ; then
- "$rvm_scripts_path/log" "info" "Checking out revision ${rvm_rev/-r/-r } from $rvm_ruby_url"
+ "$rvm_path/scripts/log" "info" "Checking out revision ${rvm_rev/-r/-r } from $rvm_ruby_url"
__rvm_run "svn.checkout" "svn update -q ${rvm_rev/-r/-r }"
fi
else
rm -rf "$rvm_ruby_repo_path"
@@ -1317,17 +1355,17 @@
__rvm_run "svn.checkout" "svn checkout -q ${rvm_rev/-r/-r } $rvm_ruby_url $rvm_ruby_repo_path" "Downloading source from ${rvm_ruby_url}."
fi
result=$?
if [[ "$result" -gt 0 ]] ; then
- "$rvm_scripts_path/log" "error" \
- "There has been an error while trying to fetch / update the source. Aborting the installation."
+ "$rvm_path/scripts/log" "error" \
+ "There has been an error while trying to fetch / update the source. Halting the installation."
return $result
fi
fi
- "$rvm_scripts_path/log" "info" "Copying from repo to src path..."
+ "$rvm_path/scripts/log" "info" "Copying from repo to src path..."
rm -rf "$rvm_ruby_src_path"
cp -R "$rvm_ruby_repo_path" "$rvm_ruby_src_path"
fi
@@ -1338,11 +1376,11 @@
local default_ruby_interpreter="$(rvm alias show default 2>/dev/null | awk -F"${rvm_gemset_separator:-"@"}" '{print $1}')"
local current_ruby_interpreter="$(echo "$rvm_ruby_string" | awk -F"${rvm_gemset_separator:-"@"}" '{print $1}')"
if [[ -n "$current_ruby_interpreter" && "$current_ruby_interpreter" = "$default_ruby_interpreter" ]]; then
- __rvm_run_with_env 'default.restore' 'system' 'rvm use system --default' 'Removing default ruby interpreter'
+ __rvm_run_with_env 'default.restore' 'system' 'rvm use system --default' 'Removing default ruby interpreter'
fi
}
__rvm_uninstall_ruby() {
@@ -1350,15 +1388,16 @@
if [[ -n "${rvm_ruby_string:-""}" ]] ; then
for dir in "$rvm_rubies_path" ; do
if [[ -d "$dir/$rvm_ruby_string" ]] ; then
- "$rvm_scripts_path/log" "info" "Removing $dir/$rvm_ruby_string..."
+ "$rvm_path/scripts/log" "info" "Removing $dir/$rvm_ruby_string..."
rm -rf $dir/$rvm_ruby_string
else
- "$rvm_scripts_path/log" "info" "$dir/$rvm_ruby_string has already been removed."
+ "$rvm_path/scripts/log" "info" \
+ "$dir/$rvm_ruby_string has already been removed."
fi
if [[ -e "$rvm_bin_path/$rvm_ruby_string" ]] ; then
rm -f "$rvm_bin_path/$rvm_ruby_string"
fi
@@ -1369,11 +1408,12 @@
__rvm_remove_gemsets
__rvm_check_default
else
- "$rvm_scripts_path/log" "fail" "Cannot uninstall unknown package '$rvm_ruby_string'"
+ "$rvm_path/scripts/log" "fail" \
+ "Cannot uninstall unknown package '$rvm_ruby_string'"
fi
unset rvm_uninstall_flag
return 0
@@ -1385,15 +1425,15 @@
if [[ -n "${rvm_ruby_string:-""}" ]] ; then
for dir in $rvm_src_path $rvm_rubies_path ; do
if [[ -d $dir/$rvm_ruby_string ]] ; then
- "$rvm_scripts_path/log" "info" "Removing $dir/$rvm_ruby_string..."
+ "$rvm_path/scripts/log" "info" "Removing $dir/$rvm_ruby_string..."
rm -rf $dir/$rvm_ruby_string
else
- "$rvm_scripts_path/log" "info" "it seems that $dir/$rvm_ruby_string is already non existent."
+ "$rvm_path/scripts/log" "info" "it seems that $dir/$rvm_ruby_string is already non existent."
fi
if [[ -e "$rvm_bin_path/$rvm_ruby_string" ]] ; then
rm -f "$rvm_bin_path/$rvm_ruby_string"
fi
@@ -1408,145 +1448,177 @@
__rvm_remove_aliases
__rvm_remove_wrappers
__rvm_remove_environments
__rvm_remove_binaries
else
- "$rvm_scripts_path/log" "fail" "Cannot remove unknown package '$rvm_ruby_string'"
+ "$rvm_path/scripts/log" "fail" "Cannot remove unknown package '$rvm_ruby_string'"
fi ; unset rvm_remove_flag
}
__rvm_remove_gemsets() {
if [[ ${rvm_gems_flag:-0} -eq 1 ]] ; then
- "$rvm_scripts_path/log" "info" "Removing $rvm_ruby_string gemsets..."
+ "$rvm_path/scripts/log" "info" "Removing $rvm_ruby_string gemsets..."
- gemsets="$rvm_gems_path/$rvm_ruby_string $(builtin cd "${rvm_gems_path}"/ ; find * -type d -maxdepth 0 | awk '/'$rvm_ruby_string'@/')"
+ gemsets=($(builtin cd "${rvm_gems_path}"/ ; find . -maxdepth 1 -mindepth 1 -type d))
- for gemset in $gemsets ; do
+ for gemset in "${gemsets[@]//.\/}" ; do
if [[ -d "$gemset" ]] ; then
rm -rf "$gemset"
fi
done ; unset gemset gemsets
fi
}
__rvm_remove_wrappers() {
- "$rvm_scripts_path/log" "info" "Removing $rvm_ruby_string wrappers..."
+ "$rvm_path/scripts/log" "info" "Removing $rvm_ruby_string wrappers..."
- local wrappers wrapper
+ local wrapper wrappers
- wrappers="$rvm_wrappers_path/$rvm_ruby_string $(builtin cd "$rvm_wrappers_path"/ ; find * -type f -maxdepth 0 2>/dev/null | awk '/'$rvm_ruby_string'@/')"
+ wrappers=($(find "$rvm_path/wrappers" -maxdepth 1 -mindepth 1 -type d -iname "*$rvm_ruby_string*" 2>/dev/null))
- for wrapper in $wrappers ; do
+ for wrapper in "${wrappers[@]}" ; do
rm -rf "$wrapper"
done
return 0
}
__rvm_remove_environments() {
- "$rvm_scripts_path/log" "info" "Removing $rvm_ruby_string environments..."
+ "$rvm_path/scripts/log" "info" "Removing $rvm_ruby_string environments..."
local environments environment
- environments="$rvm_environments_path/$rvm_ruby_string $(builtin cd "$rvm_environments_path"/ ; find * -type f -maxdepth 0 | awk '/'$rvm_ruby_string'@/')"
+ environments=($(find "$rvm_environments_path" -maxdepth 1 -mindepth 1 -type f -iname "*$rvm_ruby_string*" ))
- for environment in $environments ; do
- rm -rf "$environment"
+ for environment in "${environments[@]}" ; do
+ if [[ -d "$environment" ]] ; then
+ rm -rf "$environment"
+ fi
done
return 0
}
__rvm_remove_aliases() {
- "$rvm_scripts_path/log" "info" "Removing $rvm_ruby_string aliases..."
+ "$rvm_path/scripts/log" "info" "Removing $rvm_ruby_string aliases..."
local alias_name aliases
- aliases=$(awk '/'$rvm_ruby_string'/' $rvm_config_path/alias | sed 's/=.*//')
+ aliases=($(awk '/'$rvm_ruby_string'/' $rvm_config_path/alias | sed 's/=.*//'))
- for alias_name in $aliases ; do
+ for alias_name in "${aliases[@]}" ; do
# Remove from alias key-value store
- "$rvm_scripts_path/alias" delete "$alias_name" >/dev/null 2>&1
+ "$rvm_path/scripts/alias" delete "$alias_name" >/dev/null 2>&1
done
}
__rvm_remove_archives() {
if [[ ${rvm_archive_flag:-0} -eq 1 ]] ; then
- "$rvm_scripts_path/log" "info" "Removing $rvm_ruby_string archives..."
+
+ "$rvm_path/scripts/log" "info" "Removing $rvm_ruby_string archives..."
+
rm -f "$rvm_archives_path/${rvm_ruby_package_file}.${rvm_archive_extension}"
fi
}
__rvm_remove_binaries() {
- "$rvm_scripts_path/log" "info" "Removing $rvm_ruby_string binaries..."
+ "$rvm_path/scripts/log" "info" "Removing $rvm_ruby_string binaries..."
# Iterate over all binaries and check for symlinked wrappers etc.
- local binary_name
+ local binary_name binaries full_patch_path
- for binary_name in $(builtin cd "$rvm_bin_path" ; find * -type f -maxdepth 0); do
+ binaries=($(find "$rvm_bin_path" -maxdepth 1 -mindepth 1 -type f -iname "*$rvm_ruby_string*" ))
+
+ for binary_name in "${binaries[@]}" ; do
+
full_binary_path="$rvm_bin_path/$binary_name"
- if [[ -L "$full_binary_path" ]] && "$rvm_scripts_path/match" "$(readlink "$full_binary_path")" "$rvm_ruby_string"; then
+ if [[ -L "$full_binary_path" ]] && "$rvm_path/scripts/match" "$(readlink "$full_binary_path")" "$rvm_ruby_string"; then
rm -f "$full_binary_path"
fi
- unset full_binary_path
- done
+ done ; unset binaries
+
+ return 0
}
__rvm_post_install() {
+
+ local rvm_ruby_aliases ruby_alias binary
+
if [[ "$rvm_ruby_interpreter" != "jruby" ]] ; then
- binaries=(${binaries:-"gem irb erb ri rdoc testrb rake"})
- "$rvm_scripts_path/log" "info" "#shebangs adjustment for $rvm_ruby_string ($binaries)."
+ if [[ ${#binaries[@]} -lt 1 ]] ; then
+ binaries=(gem irb erb ri rdoc testrb rake)
+ fi
+ "$rvm_path/scripts/log" "info" \
+ "$rvm_ruby_string adjusting #shebangs for ($binaries)."
+
for binary in "${binaries[@]}" ; do
- if [[ -e "$rvm_ruby_home/bin/$binary" ]] || [[ -e "$rvm_ruby_src_path/bin/$binary" ]] ; then
+ if [[ -e "$rvm_ruby_home/bin/$binary" || -e "$rvm_ruby_src_path/bin/$binary" ]] ; then
- if [[ "$rvm_ruby_src_path" != "$rvm_ruby_home" ]] && [[ -f "$rvm_ruby_src_path/bin/$binary" ]] ; then
+ if [[ "$rvm_ruby_src_path" != "$rvm_ruby_home" && -f "$rvm_ruby_src_path/bin/$binary" ]] ; then
+
cp -f "$rvm_ruby_src_path/bin/$binary" "$rvm_ruby_home/bin/$binary"
+
elif [[ -f "$rvm_ruby_gem_home/bin/$binary" ]] ; then
+
cp -f "$rvm_ruby_gem_home/bin/$binary" "$rvm_ruby_home/bin/$binary"
fi
__rvm_inject_gem_env "$rvm_ruby_home/bin/$binary"
__rvm_inject_ruby_shebang "$rvm_ruby_home/bin/$binary"
chmod +x "$rvm_ruby_home/bin/$binary"
fi
- done ; unset binary binaries
+ done
+
+ binaries=(gem irb erb ri rdoc testrb rake)
fi
# Import the initial gemsets.
- __rvm_run_with_env "gemsets.initial" "$rvm_ruby_string" "'$rvm_scripts_path/gemsets' initial" "#importing initial gems"
+ __rvm_run_with_env "gemsets.initial" "$rvm_ruby_string" "'$rvm_path/scripts/gemsets' initial" "$rvm_ruby_string - #importing default gemsets ($rvm_path/gemsets/)"
__rvm_irbrc
+
__rvm_generate_default_docs
if [[ -n "$rvm_ruby_aliases" ]]; then
- "$rvm_scripts_path/log" "info" "Setting up aliases for $rvm_ruby_string"
+ "$rvm_path/scripts/log" "info" "Setting up aliases for $rvm_ruby_string"
+
while read -r ruby_alias; do
- "$rvm_scripts_path/log" info "Aliasing $rvm_ruby_string to $ruby_alias"
- "$rvm_scripts_path/alias" delete "$ruby_alias" > /dev/null 2>&1
- "$rvm_scripts_path/alias" create "$ruby_alias" "$rvm_ruby_string" > /dev/null 2>&1
+
+ "$rvm_path/scripts/log" info "Aliasing $rvm_ruby_string to $ruby_alias"
+
+ "$rvm_path/scripts/alias" delete "$ruby_alias" > /dev/null 2>&1
+
+ "$rvm_path/scripts/alias" create "$ruby_alias" "$rvm_ruby_string" > /dev/null 2>&1
+
done < <(echo "$rvm_ruby_string" | \tr ' ' '\n' | sort -u)
- unset rvm_ruby_aliases ruby_alias
fi
}
__rvm_generate_default_docs() {
+
if [[ "$rvm_docs_flag" = "1" && "$rvm_ruby_interpreter" != "macruby" ]]; then
+
__rvm_run_with_env "docs.generate" "$rvm_ruby_string" "rvm docs generate-ri" "Attempting to generate ri documentation..."
fi
}
__rvm_rubygems_setup() {
+
+ local home path dir directory_name version_number ruby_lib_gem_path
+
if [[ -n "$(echo "$rvm_ruby_version" | awk '/^1\.9/')" ]] || [[ -n "$(echo "$rvm_ruby_interpreter" | awk '/^mput/')" ]] ; then
install=0
+
elif [[ "$rvm_ruby_string" = "ruby-head" ]] ; then
install=0
+
else
install=1
fi
__rvm_use
@@ -1560,14 +1632,17 @@
cp "$rvm_ruby_src_path/bin/gem" "$rvm_ruby_home/bin/gem"
home="$GEM_HOME" ; path="$GEM_PATH" # Save
for dir in $rvm_ruby_global_gems_path $rvm_ruby_gem_home ; do
+
export GEM_HOME="$dir" ; export GEM_PATH="$dir" ; export BUNDLE_PATH="$dir"
- __rvm_run "rubygems.update" "$rvm_ruby_home/bin/gem update --system" "#rubygems update for $dir"
- done ; unset home path dir
+ __rvm_run "rubygems.update" "$rvm_ruby_home/bin/gem update --system" "$rvm_ruby_string - updating #rubygems for $dir"
+
+ done
+
GEM_HOME="$home" ; GEM_PATH="$path" ; BUNDLE_PATH="$home"
export GEM_HOME GEM_PATH BUNDLE_PATH
__rvm_inject_ruby_shebang "$rvm_ruby_home/bin/gem"
@@ -1576,62 +1651,72 @@
directory_name="$rvm_ruby_home/lib/ruby/gems"
version_number="${rvm_ruby_release_version}.${rvm_ruby_major_version}"
if [[ "$version_number" == "." ]]; then
- version_number="$(builtin cd "$directory_name" ; find * -type f -maxdepth 0 | \grep '^[[:digit:]].[[:digit:]]\(.[[:digit:]]\)\?' | head -n1)"
+ # TODO: Investigate this if statement, something feels not quite right.
+ version_number="$(builtin cd "$directory_name" ; find . -maxdepth 1 -mindepth 1 -type f | \grep '^[[:digit:]].[[:digit:]]\(.[[:digit:]]\)\?' | head -n1)"
+ version_number="${version_number//.\/}"
+
if [[ -n "$version_number" ]]; then
ruby_lib_gem_path="${directory_name}/${version_number}"
else
ruby_lib_gem_path=""
fi
else
ruby_lib_gem_path="${directory_name}/${version_number}"
fi
- unset directory_name version_number
-
elif [[ -n "$(echo "$rvm_ruby_interpreter" | awk '/^rbx|jruby/')" ]] ; then
# Hands off rubygems for rbx & jruby
if [[ ${rvm_debug_flag:-0} -gt 0 ]] ; then
- "$rvm_scripts_path/log" "debug" "Skipping rubygems update for $rvm_ruby_version"
+ "$rvm_path/scripts/log" "debug" "Skipping rubygems update for $rvm_ruby_version"
fi
ruby_lib_gem_path="$rvm_ruby_home/lib/ruby/gems/jruby"
else
- "$rvm_scripts_path/log" "info" "#rubygems installing to $rvm_ruby_string"
+ "$rvm_path/scripts/log" "info" "$rvm_ruby_string - #rubygems installing to $rvm_ruby_string"
+
rvm_rubygems_version="$(__rvm_db "${rvm_ruby_interpreter}_rubygems_version")"
rvm_rubygems_version="${rvm_rubygems_version:-"$(__rvm_db "rubygems_version")"}"
rvm_rubygems_url=$(__rvm_db "rubygems_${rvm_rubygems_version}_url")
rvm_gem_package_name="rubygems-$rvm_rubygems_version"
rvm_gem_url="$rvm_rubygems_url/$rvm_gem_package_name.tgz"
+
# Sanity check... If setup.rb is missing from the rubygems source path,
# something went wrong. Cleanup, aisle 3!
if [[ ! -f "$rvm_src_path/$rvm_gem_package_name/setup.rb" ]]; then
rm -rf "$rvm_src_path/$rvm_gem_package_name"
fi
if [[ ! -d "$rvm_src_path/$rvm_gem_package_name" ]] ; then
- "$rvm_scripts_path/log" "info" "Retrieving $rvm_gem_package_name"
- "$rvm_scripts_path/fetch" "$rvm_gem_url"
- result=$? ; if [[ "$result" -gt 0 ]] ; then
- "$rvm_scripts_path/log" "error" "There has been an error while trying to fetch the source. Aborting the installation." ; return $result
+
+ "$rvm_path/scripts/log" "info" "Retrieving $rvm_gem_package_name"
+
+ "$rvm_path/scripts/fetch" "$rvm_gem_url"
+ result=$?
+
+ if [[ "$result" -gt 0 ]] ; then
+ "$rvm_path/scripts/log" "error" \
+ "There has been an error while trying to fetch the source. Halting the installation." ; return $result
fi
+
mkdir -p "$rvm_src_path/$rvm_gem_package_name"
+
__rvm_run "rubygems.extract" "gunzip < \"$rvm_archives_path/$rvm_gem_package_name.tgz\" | tar xf - -C $rvm_src_path" "Extracting $rvm_gem_package_name ..."
fi
builtin cd "$rvm_src_path/$rvm_gem_package_name"
__rvm_run "rubygems.install" "GEM_PATH=$rvm_ruby_gem_path GEM_HOME=$rvm_ruby_gem_home BUNDLE_PATH=$rvm_ruby_gem_home $rvm_ruby_home/bin/ruby $rvm_src_path/$rvm_gem_package_name/setup.rb"
result=$?
if [[ $result -gt 0 ]] ; then
- "$rvm_scripts_path/log" "warning" "#warning Installation of rubygems $rvm_ruby_package_name did not complete successfully."
+ "$rvm_path/scripts/log" "warning" "$rvm_ruby_string - #warning Installation of rubygems $rvm_ruby_package_name did not complete successfully."
fi
__rvm_inject_ruby_shebang "$rvm_ruby_home/bin/gem"
if [[ -n "$rvm_ruby_major_version" ]] ; then
@@ -1643,18 +1728,18 @@
if [[ -n "$ruby_lib_gem_path" ]]; then
# Add ruby's gem path to ruby's lib direcotry.
if [[ -d "$ruby_lib_gem_path" ]] ; then
- \rm -rf "$ruby_lib_gem_path"
+ rm -rf "$ruby_lib_gem_path"
fi
mkdir -p ${ruby_lib_gem_path%\/*}
ln -nfs "$rvm_ruby_gem_home" "$ruby_lib_gem_path"
- fi; unset ruby_lib_gem_path
+ fi
if [[ -s "$rvm_ruby_src_path/bin/rdoc" ]] ; then
__rvm_inject_ruby_shebang "$rvm_ruby_src_path/bin/rdoc"
fi
@@ -1664,32 +1749,48 @@
return $result
}
__rvm_inject_ruby_shebang() {
+
+ local actual_file
+
__rvm_actual_file $1
if [[ -f "$actual_file" ]] ; then
sed -e '1,1s=.*=#!'"/usr/bin/env ruby=" ${actual_file} > "${actual_file}.new"
+
mv "${actual_file}.new" "${actual_file}" ; chmod +x "$actual_file"
- fi ; unset actual_file
+ fi
}
__rvm_inject_gem_env() {
+
+ local actual_file string
+
__rvm_actual_file $1
+
if [[ -f "$actual_file" ]] ; then
+
if [[ -n "$(head -n 1 $actual_file | awk '/[j]*ruby/')" ]] ; then
+
string="ENV['GEM_HOME']=ENV['GEM_HOME'] || '$rvm_ruby_gem_home'\nENV['GEM_PATH']=ENV['GEM_PATH'] || '$rvm_ruby_gem_path'\nENV['PATH']='$rvm_ruby_gem_home/bin:$rvm_ruby_global_gems_path/bin:$rvm_ruby_home/bin:' + ENV['PATH']\nENV['BUNDLE_PATH']=ENV['BUNDLE_PATH'] || '$rvm_ruby_gem_home'\n"
+
elif [[ -n "$(head -n 1 $actual_file | awk '/bash/')" ]] ; then
+
string="GEM_HOME=\${GEM_HOME:-'$rvm_ruby_gem_home'}\nGEM_PATH=\${GEM_PATH:-'$rvm_ruby_gem_path'}\nPATH=$rvm_ruby_gem_home/bin:$rvm_ruby_global_gems_path/bin:$rvm_ruby_home/bin:\$PATH\nBUNDLE_PATH=\${BUNDLE_PATH:-'$rvm_ruby_gem_home'}\n"
+
fi
+
if [[ -n "$string" ]] ; then
+
awk "NR==2 {print \"$string\"} {print}" "$actual_file" > "$actual_file.new"
+
mv $actual_file.new $actual_file ; chmod +x "$actual_file"
- unset string
+
fi
- fi ; unset actual_file
+ fi
}
__rvm_actual_file() {
if [[ -L $1 ]] ; then # If the file is a symlink,
actual_file="$(readlink $1)" # read the link target so we can preserve it.
@@ -1703,12 +1804,12 @@
local bin_line=""
rvm_gemset_name=""
rvm_ruby_selected_flag=0
- rvm_ruby_gem_home="${rvm_ruby_gem_home:-""//${rvm_gemset_separator}*}"
- rvm_ruby_string="${rvm_ruby_string:-""//${rvm_gemset_separator}*}"
+ rvm_ruby_gem_home="${rvm_ruby_gem_home:-""//${rvm_gemset_separator:-"@"}*}"
+ rvm_ruby_string="${rvm_ruby_string:-""//${rvm_gemset_separator:-"@"}*}"
# Given list of ruby strings.
if [[ -n "${rubies_string:-""}" ]] ;then
for rvm_ruby_string in "${rubies_string//,/ }" ; do
@@ -1733,10 +1834,11 @@
else # all
if [[ "$action" != "install" && "$action" != "remove" && "$action" != "uninstall" ]] ; then
local ruby_string
+
while read -r ruby_string
do # Keep this on second line damnit!
if [[ -x "$ruby_string" ]] ; then
rvm_ruby_string="$ruby_string"
@@ -1753,14 +1855,14 @@
__rvm_record_install "$ruby_string"
fi
__rvm_unset_ruby_variables
fi
- done < <(builtin cd "$rvm_rubies_path" ; find * -type d -maxdepth 0 2> /dev/null)
+ done < <(builtin cd "$rvm_rubies_path" ; find . -maxdepth 1 -mindepth 1 -type d 2> /dev/null | sed -e 's#./##g')
else
- "$rvm_scripts_path/log" "warn" \
+ "$rvm_path/scripts/log" "warn" \
'Really? '"$action"' all? See "rvm list known" and limit the selection to something more sane please :)'
fi
fi
# TODO: This should return the exit status of the command that got called.
@@ -1769,9 +1871,10 @@
args=($*)
action="${args[0]:-""}"
rubies_string="${args[1]:-""}"
args="$(echo ${args[@]:2}) " # Strip trailing / leading / extra spacing.
+binaries=()
__rvm_manage_rubies
exit $?