diff options
Diffstat (limited to 'dev-ruby/ruby-config/files')
-rw-r--r-- | dev-ruby/ruby-config/files/digest-ruby-config-0.3 | 0 | ||||
-rw-r--r-- | dev-ruby/ruby-config/files/ruby-config-0.2 (renamed from dev-ruby/ruby-config/files/ruby-config.sh) | 2 | ||||
-rw-r--r-- | dev-ruby/ruby-config/files/ruby-config-0.3 | 144 |
3 files changed, 145 insertions, 1 deletions
diff --git a/dev-ruby/ruby-config/files/digest-ruby-config-0.3 b/dev-ruby/ruby-config/files/digest-ruby-config-0.3 new file mode 100644 index 000000000000..e69de29bb2d1 --- /dev/null +++ b/dev-ruby/ruby-config/files/digest-ruby-config-0.3 diff --git a/dev-ruby/ruby-config/files/ruby-config.sh b/dev-ruby/ruby-config/files/ruby-config-0.2 index 10b4ded20862..d1adfecb4f9a 100644 --- a/dev-ruby/ruby-config/files/ruby-config.sh +++ b/dev-ruby/ruby-config/files/ruby-config-0.2 @@ -2,7 +2,7 @@ # Copyright 1999-2004 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/dev-ruby/ruby-config/files/ruby-config.sh,v 1.3 2004/07/14 22:04:35 agriffis Exp $ +# $Header: /var/cvsroot/gentoo-x86/dev-ruby/ruby-config/files/ruby-config-0.2,v 1.1 2004/07/31 19:17:20 usata Exp $ # Author: Mamoru KOMACHI <usata@gentoo.org> diff --git a/dev-ruby/ruby-config/files/ruby-config-0.3 b/dev-ruby/ruby-config/files/ruby-config-0.3 new file mode 100644 index 000000000000..d6c99dedc0d1 --- /dev/null +++ b/dev-ruby/ruby-config/files/ruby-config-0.3 @@ -0,0 +1,144 @@ +#!/bin/bash + +# Copyright 1999-2004 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/dev-ruby/ruby-config/files/ruby-config-0.3,v 1.1 2004/07/31 19:17:20 usata Exp $ + +# Author: Mamoru KOMACHI <usata@gentoo.org> + +if [ -r /etc/init.d/functions.sh ] ; then + source /etc/init.d/functions.sh +elif [ -r /usr/lib/portage/bin/functions.sh ] ; then + source /usr/lib/portage/bin/functions.sh +else + echo "Could not find functions.sh" + exit 1 +fi + +#dummy function +EXPORT_FUNCTIONS() { :; } + +ALTERNATIVES="$(portageq portdir)/eclass/alternatives.eclass" + +if [ -r "${ALTERNATIVES}" ] ; then + source ${ALTERNATIVES} +else + echo "Could not find ${ALTERNATIVES}" + exit 1 +fi + +usage() { +cat << "USAGE_END" +Usage: ruby-config [Option] [Ruby Profile] +Change the current ruby profile, or give info about profiles. + +Options: + + -c, --get-current-profile + Print current used ruby profile. + -l, --list-profiles + List available ruby profiles. + -h, --show-help + Print this help. + +The profile name is either ruby16, ruby18 or ruby19. + +USAGE_END +exit 1 +} + +if [ "$#" -lt 1 ] ; then + usage +fi + +switch_profile() { + case "$(portageq envvar ARCH)" in + macos) + eerror "Switching ruby profiles are not supported on Gentoo for Mac OS X." + ;; + *) + if [ "$EUID" != 0 ] ; then + eerror "You need root privilege to switch profile." + exit 1 + fi + if [ "`expr $1 : ruby`" != 0 -a "$1" != "ruby" ] ; then + local suf=${1/ruby/} + # don't make symlink to ri + for i in ruby irb erb testrb rdoc ; do + alternatives_makesym \ + /usr/bin/$i /usr/bin/${i}{$suf,18,16,19} + done + alternatives_makesym \ + /usr/lib/libruby.so /usr/lib/libruby{$suf,18,16,19}.so + alternatives_makesym \ + /usr/share/man/man1/ruby.1.gz \ + /usr/share/man/man1/ruby{$suf,18,16,19}.1.gz + else + eerror "Unsupported profile." + fi + ;; + esac +} + +get_current_profile() { + case "$(portageq envvar ARCH)" in + macos) + einfo "/usr/bin/ruby is ruby 1.6.8." + ;; + *) + if [ ! -L /usr/bin/ruby ] ; then + eerror "Your ruby doesn't seem to support SLOT." + exit 1 + fi + einfo "Your current profile refers to $(readlink /usr/bin/ruby)." + ;; + esac +} + +list_profiles() { + case "$(portageq envvar ARCH)" in + macos) + einfo "You cannot switch between profiles on Mac OS X." + einfo "Installed profiles are:" + for f in /usr/bin/ruby[0-9][0-9] ; do + einfo "\t${f#/usr/bin/}" + done + ;; + *) + einfo "Supported profiles are:" + for f in /usr/bin/ruby[0-9][0-9] ; do + einfo "\t${f#/usr/bin/}" + done + einfo "You can specify one of the profiles listed above." + einfo "e.g.) ruby-config ruby16" + ;; + esac +} + +for x in $* ; do + if [ "$#" -gt 1 ] ; then + eerror "ruby-config accepts only one argument." + eerror "Run $0 -h for help." + exit 1 + fi + case "${x}" in + -c|--get-current-profile) + get_current_profile + ;; + -h|--show-help) + usage + ;; + -l|--list-profiles) + list_profiles + ;; + -*) + eerror "Invalid option. Run $0 -h for help." + exit 1 + ;; + *) + switch_profile $* + ;; + esac + + exit 0 +done |