===================================== 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