/Debexpo

Generic simple-to-use web-based repository management software for Debian source/binary packages.

Primary LanguagePythonOtherNOASSERTION

running debexpo
===============

First, create a virtualenv.

  % sudo apt-get install virtualenvwrapper
  % mkdir ~/.virtualenvs
  % source /etc/bash_completion
  % mkvirtualenv expo
  % workon expo

This creates a virtual Python environment in which you can install the
dependencies for debexpo without altering your system (i.e., without
requiring root). Once you have the virtualenv set up, run this command to
download the dependencies and set up the debexpo code so it can be run:

  % python setup.py develop

You might think you are done, but wait! You have to compile the
translations from "PO" format into "MO" format. To do that:

  % python setup.py compile_catalog

Hooray! Now you're ready to run the automated tests. (The code for the
tests lives in debexpo/tests/*. This is a test suite; you can read more at
http://en.wikipedia.org/wiki/Test_suite .)

  % nosetests --with-pylons=test.ini

As of the time of writing, all the tests do not pass. That means there is
work to do on the test suite.

They should at least run, though.

(Nosetests is a "test runner" package that provides some useful add-ons. It
has its own idiosyncracies, though.)

debugging a debexpo test that fails
===================================

So you've found a test that fails (F) or exits with an unhandled exception (E)?
Time to use the Python debugger.

Run the test suite with these parameters:

  % nosetests --with-pylons=test.ini --pdb-failures --pdb-errors

(If you've used pdb.set_trace(), this is an automatic way that Nose gives
you that functionality.)

debexpo documentation
=====================

The debexpo documentation is being stored in restructured text inside the
docs/ directory. You can find the current installation guide at
docs/installing.rst. You should build and view the html docs by executing:

  % sudo apt-get install python-sphinx # needed to build the docs
  % cd docs/
  % make html
  % sensible-browser .build/html/index.html