Size: 1929
Comment: Moving to permanent location
|
Size: 2954
Comment: Add note about reading git instructions first
|
Deletions are marked like this. | Additions are marked like this. |
Line 11: | Line 11: |
{{{#!wiki caution Note that this guide assumes you read the [[DEV/HowToContributeGit|git instructions]] and set up your Gitlab account properly. }}} |
|
Line 13: | Line 17: |
mkdir -p ~/dev/mailman | $ mkdir -p ~/dev/mailman |
Line 18: | Line 22: |
cd ~/dev/mailman virtualenv -p /usr/bin/python3 venv3 virtualenv -p /usr/bin/python2 venv2 |
$ cd ~/dev/mailman $ virtualenv -p /usr/bin/python3 venv3 $ virtualenv -p /usr/bin/python2 venv2 |
Line 27: | Line 31: |
Detailed instructions can be found at [[http://mailman.readthedocs.org/|readthedocs.org]]. |
|
Line 28: | Line 34: |
cd ~/dev/mailman git clone git@gitlab.com:mailman/mailman.git source venv3/bin/activate cd mailman mailman setup.py develop deactivate |
$ cd ~/dev/mailman $ git clone git@gitlab.com:mailman/mailman.git $ source venv3/bin/activate $ cd mailman $ python setup.py develop $ deactivate |
Line 37: | Line 43: |
Detailed instructions can be found at [[http://mailmanclient.readthedocs.org/|readthedocs.org]]. |
|
Line 38: | Line 46: |
cd ~/dev/mailman git clone git@gitlab.com:mailman/mailmanclient.git source venv2/bin/activate cd mailmanclient python setup.py develop deactivate |
$ cd ~/dev/mailman $ git clone git@gitlab.com:mailman/mailmanclient.git $ source venv2/bin/activate $ cd mailmanclient $ python setup.py develop $ deactivate |
Line 47: | Line 55: |
Detailed instructions can be found at [[http://postorius.readthedocs.org/|readthedocs.org]]. | |
Line 50: | Line 59: |
cd ~/dev/mailman git clone git@gitlab.com:mailman/postorius.git source venv2/bin/activate cd postorius python setup.py develop deactivate |
$ cd ~/dev/mailman $ git clone git@gitlab.com:mailman/postorius.git $ source venv2/bin/activate $ cd postorius $ python setup.py develop $ deactivate |
Line 59: | Line 68: |
Detailed instructions can be found at [[http://hyperkitty.readthedocs.org/|readthedocs.org]]. | |
Line 62: | Line 72: |
cd ~/dev/mailman git clone git@gitlab.com:mailman/hyperkitty.git source venv2/bin/activate cd hypkerkitty python setup.py develop deactivate |
$ cd ~/dev/mailman $ git clone git@gitlab.com:mailman/hyperkitty.git $ source venv2/bin/activate $ cd hyperkitty $ python setup.py develop $ deactivate |
Line 71: | Line 81: |
These are not needed if you are going to set up the WSGI interface in a general webserver such as Apache or gunicorn. They are convenient, however, because the recommended configuration for servers exposed to the Internet does not provide debug pages. |
|
Line 72: | Line 84: |
cd ~/dev/mailman git clone git@gitlab.com:mailman/hyperkitty_standalone.git git clone git@gitlab.com:mailman/postorius_standalone.git |
$ cd ~/dev/mailman $ git clone git@gitlab.com:mailman/hyperkitty_standalone.git $ git clone git@gitlab.com:mailman/postorius_standalone.git |
Line 77: | Line 89: |
To run any of the django projects | To run either of the django projects |
Line 80: | Line 92: |
cd ~/dev/mailman source venv2/bin/activate cd postorius_standalone python manage.py migrate python manage.py createsuperuser python manage.py runserver |
$ cd ~/dev/mailman $ source venv2/bin/activate $ cd postorius_standalone # After the first time, migrate is a no-op unless the Postorius DB schema changes. $ python manage.py migrate # You only need to createsuperuser once. $ python manage.py createsuperuser $ python manage.py runserver |
Line 88: | Line 102: |
Hyperkitty is setup the same way as postorius. | Hyperkitty is setup the same way as Postorius (but in hyperkitty_standalone). |
How to setup your dev environment
First you need to decide which projects you want to develop. You will most likely always need mailman-core and mailmanclient.
After that you can choose if you want to stick to the core, or you want to also develop django projects. There is postorius - Management Interface And Hyperkitty - Mailman Archiver
Note that this guide assumes you read the git instructions and set up your Gitlab account properly.
This guide assumes that you are setting everything in the directory created below:
$ mkdir -p ~/dev/mailman
And that you have two virtualenvs:
$ cd ~/dev/mailman $ virtualenv -p /usr/bin/python3 venv3 $ virtualenv -p /usr/bin/python2 venv2
Contents
Mailman Core
Detailed instructions can be found at readthedocs.org.
$ cd ~/dev/mailman $ git clone git@gitlab.com:mailman/mailman.git $ source venv3/bin/activate $ cd mailman $ python setup.py develop $ deactivate
Mailman Client
Detailed instructions can be found at readthedocs.org.
$ cd ~/dev/mailman $ git clone git@gitlab.com:mailman/mailmanclient.git $ source venv2/bin/activate $ cd mailmanclient $ python setup.py develop $ deactivate
Postorius
Detailed instructions can be found at readthedocs.org.
Make sure to install mailmanclient first!
$ cd ~/dev/mailman $ git clone git@gitlab.com:mailman/postorius.git $ source venv2/bin/activate $ cd postorius $ python setup.py develop $ deactivate
Hyperkitty
Detailed instructions can be found at readthedocs.org.
Make sure to install mailmanclient first!
$ cd ~/dev/mailman $ git clone git@gitlab.com:mailman/hyperkitty.git $ source venv2/bin/activate $ cd hyperkitty $ python setup.py develop $ deactivate
Django projects
These are not needed if you are going to set up the WSGI interface in a general webserver such as Apache or gunicorn. They are convenient, however, because the recommended configuration for servers exposed to the Internet does not provide debug pages.
$ cd ~/dev/mailman $ git clone git@gitlab.com:mailman/hyperkitty_standalone.git $ git clone git@gitlab.com:mailman/postorius_standalone.git
To run either of the django projects
$ cd ~/dev/mailman $ source venv2/bin/activate $ cd postorius_standalone # After the first time, migrate is a no-op unless the Postorius DB schema changes. $ python manage.py migrate # You only need to createsuperuser once. $ python manage.py createsuperuser $ python manage.py runserver
Hyperkitty is setup the same way as Postorius (but in hyperkitty_standalone).