aboutsummaryrefslogtreecommitdiff
path: root/README
diff options
context:
space:
mode:
Diffstat (limited to 'README')
-rw-r--r--README61
1 files changed, 39 insertions, 22 deletions
diff --git a/README b/README
index dd2be04..6239b75 100644
--- a/README
+++ b/README
@@ -1,19 +1,19 @@
-rbpm (ruby path mangler)
+gbpm (<generic binary> path mangler)
-https://git.potato.am/rbpm.git/
-Manage multiple Ruby installations with no black magic.
+https://git.potato.am/gbpm.git/
+Manage multiple Python/Ruby/etc. installations with no black magic.
NOTES
- rbpm only manages rubies located in the ~/.rubies directory. This
- directory can be changed by setting the RUBIES_PATH environment
- variable to some other location. rbpm does not display information
- about rubies it does not manage, such as any system-wide install.
+ gbpm only manages installations located in GBPM_OPTS_PATH, shadowing
+ binaries already reachable from PATH. No information on external
+ installations is displayed.
- rbpm performs a substring match when selecting a ruby. If there are
- multiple matches, it gives precedence to matches at the start of the
- version. If there are still multiple, the greatest of those is used.
+ A substring match is performed when selecting an installation, with
+ tiebreak rules to choose intuitively, the greatest being selected
+ amongst equally ranked matches. For example, `2.1' will match
+ `python-2.1.3' over `python-2.1.2' or `python-3.2.1'.
DEPENDENCIES
@@ -24,21 +24,32 @@ DEPENDENCIES
INSTALLING
- Save the script to a safe location, then add the following function to
- your ~/.bashrc or equivalent file:
+ The output of this script is a series of commands to be executed, e.g.
+ via a shell function in `~/.bashrc':
- rbpm() { source <(/path/to/rbpm.sh "${@}"); }
+ pypm() {
+ . <(
+ GBPM_OPTS_PATH="${HOME}/.pythons" \
+ /path/to/gbpm.sh "${@}")
+ }
+ rbpm() {
+ . <(
+ GBPM_OPTS_PATH="${HOME}/.rubies" \
+ /path/to/gbpm.sh "${@}")
+ }
-INSTALLING RUBIES
- The path to the executable should look something like this:
+INSTALLING VERSIONS
+
+ With `~/.rubies' as the managed directory, the path to a ruby binary
+ should look something like:
~/.rubies/ruby-2.1.2/bin/ruby
To install Ruby to this directory:
- $ wget http://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.2.tar.bz2
+ $ wget https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.2.tar.bz2
$ tar -xf ruby-2.1.2.tar.bz2
$ cd ruby-2.1.2
$ ./configure --prefix="${HOME}"/.rubies/ruby-2.1.2
@@ -48,7 +59,10 @@ INSTALLING RUBIES
USAGE
- A sequence of commands showing rbpm in use:
+ A series of commands showing gbpm in use, through an `rbpm' function:
+
+ $ ruby -v
+ bash: ruby: command not found
$ rbpm ls
ruby-1.8.7-p374
@@ -56,7 +70,7 @@ USAGE
ruby-2.1.2
$ rbpm set 2.1
- Adding /home/omp/.rubies/ruby-2.1.2/bin to PATH.
+ adding /home/david/.rubies/ruby-2.1.2/bin to PATH
$ rbpm ls
ruby-1.8.7-p374
@@ -67,19 +81,22 @@ USAGE
ruby 2.1.2p95 (2014-05-08 revision 45877) [x86_64-linux]
$ rbpm set 1.9
- Removing /home/omp/.rubies/ruby-2.1.2/bin from PATH.
- Adding /home/omp/.rubies/ruby-1.9.3-p547/bin to PATH.
+ removing /home/david/.rubies/ruby-2.1.2/bin from PATH
+ adding /home/david/.rubies/ruby-1.9.3-p547/bin to PATH
$ ruby -v
ruby 1.9.3p547 (2014-05-14 revision 45962) [x86_64-linux]
$ rbpm clear
- Removing /home/omp/.rubies/ruby-1.9.3-p547/bin from PATH.
+ removing /home/david/.rubies/ruby-1.9.3-p547/bin from PATH
+
+ $ ruby -v
+ bash: ruby: command not found
To set the version from a .ruby-version file:
$ rbpm set $(cat .ruby-version)
- Adding /home/omp/.rubies/ruby-1.8.7-p374/bin to PATH.
+ adding /home/david/.rubies/ruby-1.8.7-p374/bin to PATH
AUTHORS