Labs/Jetpack/FlightDeck/Contribution/Installation

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

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