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.

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

  1. 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.
  2. 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.
  3. 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:

      $ vim ~/.bash_profile
      
    • Then add these lines (if not already there) and save:

      PATH="/usr/local/bin:${PATH}" export PATH
      
  4. Edit your python path:

    • Open easy-install in your favorite editor:

      $ vim /Library/Python/2.7/site-packages/easy-install.pth
      
    • …between two import statements add:

      /usr/local/lib/python2.7/site-packages
      
  5. 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 easy_install numpydoc
      $ sudo easy_install pyyaml
      $ sudo easy_install cherrypy
      $ sudo easy_install sphinx
      $ sudo easy_install jinja2
      $ sudo easy_install docutils
      
  6. Clone bugs-everywhere.

    $ git clone git://gitorious.org/be/be.git ~/be
    $ cd ~/be
    
  7. Edit the “be” Makefile:

    • To account for the fact that we want this software installed in /usr/local/

      $ vim 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"
      
  8. Install “be“:

    $ sudo make
    $ sudo make test
    $ sudo make install
    
  9. Test 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.

 

Adam Merrifield

 

Leave a Reply