scripts/rvm-install in rvm-1.0.11 vs scripts/rvm-install in rvm-1.0.13
- old
+ new
@@ -1,50 +1,68 @@
#!/usr/bin/env bash
set -o errtrace
+set -o errexit
+
export PS4='+[${BASH_SOURCE}] : ${LINENO} : ${FUNCNAME[0]:+${FUNCNAME[0]}() $ }'
if [[ -z "$rvm_selfcontained" ]]; then
- if [[ "root" = "$(whoami)" ]] || [[ -n "$rvm_prefix" && "$rvm_prefix" != "$HOME"/* ]]; then
+ if [[ "root" = "$(whoami)" \
+ || -n "$rvm_prefix" && "$rvm_prefix" != "$HOME"/* ]]; then
export rvm_selfcontained=0
else
export rvm_selfcontained=1
fi
fi
unset rvm_auto_flag
install_source_path="$(dirname "$0" | sed 's#\/scripts$##')"
-if [[ -d "$install_source_path/scripts" ]] && [[ -s "$install_source_path/scripts/utility" ]] ; then
+if [[ -d "$install_source_path/scripts" \
+ && -s "$install_source_path/scripts/utility" ]] ; then
builtin cd "$install_source_path"
fi
source scripts/version
source scripts/utility
-usage() {
+usage()
+{
printf "
Usage:
+
${0} [options]
options:
+
--auto : Automatically update shell profile files.
+
--prefix : Installation prefix directory.
+
--help : Display help/usage (this) message
+
--version : display rvm package version
+
"
}
-check_rubyopt_conditions() {
+check_rubyopt_conditions()
+{
if [[ -n "${RUBYOPT:-""}" ]]; then
- printf "\n\nWARNING: You have RUBYOPT set in your current environment. This may interfere with normal rvm"
- printf "\n operation. If errors show up, please try unsetting RUBYOPT first.\n"
+ printf "
+
+WARNING: You have RUBYOPT set in your current environment.
+This may cause rubies to not work as you expect them to as it is not supported
+by all of them If errors show up, please try unsetting RUBYOPT first.
+
+"
fi
}
-andand_return_instructions() {
+andand_return_instructions()
+{
printf "
This means that if you see something like:
'[ -z \"\$PS1\" ] && return'
@@ -61,11 +79,12 @@
EOF - This marks the end of the .bashrc file
"
}
-installation_complete() {
+installation_complete()
+{
printf "
You must now complete the install by loading RVM in new shells.
1) Place the folowing line at the end of your shell's loading files
(.bashrc or .bash_profile for bash and .zshrc for zsh),
@@ -89,11 +108,12 @@
3) CLOSE THIS SHELL and open a new one in order to use rvm.
\n"
}
-andand_return_warning() {
+andand_return_warning()
+{
printf "
WARNING: you have a 'return' statement in your ~/.bashrc
This could cause some features of RVM to not work.
$(andand_return_instructions)
@@ -102,11 +122,12 @@
If you have any questions about this please visit
#rvm on irc.freenode.net.
\n"
}
-thank_you() {
+thank_you()
+{
printf "
${name:-"$(whoami)"},
Thank you very much for using RVM! I sincerely hope that RVM helps to
make your work both easier and more enjoyable.
@@ -133,11 +154,12 @@
~ Wayne
"
}
-upgrade_notes() {
+upgrade_notes()
+{
printf "
Upgrade Notes
* Ruby package dependency list for your OS is given by:
@@ -185,18 +207,27 @@
rvm_path="${rvm_prefix}rvm"
fi
source scripts/initialize
-if grep -q 'scripts/rvm' "$HOME"/.bash* 2>/dev/null || grep -q 'scripts/rvm' "$HOME"/.zsh* 2>/dev/null; then
+if grep -q 'scripts/rvm' "$HOME"/.bash* 2>/dev/null \
+ || grep -q 'scripts/rvm' "$HOME"/.zsh* 2>/dev/null ; then
+
if [[ -d "$rvm_path" ]] && [[ -s "${rvm_path}/scripts/rvm" ]] ; then
+
export upgrade_flag=1
+
else
+
export upgrade_flag=0
+
fi
+
else
+
export upgrade_flag=0
+
fi
__rvm_initialize
#
@@ -235,11 +266,21 @@
printf "\nInstalling RVM to $rvm_path/"
fi
-directories=( "${rvm_archives_path:-"$rvm_path/archives"}" "${rvm_src_path:-"$rvm_path/src"}" "${rvm_log_path:-"$rvm_path/log"}" "$rvm_bin_path" "${rvm_gems_path:-"$rvm_path/gems"}" "${rvm_rubies_path:-"$rvm_path/rubies"}" "$rvm_path/config" "${rvm_tmp_path:-"$rvm_path/tmp"}" "$rvm_path/bin" )
+directories=(
+ "${rvm_archives_path:-"$rvm_path/archives"}"
+ "${rvm_src_path:-"$rvm_path/src"}"
+ "${rvm_log_path:-"$rvm_path/log"}"
+ "$rvm_bin_path"
+ "${rvm_gems_path:-"$rvm_path/gems"}"
+ "${rvm_rubies_path:-"$rvm_path/rubies"}"
+ "$rvm_path/config"
+ "${rvm_tmp_path:-"$rvm_path/tmp"}"
+ "$rvm_path/bin"
+ )
for directory in "${directories[@]}" ; do
if [[ ! -d "$directory" ]] ; then
@@ -275,11 +316,12 @@
fi
done
if [[ ! -s "$rvm_path/config/user" ]] ; then
- echo '# Users settings file, overrides db file settings and persists across installs.' >> "$rvm_path/config/user"
+ echo '# User settings, overrides db settings and persists across installs.' \
+ >> "$rvm_path/config/user"
fi
scripts=(monitor match log install color db fetch log set package)
for script_name in "${scripts[@]}" ; do
@@ -319,23 +361,29 @@
if [[ -s "$HOME/.profile" ]] ; then
if ! grep -q '.profile' "$rcfile" ; then
- echo " Adding 'if [[ -s \$HOME/.profile ]] ; then source \$HOME ; fi' to $rcfile."
+ echo " Adding profile sourcing line to $rcfile."
- printf "\n# rvm-install added line:\nif [[ -s \$HOME/.profile ]] ; then source \$HOME/.profile ; fi\n" >> "$rcfile"
+ printf "
+# rvm-install added line:
+[[ -s \$HOME/.profile ]] && source \$HOME/.profile
+" >> "$rcfile"
fi
fi
if ! grep -q "scripts\/rvm" "$rcfile" ; then
- echo " Adding 'if [[ -s $rvm_path/scripts/rvm ]] ; then source $rvm_path/scripts/rvm ; fi' to $rcfile."
+ echo " Adding rvm loading line to $rcfile."
- printf "\n# rvm-install added:\nif [[ -s $rvm_path/scripts/rvm ]] ; then source $rvm_path/scripts/rvm ; fi\n" >> "$rcfile"
+ printf "
+# rvm-install added:
+[[ -s \"$rvm_path/.rvm/scripts/rvm\" ]] && . \"$rvm_path/.rvm/scripts/rvm\"
+" >> "$rcfile"
fi
done
fi
@@ -350,21 +398,22 @@
mkdir -p "$rvm_path/gemsets"
fi
- for gemset_file in $(builtin cd gemsets ; find \. -iname '*.gems' | sed 's/^\.\///') ; do
+ for gemset_file in $(find "$PWD/gemsets" -iname '*.gems' | sed 's/^\.\///') ; do
- destination="$rvm_path/gemsets/$gemset_file"
+ cwd="${PWD//\//\\/}\/gemsets\/"
+ destination="$rvm_path/gemsets/${gemset_file/$cwd}"
destination_path="$(dirname "$destination")"
if [[ ! -s "$destination" ]] ; then
mkdir -p "$destination_path"
- cp "gemsets/$gemset_file" "$destination"
+ cp "$gemset_file" "$destination"
fi
done
@@ -402,11 +451,12 @@
#
# Migrate ~/.rvm/ruby-X,jruby-X,... to ~/.rvm/rubies/ for 0.1.0.
#
mkdir -p "${rvm_rubies_path:-"$rvm_path/rubies"}/"
-for ruby in $rvm_path/ruby-* $rvm_path/jruby-* $rvm_path/mput-* $rvm_path/rbx-* $rvm_path/maglev-* $rvm_path/ree-* ; do
+for ruby in $rvm_path/ruby-* $rvm_path/jruby-* $rvm_path/mput-* \
+ $rvm_path/rbx-* $rvm_path/maglev-* $rvm_path/ree-* ; do
if [[ -d "$ruby" ]] ; then
mv "$ruby" "${rvm_rubies_path:-"$rvm_path/rubies"}/"
@@ -414,11 +464,12 @@
for file in gem rake ; do
if [[ -s "$new_path/bin/$file" ]] ; then
- sed -e '1,1s=.*=#!'"${new_path}/bin/ruby=" "${new_path}/bin/${file}" > "${new_path}/bin/${file}.new"
+ sed -e '1,1s=.*=#!'"${new_path}/bin/ruby=" "${new_path}/bin/${file}" \
+ > "${new_path}/bin/${file}.new"
mv -f "$new_path/bin/$file.new" "$new_path/bin/$file"
chmod +x "$new_path/bin/$file"
@@ -479,11 +530,12 @@
done
# Move from legacy defaults to the new, alias based system.
if [[ -s "$rvm_path/config/default" ]]; then
- original_version="$(basename "$(grep GEM_HOME "$rvm_path/config/default" | awk -F"'" '{print $2}' | sed "s#\%#${rvm_gemset_separator:-"@"}#")")"
+ original_version="$(basename "$(grep GEM_HOME "$rvm_path/config/default" \
+ | awk -F"'" '{print $2}' | sed "s#\%#${rvm_gemset_separator:-"@"}#")")"
if [[ -n "$original_version" ]]; then
"$rvm_path/scripts/alias" create default "$original_version" &> /dev/null
@@ -503,23 +555,28 @@
mkdir -p "${rvm_bin_path:-"$rvm_path/bin"}"
files=(rvm rvmsudo rvm-shell rvm-auto-ruby)
for file in "${files[@]}" ; do
- [[ -s "${rvm_bin_path:-"$rvm_path/bin"}/$file" ]] && chmod +x "${rvm_bin_path:-"$rvm_path/bin"}/$file"
+ if [[ -s "${rvm_bin_path:-"$rvm_path/bin"}/$file" ]] ; then
+ chmod +x "${rvm_bin_path:-"$rvm_path/bin"}/$file"
+
+ fi
+
done
printf "\n Copying manpages into place."
-files=($(builtin cd "$install_source_path/man" ; find . -maxdepth 1 -mindepth 1 -type f -print))
+files=($(builtin cd "$install_source_path/man" ; \
+ find . -maxdepth 1 -mindepth 1 -type f -print))
for file in "${files[@]//.\/}" ; do
- rm -rf "$rvm_man_path/$man_file"
+ rm -rf "$rvm_man_path/$file"
- cp -R "$install_source_path/man/$man_file" "$rvm_man_path/"
+ cp -R "$install_source_path/man/$file" "$rvm_man_path/"
done
files=($( find "$rvm_path/" -mindepth 1 -maxdepth 2 -iname '*.swp' -type f ))
@@ -535,22 +592,20 @@
done
fi
if [[ $upgrade_flag -eq 0 ]] ; then
- chmod +x ./script/notes # Sometimes things don't clone properly :/
+ chmod +x ./scripts/notes # Sometimes things don't clone properly :/
./scripts/notes
fi
name="$(awk -F= '/^[[:space:]]*name/{print $2}' ~/.gitconfig 2>/dev/null)"
if [[ ${upgrade_flag:-0} -eq 1 ]] ; then
upgrade_notes
check_rubyopt_conditions
-
- regenerate_wrappers
printf "\nUpgrade of RVM in $rvm_path/ is complete.\n\n"
else