Make reviewboard installable

Review Request #193 — Created Dec. 9, 2007 and submitted


Review Board SVN (deprecated)


This is the first step towards making Review Board easy to install and run for everyone.

I've decided to go with autotools here instead of setuptools, since it turns out that setuptools is a ridiculously limited piece of garbage which falls flat on its face as soon as you try to do something that isn't distributing a python module.  Just try making an empty directory, or pre-processing a text file with the prefix.  I mean it.  Garbage!

On the other hand, since autotools is actually designed to cope with the task of building and distributing software, it makes everything easy.

There's more to do for this before everything is super sweet.
1. Verify that everything that needs to be installed is, actually, installed.
2. Make sure everything that we want to distribute is, actually, distributed.
3. Process the prefix into the sample configs so users can just point their favorite web server at the configuration of their choice.
4. Write init scripts for various linuxes (although maybe just sysvinit is OK, since I bet gentoo will write their own).
5. Build a virtual appliance.  Use this experience to make sure that there are a minimum of steps for a user.
6. Update the GettingStarted wiki page.
7. Write other docs, such as README, AUTHORS, etc.
8. 1.0
- Installed into a weird prefix and ran unit tests.
- Made distcheck.
  1. This generally looks good, though my one major concern is that keeping the file lists up to date may be messy. We either need a good way of testing that all files in our repository/directories are in there or we should just wildcard the files in the directories.
    1. Automake intentionally doesn't have wildcards, since they want people not to be lazy.  It's not too hard to keep these up to date if we remember.  I'll see what I can do about making distcheck run the unit tests, which should be good enough.
  2. trunk/reviewboard/ (Diff revision 1)
    Let's pick something like v0.4. We're way more than a 0.1 at this point, I think, but not quite 1.0 yet.
  3. trunk/reviewboard/contrib/ (Diff revision 1)
    Looks like we have a mix of tabs and spaces here.
    1. Nope, just the highlighting being screwy.
    2. Actually, 'set list' in vim show this line as "EXTRA_DIST = ^I^I^I\$", so the highlighter is complaining about the space before those tabs.