Labs/Jetpack/FlightDeck/Contribution/Installation
< Labs | Jetpack | FlightDeck | Contribution
Installation
Based on Erik's blog. Aiming to work on any Un*x systems - a few commands may be different - all Ubuntu specific commands are prefixed with (U) . I assume if any other distro is used user already knows how to use it.
Requirements
- Python 2.6
- Git
- MySQL
- database `flightdeck_db`, with all privileges granted to `flightdeck_user`
Prepare the repository
- Create github account
- Fork from the official main repository
Prepare the system
Install needed dev packages
(U) sudo apt-get install python-all-dev python-mysqldb libmysqlclient-dev libxslt-dev libxml2-dev sudo easy_install pip sudo pip install virtualenvwrapper sudo pip install virtualenv
Prepare virtual environment
echo "export WORKON_HOME=~/Envs" > ~/.virtualenvwrapper.sh echo "source /usr/local/bin/virtualenvwrapper.sh" >> ~/.virtualenvwrapper.sh
# OSX echo "source ~/.virtualenvwrapper.sh" >> ~/.bash_profile # Ubuntu echo "source ~/.virtualenvwrapper.sh" >> ~/.bashrc
source ~/.virtualenvwrapper.sh mkvirtualenv --no-site-packages flightdeck
Install repository
Clone
git clone https://github.com/{your_github_username}/FlightDeck.git git remote add main https://github.com/mozilla/FlightDeck.git git submodule update --init --recursive
Install required software to virtual environment
pip install simplejson pip install mysql-python cd FlightDeck pip install -r requirements/development.txt
Configure your local settings
Copy contents of that file to ./settings_local.py, change the password to the database.
Test the configuration
./manage.py test
The result should look similar to this one:
16:23:1296778995 nose.plugins.manager:DEBUG DefaultPluginManager load plugin figleaf-sections = figleaf.nose_sections:FigleafSections :/home/zalun/Projects/FlightDeck/vendor/lib/python/nose/plugins/manager.py:359 nosetests --verbosity 1 16:23:1296778995 nose.plugins.manager:DEBUG DefaultPluginManager load plugin figleaf-sections = figleaf.nose_sections:FigleafSections :/home/zalun/Projects/FlightDeck/vendor/lib/python/nose/plugins/manager.py:359 Creating test database 'default'... ...Skipping setup of test_flightdeck! ...Try FORCE_DB=true if you need fresh databases. No fixtures found. ....................S.....................16:24:1296779079 f.jetpack:ERROR Path not found: None, package: 1000001. :/home/zalun/Projects/FlightDeck/apps/jetpack/views.py:490 ..S..............16:25:1296779107 f.xpi_utils:INFO Created: /tmp/AtFYdVQ2At.xpi :/home/zalun/Projects/FlightDeck/apps/xpi/xpi_utils.py:50 ....16:25:1296779115 f.xpi_utils:INFO Created: /tmp/Sz2p9Xaffh.xpi :/home/zalun/Projects/FlightDeck/apps/xpi/xpi_utils.py:50 ...16:25:1296779122 f.xpi_utils:INFO Created: /tmp/t5PWGw4A87.xpi :/home/zalun/Projects/FlightDeck/apps/xpi/xpi_utils.py:50 16:25:1296779122 f.cron:INFO Deleted: /tmp/t5PWGw4A87.xpi :/home/zalun/Projects/FlightDeck/apps/jetpack/cron.py:30 .16:25:1296779125 f.xpi_utils:INFO Created: /tmp/b49sQMCzeK.xpi :/home/zalun/Projects/FlightDeck/apps/xpi/xpi_utils.py:50 .16:25:1296779128 f.xpi_utils:INFO Created: /tmp/jrTvjdQMnq.xpi :/home/zalun/Projects/FlightDeck/apps/xpi/xpi_utils.py:50 .. ---------------------------------------------------------------------- Ran 70 tests in 133.724s OK (SKIP=2)
Sync database
./manage.py syncdb
You will be asked if admin user should be created. Create it. You will need it to authenticate in the site
Import SDK
All SDKs are located in lib directory
./manage.py add_core_lib addon-sdk-1.0b2
Import Docs
./manage.py import_docs addon-sdk-1.0b2
Run dev server
./manage.py runserver