From 2fb2300d1bd1c1f80a597996a61ce435cdcef4ad Mon Sep 17 00:00:00 2001 From: Luke Faraone Date: Wed, 10 Jun 2015 11:57:08 -0700 Subject: [PATCH] Initial attempt at README.dev and requirements.txt (imported from commit dea8b88114a419a127105a81c334f54670f65625) --- README.dev | 59 +++++++++++++++++++++++++++++++++++++++++++ requirements.txt | 65 ++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 124 insertions(+) create mode 100644 README.dev create mode 100644 requirements.txt diff --git a/README.dev b/README.dev new file mode 100644 index 0000000000..3aea867c6c --- /dev/null +++ b/README.dev @@ -0,0 +1,59 @@ +Getting started +=============== + +Install the following non-Python dependencies: + * libffi-dev — needed for some Python extensions + * postgresql 9.1 or later — our database (also install development headers) + * memcached (and headers) + * rabbitmq-server + * libldap2-dev + * python-dev + * redis-server — rate limiting + * tsearch-extras — better text search + +On Debian or Ubuntu systems: + sudo apt-get install libffi-dev memcached rabbitmq-server libldap2-dev redis-server postgresql-server-dev-all libmemcached-dev + + # If on 12.04 or wheezy: + sudo apt-get install postgresql-9.1 + wget https://dl.dropboxusercontent.com/u/283158365/zuliposs/postgresql-9.1-tsearch-extras_0.1.2_amd64.deb + sudo dpkg -i postgresql-9.1-tsearch-extras_0.1.2_amd64.deb + + # If on 14.04, wait for us to support it. + # If on 15.04 or jessie: + sudo apt-get install postgresql-9.4 + wget https://dl.dropboxusercontent.com/u/283158365/zuliposs/postgresql-9.4-tsearch-extras_0.1_amd64.deb + sudo dpkg -i postgresql-9.4-tsearch-extras_0.1_amd64.deb + + # Then, all versions: + pip install -r requirements.txt + ./scripts/setup/configure-rabbitmq + ./tools/postgres-init-db + ./tools/do-destroy-rebuild-database + +To start the development server: + ./tools/run-dev.py + +… and hit http://localhost:9991/. + + +Running the test suite +====================== + +One-time setup: + ./tools/postgres-init-test-db + ./tools/do-destroy-rebuild-test-database + +Backend tests: + ./tools/test-backend + +Frontend tests: TBD + +Possible issues +=============== + +When running the test suite, if you get an error like this: + sqlalchemy.exc.ProgrammingError: (ProgrammingError) function ts_match_locs_array(unknown, text, tsquery) does not exist + LINE 2: ...ECT message_id, flags, subject, rendered_content, ts_match_l... + ^ +… then you need to install tsearch-extras, described above. Afterwards, re-run the init*-db and the do-destroy-rebuild*-database scripts. diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000000..cc5ab13841 --- /dev/null +++ b/requirements.txt @@ -0,0 +1,65 @@ +git+https://github.com/acrefoot/django.git@fc00abecdb583a4ae7a9392c7d55807c4f8ea405 +GitPython==0.3.2.1 +Markdown==2.1.1 +Pillow==2.8.2 +Pygments==2.0.2 +SQLAlchemy==0.7.8 +South==1.0.2 +Twisted==15.2.1 +apns-client==0.2.1 +argparse==1.2.1 +boto==2.38.0 +certifi==2015.4.28 +cffi==1.1.2 +chardet==2.3.0 +cryptography==0.9.1 +defusedxml==0.4.1 +diff-match-patch==20121119 +django-auth-ldap==1.2.6 +django-bitfield==1.7.1 +git+https://github.com/zulip/django-guardian.git +git+https://github.com/zulip/django-openid-auth.git +https://django-openid-consumer.googlecode.com/files/django-openid-consumer-0.1.1.tar.gz +django-pipeline==1.2.2 +docopt==0.4.0 +enum34==1.0.4 +gcm-client==0.1.4 +gitdb==0.6.4 +google-api-python-client==1.4.0 +html2text==2015.6.6 +httplib2==0.9.1 +idna==2.0 +ipaddress==1.0.7 +jwt==0.3.2 +mandrill==1.0.57 +mock==1.0.1 +oauth2client==1.4.11 +oauthlib==0.1.3 +pika==0.9.14 +postmonkey==1.0b0 +psycopg2==2.6 +pyOpenSSL==0.15.1 +pyasn1==0.1.7 +pyasn1-modules==0.0.5 +pycparser==2.14 +pycrypto==2.6.1 +pydns==2.3.6 +pyflakes==0.9.1 +pylibmc==1.4.3 +python-ldap==2.4.19 +python-openid==2.2.5 +pytz==2015.4 +redis==2.10.3 +requests==2.7.0 +rsa==3.1.4 +simplejson==3.7.3 +six==1.9.0 +smmap==0.9.0 +sockjs-tornado==1.0.1 +sourcemap==0.1.8 +tornado==2.4.1 +twitter==1.17.0 +ujson==1.33 +uritemplate==0.6 +wsgiref==0.1.2 +zope.interface==4.1.2