Installing Bugs-Everywhere
Here is a little documentation for getting bugs-everywhere installed on your OS X 10.7 system. Bugs-everywhere is a distributed bug-tracker, designed to work with distributed revision control systems such as Arch, Bazaar, Darcs, Git, Mercurial and Monotone.
The reason I’m publishing this documentation is because the official on-line documentation for bugs-everywhere is terrible, especially for installing on OS X. I fought with it for days before finally seeking help from the be-devel mailing list. Phil Schumm was kind enough to walk me through his own steps and get me squared away.
I shall assume
These instructions assume a few things, a) that you are familiar with CLI, b) that you are using TextMate, c) that you have git installed and d) that you you have a folder in your user directory called “github”.
a) If you’re not familiar with CLI, no worries, every time you see the “$”, that means you are entering the line that follows it into Terminal or your preferred command line interface. So for instance, “$ sudo pip install numpydoc” means that you will enter “sudo pip install numpydoc” into the command line and hit enter.
b) If you are not using TextMate, then replace all the mentions of “mate” with your CLI editor of choice, like vi/vim, nano, pico…
All but the first two steps will be run from the command line.
c) There is plenty of online documentation for installing git. But I would tend to think that you’d already be familiar with git or it’s ilk, otherwise you wouldn’t be installing “be“.
d) The “github” directory comes from having installed the GitHub.app (from GitHub) on my Mac. I don’t actually use the app, but it collected a bunch of my repos for me and I found that handy. I was lazy and never moved it or changed it to just “git” or “repos” or something like that. So where ever you see “github” in the file path, substitute your own directory, where ever you generally collect such repositories.
Warning
I barely got through this myself, and even then, only with the help of Phil Schumm. I make no claim that this info is correct, accurate or even recommended by the “be” developers themselves. It is, however, how I managed to get “be” to work. If it doesn’t work for you, then please take it up with the be-devel mailing list and not here in the comments.
The steps
Install xcode (http://itunes.apple.com/ca/app/xcode/id448457090?mt=12).
- What they don’t tell you in OS X Lion is that the “make” command-line is not installed unless you download and install Xcode 4.
Run the xcode installer app (/Applications/Install Xcode.app).
- Another “gotcha” is that Xcode isn’t actually installed unless you actually install it. It’s a two part Mac App Store process unique to Xcode 4 and Lion I think.
Edit your .bash_profile:
You want to edit your path so that bash can eventually find the “be” command. So first you need to open your profile in your favorite editor:
$ mate ~/.bash_profileThen add these lines (if not already there) and save:
PATH="/usr/local/bin:${PATH}" export PATH
Edit your python path:
Open easy-install in your favorite editor:
$ mate /Library/Python/2.7/site-packages/easy-install.pth…between two import statements add:
/usr/local/lib/python2.7/site-packages
Install pip (optional).
Pip is a python tool for installing and managing Python packages, such as those found in the Python Package Index. It’s an alternative for easy_install but if you’d rather not use it, then substitute further mention of “pip install” with “easy_install“.
$ git clone git://github.com/pypa/pip.git ~/github/pip $ cd ~/github/pip $ sudo python setup.py install
Install the “be” Python dependencies.
“be” has very poorly documented dependencies that you will never find unless you dig deep through the source code, or keep trying to “make test” and weed out the errors and warnings one by one. You can cover all of them by installing these:
$ sudo pip install numpydoc $ sudo pip install pyyaml $ sudo easy_install cherrypy $ sudo easy_install sphinx
Clone bugs-everywhere.
$ git clone git://gitorious.org/be/be.git ~/github/be $ cd ~/github/beEdit the “be” Makefile:
To account for the fact that we want this software installed in /usr/local/
$ mate Makefile…find and edit the lines to match below
RST2MAN = /usr/local/bin/rst2man.py RST2HTML = /usr/local/bin/rst2html.py INSTALL_OPTIONS = "--prefix=/usr/local"
Install “be“:
$ sudo make $ sudo make test $ sudo make installTest to make sure the install worked:
$ be --help
Summary
While I can’t guarantee this works for everyone and I certainly don’t know if this is the right or wrong thing to do, I at least got “be” working on my system, and that was a feat on it’s own.
If this setup doesn’t quite do it for you, or you are having difficulty getting “be” installed on your own system, then please do inquire at the be-devel mailing list.
