
This work is based on discussion and etherpadding (is that a verb) on April 14th between Deb, Greg, Karen, Will, and Chris. It was an epic collaborative sprint.
113 lines
2.0 KiB
ReStructuredText
113 lines
2.0 KiB
ReStructuredText
.. _hacking-howto:
|
|
|
|
===============
|
|
Hacking HOWTO
|
|
===============
|
|
|
|
|
|
So you want to hack on GNU MediaGoblin?
|
|
=======================================
|
|
|
|
First thing to do is check out the Web site where we list all the
|
|
project infrastructure including:
|
|
|
|
* the mailing list
|
|
* the IRC channel
|
|
* the bug tracker
|
|
|
|
Additionally, we have information on how to get involved, who to talk
|
|
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:
|
|
|
|
1. virtualenv:
|
|
|
|
http://pypi.python.org/pypi/virtualenv
|
|
|
|
2. virtualenv wrapper:
|
|
|
|
http://www.doughellmann.com/projects/virtualenvwrapper/
|
|
|
|
3. git:
|
|
|
|
http://git-scm.com/
|
|
|
|
|
|
Follow these steps:
|
|
|
|
1. clone the repository::
|
|
|
|
git clone http://git.gitorious.org/mediagoblin/mediagoblin.git
|
|
|
|
2. create a virtual environment::
|
|
|
|
mkvirtualenv mediagoblin
|
|
|
|
3. if that doesn't put you in the virtual environment you created,
|
|
then do::
|
|
|
|
workon mediagoblin
|
|
|
|
4. run::
|
|
|
|
python setup.py develop
|
|
|
|
|
|
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``.
|
|
|
|
|
|
Running the test suite
|
|
======================
|
|
|
|
Run::
|
|
|
|
python setup.py test
|
|
|
|
|
|
Creating a new file
|
|
===================
|
|
|
|
FIXME - this needs to be updated when it's set in stone.
|
|
|
|
All new files need to have license/copyright information.
|
|
|
|
The following kinds of files get the GNU AGPL header:
|
|
|
|
* Python files
|
|
* JavaScript files
|
|
* templates
|
|
* other files with code in them
|
|
|
|
The following files get a CC BY header:
|
|
|
|
* CSS files
|
|
|
|
The following files don't get a header because that's hard, but are
|
|
under the CC BY license:
|
|
|
|
* image files
|
|
* video files
|
|
|
|
|
|
Quickstart for Django programmers
|
|
=================================
|
|
|
|
FIXME - write this
|
|
|
|
|
|
Bite-sized bugs to start with
|
|
=============================
|
|
|
|
FIXME - write this
|