summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'dev-ruby/ruby-config/files/ruby-config-0.2')
-rw-r--r--dev-ruby/ruby-config/files/ruby-config-0.2122
1 files changed, 122 insertions, 0 deletions
diff --git a/dev-ruby/ruby-config/files/ruby-config-0.2 b/dev-ruby/ruby-config/files/ruby-config-0.2
new file mode 100644
index 000000000000..d1adfecb4f9a
--- /dev/null
+++ b/dev-ruby/ruby-config/files/ruby-config-0.2
@@ -0,0 +1,122 @@
+#!/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.2,v 1.1 2004/07/31 19:17:20 usata Exp $
+
+# Author: Mamoru KOMACHI <usata@gentoo.org>
+
+if [ -z "${PORTDIR}" ] ; then
+ [ -r /etc/make.conf ] && source /etc/make.conf
+ if [ -z "${PORTDIR}" ] ; then
+ [ -r /etc/make.globals ] && source /etc/make.globals
+ fi
+fi
+
+if [ -r /etc/init.d/functions.sh ] ; then
+ source /etc/init.d/functions.sh
+else
+ echo "Could not find /etc/init.d/functions.sh"
+ exit 1
+fi
+
+#dummy function
+EXPORT_FUNCTIONS() { :; }
+
+if [ -r ${PORTDIR:-/usr/portage}/eclass/alternatives.eclass ] ; then
+ source ${PORTDIR:-/usr/portage}/eclass/alternatives.eclass
+else
+ echo "Could not find ${PORTDIR:-/usr/portage}/bin/ebuild.sh"
+ 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() {
+ 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
+}
+
+get_current_profile() {
+ 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)."
+}
+
+list_profiles() {
+ 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"
+}
+
+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