diff --git a/docs/hackinghowto.rst b/docs/hackinghowto.rst index 986219e1..31925413 100644 --- a/docs/hackinghowto.rst +++ b/docs/hackinghowto.rst @@ -22,20 +22,17 @@ to, what needs to be worked on, and other things besides! How to set up an environment for hacking ======================================== -The following assumes you have these things installed: +If running Debian GNU/Linux or a Debian-derived distro such as Mint or +Ubuntu, running the following should install necessary dependencies: -1. virtualenv: - - http://pypi.python.org/pypi/virtualenv - -2. virtualenv wrapper: - - http://www.doughellmann.com/projects/virtualenvwrapper/ - -3. git: - - http://git-scm.com/ + sudo apt-get install mongodb git-core python python-dev python-lxml +Note: The following instructions describe a development environment +that uses `zc.buildout `_ because it +involves less steps to get things running and less knowledge of python +packaging. However, if you prefer to use +`virtualenv `_, +that should work just fine. Follow these steps: @@ -43,28 +40,20 @@ Follow these steps: git clone http://git.gitorious.org/mediagoblin/mediagoblin.git -2. create a virtual environment:: +2. Bootstrap and run buildout:: - mkvirtualenv mediagoblin + cd mediagoblin + python bootstrap.py && ./bin/buildout -3. if that doesn't put you in the virtual environment you created, - then do:: +Now whenever you want to update mediagoblin's dependencies, just run:: - workon mediagoblin - -4. run:: - - python setup.py develop + ./bin/buildout -When you want to work on GNU MediaGoblin, make sure to enter your -virtual environment:: - - workon mediagoblin - -Any changes you make to the code will show up in your virtual -environment--there's no need to continuously run ``python setup.py -develop``. +Using this method, buildout should create a user_dev directory, in +which certain things will be stored (media, beaker session stuff, +etc). You can change this, but for development purposes this default +should be fine. Running the test suite @@ -72,7 +61,7 @@ Running the test suite Run:: - python setup.py test + ./bin/nosetests Creating a new file