rvm 0.1.38 → 0.1.39
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/README +7 -3
- data/binscripts/rvm-prompt +15 -11
- data/config/db +7 -6
- data/config/known +4 -4
- data/config/md5 +6 -4
- data/help/alias +3 -3
- data/help/fetch +3 -3
- data/install +7 -1
- data/lib/VERSION.yml +1 -1
- data/rvm.gemspec +3 -2
- data/scripts/alias +21 -0
- data/scripts/cli +68 -48
- data/scripts/gemsets +3 -3
- data/scripts/info +2 -1
- data/scripts/initialize +6 -1
- data/scripts/install +7 -1
- data/scripts/manage +103 -49
- data/scripts/match +2 -13
- data/scripts/notes +4 -4
- data/scripts/package +13 -6
- data/scripts/rubygems +104 -0
- data/scripts/rvm-install +7 -1
- data/scripts/set +50 -32
- data/scripts/update +7 -1
- data/scripts/utility +54 -0
- data/scripts/wrapper +23 -9
- metadata +5 -4
data/scripts/gemsets
CHANGED
@@ -106,7 +106,7 @@ gemset_copy() {
|
|
106
106
|
cp -Rf "$source_path/$dir" "$destination_path/"
|
107
107
|
done
|
108
108
|
$rvm_scripts_path/log "info" "Making gemset for $destination_ruby pristine."
|
109
|
-
|
109
|
+
(rvm "$destination_ruby" ; gemset_pristine)
|
110
110
|
else
|
111
111
|
$rvm_scripts_path/log "error" "Gems directory does not exist for $source_path ($source_path)"
|
112
112
|
return 1
|
@@ -331,7 +331,7 @@ gemset_prune() {
|
|
331
331
|
mv "$temporary_cache_path" "$live_cache_path"
|
332
332
|
}
|
333
333
|
|
334
|
-
|
334
|
+
gemset_pristine() {
|
335
335
|
gem pristine --all
|
336
336
|
}
|
337
337
|
|
@@ -400,7 +400,7 @@ elif [[ "gemdir" = "$action" ]] || [[ "gempath" = "$action" ]] || [[ "gemhome" =
|
|
400
400
|
elif [[ "install" = "$action" ]] ; then
|
401
401
|
gem_install $*
|
402
402
|
elif [[ "pristine" = "$action" ]] ; then
|
403
|
-
|
403
|
+
gemset_pristine $*
|
404
404
|
elif [[ "initial" = "$action" ]] ; then
|
405
405
|
gemset_initial
|
406
406
|
elif [[ "prune" = "$action" ]] ; then
|
data/scripts/info
CHANGED
@@ -25,12 +25,12 @@ info_system() {
|
|
25
25
|
|
26
26
|
info_rvm() {
|
27
27
|
rvm_info="$rvm_info\n rvm:"
|
28
|
-
rvm_info="$rvm_info\n type: \"$(head -n 1 < <(type rvm))\""
|
29
28
|
rvm_info="$rvm_info\n version: \"$(__rvm_version | tr "\n" ' ' | sed 's/^[[:space:]]*//' | sed 's/[[:space:]]*$//')\""
|
30
29
|
rvm_info="$rvm_info\n"
|
31
30
|
}
|
32
31
|
|
33
32
|
info_ruby() {
|
33
|
+
[[ "$(__rvm_environment_identifier)" == "system" ]] && return
|
34
34
|
ruby=$(command -v ruby)
|
35
35
|
if [[ $? -eq 0 ]] && [[ -x "$ruby" ]] ; then full_version="$($ruby -v)" ; fi
|
36
36
|
rvm_info="$rvm_info\n ruby:"
|
@@ -61,6 +61,7 @@ info_binaries() {
|
|
61
61
|
|
62
62
|
info_environment() {
|
63
63
|
rvm_info="$rvm_info\n environment:"
|
64
|
+
rvm_info="$rvm_info\n PATH: \"$PATH\""
|
64
65
|
rvm_info="$rvm_info\n GEM_HOME: \"$GEM_HOME\""
|
65
66
|
rvm_info="$rvm_info\n GEM_PATH: \"$GEM_PATH\""
|
66
67
|
rvm_info="$rvm_info\n BUNDLE_PATH: \"$BUNDLE_PATH\""
|
data/scripts/initialize
CHANGED
@@ -11,12 +11,17 @@ if [[ ! -z "$rvm_archflags" ]] ; then rvm_make_flags_flag=1 ; fi
|
|
11
11
|
rvm_project_rvmrc="${rvm_project_rvmrc:-1}"
|
12
12
|
rvm_project_rvmrc_default="${rvm_project_rvmrc_default:-0}"
|
13
13
|
|
14
|
+
if [[ "root" = "$(whoami)" ]] ; then
|
15
|
+
rvm_bin_path="${rvm_bin_path:-"/usr/local/bin"}"
|
16
|
+
else
|
17
|
+
rvm_bin_path="${rvm_bin_path:-"$rvm_path/bin"}"
|
18
|
+
fi
|
19
|
+
|
14
20
|
rvm_archives_path="${rvm_archives_path:-"$rvm_path/archives"}"
|
15
21
|
rvm_src_path="${rvm_src_path:-"$rvm_path/src"}"
|
16
22
|
rvm_repo_path="${rvm_repo_path:-"$rvm_path/repos"}"
|
17
23
|
rvm_log_path="${rvm_log_path:-"$rvm_path/log"}"
|
18
24
|
rvm_docs_path="${rvm_docs_path:-"$rvm_path/docs"}"
|
19
|
-
rvm_bin_path="${rvm_bin_path:-"$rvm_path/bin"}"
|
20
25
|
rvm_gems_path="${rvm_gems_path:-"$rvm_path/gems"}"
|
21
26
|
rvm_gemsets_path="${rvm_gemsets_path:-"$rvm_path/gemsets"}"
|
22
27
|
rvm_gems_cache_path="${rvm_gems_cache_path:-"$rvm_gems_path/cache"}"
|
data/scripts/install
CHANGED
@@ -79,7 +79,13 @@ source_path="${source_path:-$cwd}"
|
|
79
79
|
rvm_archives_path="${rvm_archives_path:-"$rvm_path/archives"}"
|
80
80
|
rvm_src_path="${rvm_src_path:-"$rvm_path/src"}"
|
81
81
|
rvm_log_path="${rvm_log_path:-"$rvm_path/log"}"
|
82
|
-
|
82
|
+
|
83
|
+
if [[ "root" = "$(whoami)" ]] ; then
|
84
|
+
rvm_bin_path="${rvm_bin_path:-"/usr/local/bin"}"
|
85
|
+
else
|
86
|
+
rvm_bin_path="${rvm_bin_path:-"$rvm_path/bin"}"
|
87
|
+
fi
|
88
|
+
|
83
89
|
rvm_gems_path="${rvm_gems_path:-"$rvm_path/gems"}"
|
84
90
|
rvm_rubies_path="${rvm_rubies_path:-"$rvm_path/rubies"}"
|
85
91
|
rvm_scripts_path="${rvm_scripts_path:-"$rvm_path/scripts"}"
|
data/scripts/manage
CHANGED
@@ -55,7 +55,10 @@ __rvm_install_source() {
|
|
55
55
|
$rvm_scripts_path/log "error" "There has been an error while configuring. Aborting the installation." ; __rvm_pushpop ; return $result
|
56
56
|
fi
|
57
57
|
elif [[ -s ./configure ]] ; then
|
58
|
-
|
58
|
+
# REE stores configure flags differently for head vs. the distributed release.
|
59
|
+
if [[ "ree" != "$rvm_ruby_interpreter" ]]; then
|
60
|
+
__rvm_db "${rvm_ruby_interpreter}_configure_flags" "db_configure_flags"
|
61
|
+
fi
|
59
62
|
__rvm_run "configure" "./configure --prefix=$rvm_ruby_home $db_configure_flags $rvm_ruby_configure_flags $configure_parameters" "Configuring $rvm_ruby_string, this may take a while depending on your cpu(s)..."
|
60
63
|
result=$? ; if [[ "$result" -gt 0 ]] ; then
|
61
64
|
$rvm_scripts_path/log "error" "There has been an error while running configure. Aborting the installation." ; __rvm_pushpop ; return $result
|
@@ -66,7 +69,19 @@ __rvm_install_source() {
|
|
66
69
|
|
67
70
|
if [[ ! -z "$rvm_ruby_patch" ]] ; then
|
68
71
|
for patch in $(echo $rvm_ruby_patch | tr ',' ' ') ; do
|
69
|
-
|
72
|
+
# detecting patch prefix (see '-p' option desc for 'patch')
|
73
|
+
# patch prefix is separated from patch path with '%' symbol
|
74
|
+
patch_prefix_separator='%'
|
75
|
+
# default prefix is 0
|
76
|
+
rvm_patch_prefix=0
|
77
|
+
# checking, if the patch file path has a prefix separator
|
78
|
+
patch_has_prefix=$(echo $patch | grep -q ${patch_prefix_separator}; echo $?)
|
79
|
+
if [[ "x${patch_has_prefix}" = "x0" ]]; then
|
80
|
+
# so, if it has...
|
81
|
+
rvm_patch_prefix=$(echo $patch | cut -d ${patch_prefix_separator} -f 2)
|
82
|
+
patch=$(echo $patch | cut -d ${patch_prefix_separator} -f 1)
|
83
|
+
fi
|
84
|
+
__rvm_run "patch" "patch -p${rvm_patch_prefix} -f < $patch" "Applying patch '$patch'..."
|
70
85
|
if [[ $? -gt 0 ]] ; then
|
71
86
|
$rvm_scripts_path/log "error" "Patch $patch did not apply cleanly... back to the patching board :(" ; exit 1
|
72
87
|
fi
|
@@ -101,7 +116,7 @@ __rvm_install_source() {
|
|
101
116
|
}
|
102
117
|
|
103
118
|
__rvm_install_ruby() {
|
104
|
-
|
119
|
+
|
105
120
|
if [[ -z "$rvm_ruby_selected_flag" ]] ; then __rvm_select ; fi
|
106
121
|
|
107
122
|
if [[ ! -z "$RUBYOPT" ]] ; then ruby_options="$RUBYOPT" ; unset RUBYOPT ; fi
|
@@ -271,16 +286,7 @@ RubyWrapper
|
|
271
286
|
else
|
272
287
|
__rvm_db "rubinius_repo_url" "rvm_ruby_repo_url"
|
273
288
|
#rvm_ruby_home="$rvm_rubies_path/$rvm_ruby_interpreter-$rvm_ruby_version"
|
274
|
-
|
275
|
-
rm -rf "$rvm_ruby_repo_path" "$rvm_ruby_src_path"
|
276
|
-
builtin cd "$rvm_home"
|
277
|
-
__rvm_run "rbx.repo" "git clone --depth 1 $rvm_ruby_repo_url $rvm_ruby_repo_path" "Cloning $rvm_ruby_repo_url"
|
278
|
-
__rvm_run "rbx.copy" "cp -R \"$rvm_ruby_repo_path\" \"$rvm_ruby_src_path\"" "Copying from repo to source..."
|
279
|
-
builtin cd "$rvm_ruby_src_path"
|
280
|
-
else
|
281
|
-
builtin cd "$rvm_ruby_src_path"
|
282
|
-
__rvm_run "rbx.repo" "git pull origin master" "Pulling from origin master"
|
283
|
-
fi
|
289
|
+
__rvm_fetch_from_github "rbx"
|
284
290
|
result=$? ; if [[ "$result" -gt 0 ]] ; then
|
285
291
|
$rvm_scripts_path/log "error" "There has been an error while fetching the rbx git repo. Aborting the installation." ; __rvm_pushpop ; return $result
|
286
292
|
fi
|
@@ -290,8 +296,10 @@ RubyWrapper
|
|
290
296
|
|
291
297
|
__rvm_db "${rvm_ruby_interpreter}_configure_flags" "db_configure_flags"
|
292
298
|
|
299
|
+
export ruby="$rvm_bin_path/ruby-1.8.7-p$(__rvm_db "ruby_1.8.7_patch_level")"
|
300
|
+
|
293
301
|
rvm_ruby_configure_flags="${rvm_ruby_configure_flags:-"--skip-system"}"
|
294
|
-
rvm_ruby_configure="ruby configure --prefix=$rvm_ruby_home $db_configure_flags $rvm_ruby_configure_flags" ; message="Configuring rbx"
|
302
|
+
rvm_ruby_configure="$ruby configure --prefix=$rvm_ruby_home $db_configure_flags $rvm_ruby_configure_flags" ; message="Configuring rbx"
|
295
303
|
if [[ "$rvm_llvm_flag" = "0" ]] ; then
|
296
304
|
rvm_ruby_configure="$rvm_ruby_configure --disable-llvm"
|
297
305
|
else
|
@@ -305,25 +313,26 @@ RubyWrapper
|
|
305
313
|
fi
|
306
314
|
|
307
315
|
if [[ "$rvm_trace_flag" -eq 1 ]] ; then
|
308
|
-
rvm_ruby_make="$
|
316
|
+
rvm_ruby_make="$ruby -S rake install --trace" ; message="Compiling rbx (with --trace)"
|
309
317
|
else
|
310
|
-
rvm_ruby_make="$
|
318
|
+
rvm_ruby_make="$ruby -S rake install" ; message="Compiling rbx"
|
311
319
|
fi
|
312
320
|
__rvm_run "rake" "$rvm_ruby_make" "$message"
|
313
321
|
result=$? ; if [[ "$result" -gt 0 ]] ; then
|
314
322
|
$rvm_scripts_path/log "error" "There has been an error while running '$rvm_ruby_configure'. Aborting the installation." ; __rvm_pushpop ; return $result
|
315
323
|
fi
|
316
324
|
|
325
|
+
unset ruby
|
326
|
+
|
317
327
|
# Symlink rubinius wrappers
|
318
328
|
ln -fs "$rvm_ruby_home/bin/rbx" "$rvm_ruby_home/bin/irb"
|
319
329
|
ln -fs "$rvm_ruby_home/bin/rbx" "$rvm_ruby_home/bin/ruby"
|
320
330
|
# Install a wrapper around gem.
|
321
331
|
file_name="$rvm_ruby_home/bin/gem"
|
322
|
-
|
323
|
-
|
324
|
-
|
325
|
-
|
326
|
-
fi
|
332
|
+
cp -f "$rvm_ruby_home/lib/bin/gem.rb" "$file_name"
|
333
|
+
|
334
|
+
__rvm_inject_ruby_shebang "$file_name"
|
335
|
+
[[ -f "$file_name" ]] && chmod +x "$file_name"
|
327
336
|
unset file_name
|
328
337
|
|
329
338
|
binaries="erb ri rdoc"
|
@@ -562,17 +571,7 @@ RubyWrapper
|
|
562
571
|
|
563
572
|
rvm_ruby_home="$rvm_rubies_path/$rvm_ruby_interpreter-$rvm_ruby_version"
|
564
573
|
|
565
|
-
|
566
|
-
|
567
|
-
if [[ ! -d "$rvm_ruby_src_path" ]] || [[ ! -d "$rvm_ruby_src_path/.git" ]] ; then
|
568
|
-
rm -rf $rvm_ruby_src_path $rvm_ruby_repo_path
|
569
|
-
__rvm_run "mput.repo" "git clone --depth 1 $rvm_ruby_repo_url $rvm_ruby_repo_path" "Cloning $rvm_ruby_repo_url"
|
570
|
-
__rvm_run "mput.copy" "cp -R \"$rvm_ruby_repo_path\" \"$rvm_ruby_src_path\"" "Copying from repo to source..."
|
571
|
-
builtin cd $rvm_ruby_src_path
|
572
|
-
else
|
573
|
-
builtin cd $rvm_ruby_src_path
|
574
|
-
__rvm_run "mput.repo" "git pull origin trunk" "Pulling from origin trunk"
|
575
|
-
fi
|
574
|
+
__rvm_fetch_from_github "mput" "trunk"
|
576
575
|
|
577
576
|
if [[ ! -s "$rvm_ruby_src_path/configure" ]] ; then
|
578
577
|
if command -v autoconf &> /dev/null ; then
|
@@ -639,15 +638,27 @@ RubyWrapper
|
|
639
638
|
*) $rvm_scripts_path/log "fail" "Ruby interpreter '$rvm_ruby_interpreter' is not known."
|
640
639
|
|
641
640
|
esac
|
642
|
-
|
643
|
-
# Import the initial gemsets.
|
644
|
-
(source $rvm_scripts_path/rvm; rvm use "$rvm_ruby_string"; $rvm_scripts_path/gemsets initial)
|
645
641
|
|
646
642
|
rvm_hook="after_install" ; source $rvm_scripts_path/hook
|
647
643
|
|
648
644
|
if [[ ! -z "$ruby_options" ]] ; then RUBYOPT=$ruby_options ; export RUBYOPT ; fi
|
649
645
|
}
|
650
646
|
|
647
|
+
__rvm_fetch_from_github() {
|
648
|
+
rm -rf "$rvm_ruby_src_path"
|
649
|
+
if [[ ! -d "$rvm_ruby_repo_path/.git" ]] ; then
|
650
|
+
rm -rf "$rvm_ruby_repo_path"
|
651
|
+
builtin cd "$rvm_home"
|
652
|
+
__rvm_run "$1.repo" "git clone --depth 1 $rvm_ruby_repo_url $rvm_ruby_repo_path" "Cloning $rvm_ruby_repo_url"
|
653
|
+
else
|
654
|
+
local branch="${2:-"master"}"
|
655
|
+
builtin cd "$rvm_ruby_repo_path"
|
656
|
+
__rvm_run "$1.repo" "git pull origin $branch" "Pulling from origin $branch"
|
657
|
+
fi
|
658
|
+
__rvm_run "$1.copy" "cp -R \"$rvm_ruby_repo_path\" \"$rvm_ruby_src_path\"" "Copying from repo to source..."
|
659
|
+
builtin cd "$rvm_ruby_src_path"
|
660
|
+
}
|
661
|
+
|
651
662
|
__rvm_fetch_ruby() {
|
652
663
|
if [[ -z "$rvm_ruby_selected_flag" ]] ; then __rvm_select ; fi
|
653
664
|
|
@@ -697,7 +708,7 @@ __rvm_fetch_ruby() {
|
|
697
708
|
builtin cd $rvm_ruby_repo_path
|
698
709
|
if [[ -z "$rvm_ruby_revision" ]] ; then
|
699
710
|
$rvm_scripts_path/log "info" "Pulling from $rvm_ruby_repo_url, this may take a while depending on your connection..."
|
700
|
-
git pull origin master
|
711
|
+
git pull origin master --force
|
701
712
|
result=$? ; if [[ "$result" -gt 0 ]] ; then
|
702
713
|
$rvm_scripts_path/log "error" "There has been an error while trying to update the source from the remote repository. Aborting the installation." ; __rvm_pushpop ; return $result
|
703
714
|
fi
|
@@ -712,8 +723,9 @@ __rvm_fetch_ruby() {
|
|
712
723
|
fi
|
713
724
|
fi
|
714
725
|
else
|
726
|
+
rm -rf "$rvm_ruby_repo_path"
|
715
727
|
$rvm_scripts_path/log "info" "Cloning from $rvm_ruby_repo_url, this may take a while depending on your connection..."
|
716
|
-
git clone --depth 1 $rvm_ruby_repo_url $rvm_ruby_repo_path
|
728
|
+
git clone --depth 1 "$rvm_ruby_repo_url" "$rvm_ruby_repo_path"
|
717
729
|
result=$? ; if [[ "$result" -gt 0 ]] ; then
|
718
730
|
$rvm_scripts_path/log "error" "There has been an error while trying to fetch the repository. Aborting the installation." ; __rvm_pushpop ; return $result
|
719
731
|
fi
|
@@ -760,7 +772,8 @@ __rvm_fetch_ruby() {
|
|
760
772
|
|
761
773
|
fi
|
762
774
|
$rvm_scripts_path/log "info" "Copying from repo to src path..."
|
763
|
-
|
775
|
+
rm -rf "$rvm_ruby_src_path"
|
776
|
+
cp -R "$rvm_ruby_repo_path" "$rvm_ruby_src_path"
|
764
777
|
fi
|
765
778
|
}
|
766
779
|
|
@@ -768,8 +781,7 @@ __rvm_check_default() {
|
|
768
781
|
default_ruby_interpreter="$(rvm alias show default 2>/dev/null | awk -F"${rvm_gemset_seperator:-"@"}" '{print $1}')"
|
769
782
|
current_ruby_interpreter="$(echo "$rvm_ruby_string" | awk -F"${rvm_gemset_seperator:-"@"}" '{print $1}')"
|
770
783
|
if [[ -n "$current_ruby_interpreter" && "$current_ruby_interpreter" == "$default_ruby_interpreter" ]]; then
|
771
|
-
|
772
|
-
(source $rvm_scripts_path/rvm; rvm use system --default)
|
784
|
+
__rvm_run_with_env 'default.restore' 'system' 'rvm use system --default' 'Removing default ruby interpreter'
|
773
785
|
fi
|
774
786
|
unset default_ruby_interpreter current_ruby_interpreter
|
775
787
|
}
|
@@ -818,16 +830,56 @@ __rvm_remove_ruby() {
|
|
818
830
|
|
819
831
|
done ; unset dir
|
820
832
|
__rvm_remove_gemsets
|
833
|
+
__rvm_remove_archives
|
834
|
+
__rvm_remove_aliases
|
835
|
+
__rvm_remove_wrappers
|
836
|
+
__rvm_remove_environments
|
821
837
|
else
|
822
|
-
$rvm_scripts_path/log "fail" "Cannot
|
838
|
+
$rvm_scripts_path/log "fail" "Cannot remove unknown package '$rvm_ruby_string'"
|
823
839
|
fi ; unset rvm_remove_flag
|
824
840
|
}
|
825
841
|
|
826
842
|
__rvm_remove_gemsets() {
|
843
|
+
$rvm_scripts_path/log "info" "Removing $rvm_ruby_string gemsets..."
|
827
844
|
if [[ ! -z "$rvm_gems_flag" ]] ; then
|
828
|
-
|
829
|
-
|
830
|
-
|
845
|
+
gemsets="$rvm_gems_path/$rvm_ruby_string $(ls -d "${rvm_gems_path}"/* | awk '/'$rvm_ruby_string'@/')"
|
846
|
+
for gemset in $gemsets ; do
|
847
|
+
if [[ -d "$gemset" ]] ; then
|
848
|
+
rm -rf "$gemset"
|
849
|
+
fi
|
850
|
+
done ; unset gemset gemsets
|
851
|
+
fi
|
852
|
+
}
|
853
|
+
|
854
|
+
__rvm_remove_wrappers() {
|
855
|
+
$rvm_scripts_path/log "info" "Removing $rvm_ruby_string wrappers..."
|
856
|
+
wrappers="$rvm_wrappers_path/$rvm_ruby_string $(ls -d "$rvm_wrappers_path"/* | awk '/'$rvm_ruby_string'@/')"
|
857
|
+
for wrapper in $wrappers ; do
|
858
|
+
rm -rf "$wrapper"
|
859
|
+
done ; unset wrapper wrappers
|
860
|
+
}
|
861
|
+
__rvm_remove_environments() {
|
862
|
+
$rvm_scripts_path/log "info" "Removing $rvm_ruby_string environments..."
|
863
|
+
environments="$rvm_environments_path/$rvm_ruby_string $(ls -d "$rvm_environments_path"/* | awk '/'$rvm_ruby_string'@/')"
|
864
|
+
for environment in $environments ; do
|
865
|
+
rm -rf "$environment"
|
866
|
+
done ; unset environment environments
|
867
|
+
}
|
868
|
+
__rvm_remove_aliases() {
|
869
|
+
$rvm_scripts_path/log "info" "Removing $rvm_ruby_string aliases..."
|
870
|
+
aliases=$(awk '/'$rvm_ruby_string'/' $rvm_config_path/alias)
|
871
|
+
for alias_name in $aliases ; do
|
872
|
+
# Remove from alias key-value store
|
873
|
+
$rvm_scripts_path/db $rvm_config_path/alias $alias_name delete
|
874
|
+
# Remove the place holding symlink
|
875
|
+
rm -f $rvm_rubies_path/$alias_name
|
876
|
+
done ; unset alias_name aliases
|
877
|
+
}
|
878
|
+
|
879
|
+
__rvm_remove_archives() {
|
880
|
+
$rvm_scripts_path/log "info" "Removing $rvm_ruby_string archives..."
|
881
|
+
if [[ ! -z "$rvm_archive_flag" ]] ; then
|
882
|
+
rm -f $rvm_archives_path/${rvm_ruby_package_file}.${rvm_archive_extension}
|
831
883
|
fi
|
832
884
|
}
|
833
885
|
|
@@ -849,25 +901,26 @@ __rvm_post_install() {
|
|
849
901
|
done ; unset binary binaries
|
850
902
|
fi
|
851
903
|
|
904
|
+
# Import the initial gemsets.
|
905
|
+
__rvm_run_with_env "gemsets.initial" "$rvm_ruby_string" 'rvm gemset initial' "Importing initial gems..."
|
906
|
+
|
852
907
|
__rvm_irbrc
|
853
908
|
__rvm_generate_default_docs
|
854
909
|
|
855
910
|
if [[ -n "$rvm_ruby_aliases" ]]; then
|
856
911
|
$rvm_scripts_path/log "info" "Setting up aliases for $rvm_ruby_string"
|
857
912
|
for ruby_alias in $rvm_ruby_aliases; do
|
858
|
-
$rvm_scripts_path/log
|
913
|
+
$rvm_scripts_path/log info "Aliasing $rvm_ruby_string to $ruby_alias"
|
859
914
|
$rvm_scripts_path/alias delete "$ruby_alias" > /dev/null 2>&1
|
860
915
|
$rvm_scripts_path/alias create "$ruby_alias" "$rvm_ruby_string" > /dev/null 2>&1
|
861
916
|
done
|
862
917
|
unset rvm_ruby_aliases ruby_alias
|
863
918
|
fi
|
864
|
-
|
865
919
|
}
|
866
920
|
|
867
921
|
__rvm_generate_default_docs() {
|
868
922
|
if [[ "$rvm_docs_flag" = "1" && "$rvm_ruby_interpreter" != "macruby" ]]; then
|
869
|
-
$
|
870
|
-
(source $rvm_scripts_path/rvm; rvm use "$rvm_ruby_string"; rvm docs generate-ri) > ~/rvm-install-docs 2>&1
|
923
|
+
__rvm_run_with_env "docs.generate" "$rvm_ruby_string" "rvm docs generate-ri" "Attempting to generate ri documentation..."
|
871
924
|
fi
|
872
925
|
}
|
873
926
|
|
@@ -906,7 +959,8 @@ __rvm_rubygems_setup() {
|
|
906
959
|
ruby_lib_gem_path="$rvm_ruby_home/lib/ruby/gems/jruby"
|
907
960
|
else
|
908
961
|
$rvm_scripts_path/log "info" "Installing rubygems dedicated to $rvm_ruby_string..."
|
909
|
-
rvm_rubygems_version
|
962
|
+
rvm_rubygems_version="$(__rvm_db "${rvm_ruby_interpreter}_rubygems_version")"
|
963
|
+
rvm_rubygems_version="${rvm_rubygems_version:-"$(__rvm_db "rubygems_version")"}"
|
910
964
|
rvm_rubygems_url=$(__rvm_db "rubygems_${rvm_rubygems_version}_url")
|
911
965
|
rvm_gem_package_name="rubygems-$rvm_rubygems_version"
|
912
966
|
rvm_gem_url="$rvm_rubygems_url/$rvm_gem_package_name.tgz"
|
data/scripts/match
CHANGED
@@ -1,16 +1,5 @@
|
|
1
1
|
#!/usr/bin/env bash
|
2
2
|
|
3
|
-
if [[ -z "$1" ]] || [[ -z "$2" ]] ; then
|
4
|
-
exit 1
|
5
|
-
fi
|
3
|
+
if [[ -z "$1" ]] || [[ -z "$2" ]] ; then exit 1 ; fi
|
6
4
|
|
7
|
-
if [[
|
8
|
-
[[ "$1" =~ $2 ]]
|
9
|
-
exit $?
|
10
|
-
else
|
11
|
-
if echo "$1" | grep -q "${2}" ; then
|
12
|
-
exit 0
|
13
|
-
else
|
14
|
-
exit 1
|
15
|
-
fi
|
16
|
-
fi
|
5
|
+
if [[ -n "$(echo "$1" | awk "/${2}/")" ]] ; then exit 0 ; else exit 1 ; fi
|
data/scripts/notes
CHANGED
@@ -9,7 +9,7 @@ if [[ "Linux" = "$system" ]] ; then
|
|
9
9
|
done
|
10
10
|
printf "\n\n$(tput setaf 2)Notes for ${system} $release$(tput sgr0)\n"
|
11
11
|
|
12
|
-
|
12
|
+
rvm_aptitude_binary="$(command -v aptitude)"
|
13
13
|
rvm_emerge_binary="$(command -v emerge)"
|
14
14
|
rvm_pacman_binary="$(command -v pacman)"
|
15
15
|
rvm_yum_binary="$(command -v yum)"
|
@@ -17,12 +17,12 @@ if [[ "Linux" = "$system" ]] ; then
|
|
17
17
|
printf "\n $item curl is required.\n"
|
18
18
|
printf "\n $item patch is required (for ree, some ruby head's).\n"
|
19
19
|
printf "\n $item If you wish to install rbx and/or any MRI head (eg. 1.9.2-head) then you must install and use rvm 1.8.7 first.\n"
|
20
|
-
if [[ ! -z "$
|
20
|
+
if [[ ! -z "$rvm_aptitude_binary" ]] ; then
|
21
21
|
printf "\n $item For JRuby (if you wish to use it) you will need:"
|
22
22
|
printf "\n $ aptitude install curl sun-java6-bin sun-java6-jre sun-java6-jdk"
|
23
23
|
|
24
|
-
printf "\n $item For MRI & ree (if you wish to use it) you will need:"
|
25
|
-
printf "\n $ aptitude install
|
24
|
+
printf "\n $item For MRI & ree (if you wish to use it) you will need (depending on what you are installing):"
|
25
|
+
printf "\n $ aptitude install build-essential bison openssl libreadline5 libreadline-dev curl git-core zlib1g zlib1g-dev libssl-dev vim libsqlite3-0 libsqlite3-dev sqlite3 libreadline5-dev libreadline6-dev libxml2-dev git-core subversion autoconf"
|
26
26
|
|
27
27
|
printf "\n $item For IronRuby (if you wish to use it) you will need:"
|
28
28
|
printf "\n $ aptitude install curl mono-2.0-devel"
|
data/scripts/package
CHANGED
@@ -86,14 +86,21 @@ curl() {
|
|
86
86
|
}
|
87
87
|
|
88
88
|
openssl() {
|
89
|
-
if $rvm_scripts_path/match "$rvm_archflags" "x86_64" ; then
|
90
|
-
export openssl_os="os/compiler darwin64-x86_64-cc"
|
91
|
-
else
|
92
|
-
export openssl_os="os/compiler darwin-i386-cc"
|
93
|
-
fi
|
94
89
|
package="openssl" ; version="0.9.8n" ; archive_format="tar.gz"
|
95
90
|
package_url="http://www.openssl.org/source"
|
96
|
-
|
91
|
+
if [[ "Darwin" = "$(uname)" ]] ; then
|
92
|
+
if $rvm_scripts_path/match "$rvm_archflags" "x86_64" ; then
|
93
|
+
export openssl_os="os/compiler darwin64-x86_64-cc"
|
94
|
+
else
|
95
|
+
export openssl_os="os/compiler darwin-i386-cc"
|
96
|
+
fi
|
97
|
+
configure_command="./Configure"
|
98
|
+
patches="$rvm_patches_path/$package/Makefile.org.patch,$rvm_patches_path/$package/crypto-Makefile.patch"
|
99
|
+
|
100
|
+
else
|
101
|
+
configure_command="./config"
|
102
|
+
fi
|
103
|
+
configure="$configure_command $openssl_os -I$rvm_usr_path/include -L$rvm_usr_path/lib --prefix=$rvm_usr_path zlib no-asm no-krb5 shared"
|
97
104
|
install_package
|
98
105
|
}
|
99
106
|
|
data/scripts/rubygems
ADDED
@@ -0,0 +1,104 @@
|
|
1
|
+
#!/usr/bin/env bash
|
2
|
+
|
3
|
+
source $rvm_scripts_path/initialize
|
4
|
+
source $rvm_scripts_path/utility
|
5
|
+
source $rvm_scripts_path/selector
|
6
|
+
|
7
|
+
result=0
|
8
|
+
|
9
|
+
__rvm_select
|
10
|
+
|
11
|
+
if [[ ! -z "$rvm_trace_flag" ]] ; then set -x ; export rvm_trace_flag ; fi
|
12
|
+
trap "if [[ -d $rvm_tmp_path/ ]] && [[ -s $rvm_tmp_path/$$ ]] ; then rm -f $rvm_tmp_path/$$ > /dev/null 2>&1 ; fi ; exit" 0 1 2 3 15
|
13
|
+
|
14
|
+
rubygems_setup() {
|
15
|
+
unset RUBYOPT
|
16
|
+
if [[ ! -z "$(echo $rvm_ruby_version | awk '/^1\.9/')" ]] || [[ ! -z "$(echo $rvm_ruby_interpreter | awk '/^mput/')" ]] ; then
|
17
|
+
install=0
|
18
|
+
elif [[ "$rvm_ruby_string" = "ruby-head" ]] ; then
|
19
|
+
install=0
|
20
|
+
elif [[ -n "$(echo "$rvm_ruby_string" | awk '/^rbx|jruby|rubinius/')" ]]; then
|
21
|
+
install=0
|
22
|
+
else
|
23
|
+
install=1
|
24
|
+
fi
|
25
|
+
|
26
|
+
if [[ "$install" -eq 0 ]] ; then
|
27
|
+
$rvm_scripts_path/log "error" "Cannot switch to ${version} for this interpreter."
|
28
|
+
exit 1
|
29
|
+
else
|
30
|
+
$rvm_scripts_path/log "info" "Removing old Rubygems files..."
|
31
|
+
rubygems_dir="$(ruby -rrbconfig -e "puts Config::CONFIG.values_at('sitelibdir','vendorlibdir').detect {|path| File.directory?(File.join(path, 'rubygems')) }.to_s")"
|
32
|
+
if [[ -n "$rubygems_dir" && -d "$rubygems_dir" ]]; then
|
33
|
+
# Remove common files installed by ruby gems.
|
34
|
+
rm -rf "${rubygems_dir}/ubygems.rb" "${rubygems_dir}/rubygems.rb" "${rubygems_dir}/rubygems" "${rubygems_dir}/gauntlet_rubygems.rb"
|
35
|
+
fi
|
36
|
+
|
37
|
+
$rvm_scripts_path/log "info" "Installing rubygems dedicated to $rvm_ruby_string..."
|
38
|
+
rvm_rubygems_version="$version"
|
39
|
+
rvm_gem_package_name="rubygems-$rvm_rubygems_version"
|
40
|
+
rvm_rubygems_url=$(__rvm_db "rubygems_${rvm_rubygems_version}_url")
|
41
|
+
rvm_gem_url="$rvm_rubygems_url/$rvm_gem_package_name.tgz"
|
42
|
+
|
43
|
+
# Sanity check... If setup.rb is missing from the rubygems source path,
|
44
|
+
# something went wrong. Cleanup, aisle 3!
|
45
|
+
if [[ ! -f "$rvm_src_path/$rvm_gem_package_name/setup.rb" ]]; then
|
46
|
+
rm -rf "$rvm_src_path/$rvm_gem_package_name"
|
47
|
+
fi
|
48
|
+
|
49
|
+
if [[ ! -d "$rvm_src_path/$rvm_gem_package_name" ]] ; then
|
50
|
+
$rvm_scripts_path/log "info" "Retrieving $rvm_gem_package_name"
|
51
|
+
$rvm_scripts_path/fetch "$rvm_gem_url"
|
52
|
+
result=$? ; if [[ "$result" -gt 0 ]] ; then
|
53
|
+
$rvm_scripts_path/log "error" "There has been an error while trying to fetch the source. Aborting the installation." ; __rvm_pushpop ; return $result
|
54
|
+
fi
|
55
|
+
mkdir -p "$rvm_src_path/$rvm_gem_package_name"
|
56
|
+
__rvm_run "rubygems.extract" "cat $rvm_archives_path/$rvm_gem_package_name.tgz | gunzip | tar xf - -C $rvm_src_path" "Extracting $rvm_gem_package_name ..."
|
57
|
+
fi
|
58
|
+
|
59
|
+
builtin cd "$rvm_src_path/$rvm_gem_package_name"
|
60
|
+
|
61
|
+
__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" "Installing rubygems for $rvm_ruby_home/bin/ruby"
|
62
|
+
result=$?
|
63
|
+
if [[ "$result" == 0 ]] ; then
|
64
|
+
$rvm_scripts_path/log "info" "Installation of rubygems $rvm_ruby_package_name completed successfully."
|
65
|
+
else
|
66
|
+
$rvm_scripts_path/log "warning" "Installation of rubygems $rvm_ruby_package_name did not complete successfully."
|
67
|
+
fi
|
68
|
+
|
69
|
+
if [[ ! -z "$rvm_major_version" ]] ; then
|
70
|
+
ruby_lib_gem_path="$rvm_ruby_home/lib/ruby/gems/${rvm_release_version}.${rvm_major_version}"
|
71
|
+
else
|
72
|
+
ruby_lib_gem_path="$rvm_ruby_home/lib/ruby/gems/$interpreter"
|
73
|
+
fi
|
74
|
+
fi
|
75
|
+
|
76
|
+
# Add ruby's gem path to ruby's lib direcotry.
|
77
|
+
mkdir -p "$(dirname $ruby_lib_gem_path)"
|
78
|
+
|
79
|
+
if [[ -d "$ruby_lib_gem_path" ]] ; then rm -rf "$ruby_lib_gem_path" ; fi
|
80
|
+
|
81
|
+
ln -nfs "$rvm_ruby_gem_home" "$ruby_lib_gem_path"
|
82
|
+
|
83
|
+
unset ruby_lib_gem_path
|
84
|
+
}
|
85
|
+
|
86
|
+
if ! command -v ruby > /dev/null ; then
|
87
|
+
$rvm_scripts_path/log "error" "'ruby' was not found, cannot install rubygems unless ruby is present (Do you have an RVM ruby installed & selected?)"
|
88
|
+
exit 1
|
89
|
+
fi
|
90
|
+
|
91
|
+
#
|
92
|
+
# rvm rubygems use X
|
93
|
+
#
|
94
|
+
if [[ $# -gt 0 ]] ; then
|
95
|
+
version="$1" ; shift
|
96
|
+
args=$(echo "$@" | sed -e 's/^[[:space:]]*//' -e 's/[[:space:]]*$//')
|
97
|
+
else
|
98
|
+
$rvm_scripts_path/log "error" "A version must be specified, for example 'rvm rubygems 1.3.7'"
|
99
|
+
exit 1
|
100
|
+
fi
|
101
|
+
|
102
|
+
rubygems_setup
|
103
|
+
|
104
|
+
exit $result
|