summaryrefslogtreecommitdiff
path: root/src/mailman/docs/ALPHA.txt
blob: 976e507f036602c0b666a44a6b09a3ca15144589 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
=====================================
GNU Mailman Alpha Release Information
=====================================

Copyright (C) 2008-2009 by the Free Software Foundation, Inc.


Alpha Release
=============

The Mailman 3 alpha releases are being provided to give developers and other
interested people an early look at the next major version.  As such, some
things may not work yet.  Your participation is encouraged.  Your feedback and
contributions are welcome.  Please submit bug reports on the Mailman bug
tracker at https://bugs.launchpad.net/mailman though you will currently need
to have a login on Launchpad to do so.  You can also send email to the
mailman-developers mailing list.


Using the Alpha
===============

Python 2.6 is required.  It can either be the default 'python' on your $PATH
or it can be accessible via the 'python2.6' binary.  See http://www.python.org
for details on getting Python 2.6.

Mailman 3 is now based on the `zc.buildout`_ infrastructure, which greatly
simplifies building and testing Mailman.

You will need the gettext package (specifically, the msgfmt(1) command) in
order to build the I18N message catalogs.  If you're missing this command,
it is known that the digests.txt test will fail.

You do not need anything other than Python 2.6 and an internet connection
to get all the other Mailman 3 dependencies.  Here are the commands to
build everything::

    % python2.6 bootstrap.py
    % bin/buildout

Now you can run the test suite via::

    % bin/test

You should see no failures.

At this point you can read the doctests by looking in all the 'doc'
directories under the 'mailman' package.  Doctests are documentation
first, so they should give you a pretty good idea how various components
of Mailman 3 works.

What, you actually want to *run* Mailman 3?  Oh well, if you insist.  You
will need to set up a configuration file to override the defaults and set
things up for your environment.  Mailman is configured via the `lazr.config`_
package which is really just a fancy ini-style configuration system.

For now though, start by looking through ``src/mailman/config/schema.cfg``.
Create a file for your overrides; it can be called anything and can live
anywhere, but I like to call it ``mailman.cfg``.  For any value in
``schema.cfg`` you want to override, just add a section header (the
square-bracketed names) and then the key/value pair you want to override.

You will need to pass the ``-C`` flag to any bin command you want to invoke,
pointing it at your ``mailman.cfg`` file.  Or you can set the environment
variable ``$MAILMAN_CONFIG_FILE`` to point to your configuration file.  Future
versions will look in some common locations.

You can use the ``bin/mailman`` script to create and remove mailing lists,
display all the existing mailing lists, subscribe members, etc.  Try
``bin/mailman --help`` for details.  You can still use the ``bin/mailmanctl``
script to start the queue runners.

Please note that the web u/i does **not** work yet.  Contributions are
welcome!


.. _`zc.buildout`: http://pypi.python.org/pypi/zc.buildout
.. _`lazr.config`: http://pypi.python.org/pypi/lazr.config