How to install bzr on Dreamhost
by Josh Staiger
Bazaar or bzr is a Python-based source code management system that I've noticed is becoming increasingly popular amongst small open-source projects.
Right now I'm not sure what advantages bzr might have over other SCM systems such as Subversion (I suspect it's more light-weight), but it's handy to have when you want to grab the source for a project like Planet Venus.
Here's how I installed bzr on my Dreamhost shell account.
(note: There's not anything special here. This is all pretty standard Unix tarball installation fair. In fact, there's little here that isn't already in the bzr installation guide. I'm providing this as a confidence cushion for other Dreamhost users.)
Fetch it
Downloads of bzr are available here: http://bazaar-vcs.org/Download
Fetch the tarball install into a directory of your choice:
~$ cd ~/incoming ~/incoming$ wget http://bazaar-vcs.org/releases/src/bzr-0.13.tar.gz
Unzip it
~/incoming$ tar -zxvf bzr-0.13.tar.gz
Install it
~/incoming$ cd bzr-0.13 ~/incoming/bzr-0.13$ python2.4 setup.py install --home ~
No problem...
Adjust environmental variables
... except one hiccup when we try to run bzr:
$ bzr bzr: ERROR: Couldn't import bzrlib and dependencies. Please check bzrlib is on your PYTHONPATH. Traceback (most recent call last): File "/home/joshstaiger/bin/bzr", line 62, in ? import bzrlib ImportError: No module named bzrlib
Because we installed bzr in our home directory, the Python code behind bzr is living in a nonstandard location that Python can't see. We add this location to our Python library path by setting the PYTHONPATH environmental variable in our .bashrc.
Modify .bashrc as follows:
echo "export PYTHONPATH=/home/joshstaiger/lib/python" >> ~/.bashrc
(replace "joshstaiger" with your shell login name)
We'll also want the bzr manual to be in our MANPATH if it isn't already, so we can read about bzr in our spare time instead of picking up women:
echo 'export MANPATH=$MANPATH:/home/joshstaiger/man' >> ~/.bashrc
Source .bashrc (or relogin) to pick up our changes:
. ~/.bashrc
Run it
And we're set:~$ bzr Bazaar -- a free distributed version-control tool http://bazaar-vcs.org/ Basic commands: bzr init makes this directory a versioned branch bzr branch make a copy of another branch bzr add make files or directories versioned bzr ignore ignore a file or pattern bzr mv move or rename a versioned file bzr status summarize changes in working copy bzr diff show detailed diffs bzr merge pull in changes from another branch bzr commit save some or all changes bzr log show history of changes bzr check validate storage bzr help init more help on e.g. init command bzr help commands list all commands bzr help topics list all help topics