Hello friends of Mailman, and Happy New Year!
You can roll that stone
To the top of the hill
Drag your ball and chain behind you
Once again, it's time for the traditional "avoid the copyright year bump" release. I'm happy to announce the fifth beta release of Mailman 3.0 core, code named "Carve Away The Stone".
We're really quite close now, but this release is a little different. Those of you who follow the proceedings on the mailman-developers mailing list will note that I have ported the core engine to Python 3.4. While it is my intent to release Mailman 3.0 core[*] final as a Python 3 application, some of the details are still be hashed out on the mailing list, and in the code base. For this reason, I am releasing two "flavors" of 3.0b5:
- "A" release, which remains on Python 2.7
- "B" release, which is only compatible with Python 3.4
The A and B releases are functionally equivalent. There may be different bugs in them, but they both implement the exact same feature set, with the only difference being the version of Python they are compatible with. Some time early in 2015, I will be merging the Python 3 branch back into trunk, and dropping Python 2 support.
I would encourage you to download the "B" release and try it out. If you do try both, please submit bugs for any functional differences you encounter.
You can download GNU Mailman 3.0b5 core (both "A" and "B" releases) from the Python Cheeseshop:
https://pypi.python.org/pypi/mailman/3.0.0b5
The documentation is available online at:
http://pythonhosted.org/mailman
Mailman 3.0 is released under the terms of the GNU General Public License version 3 or later.
Detailed changes in 3.0b5 are available here:
http://tinyurl.com/p9fpgrh
Bugs can be reported here:
https://bugs.launchpad.net/mailman
Special thanks go to Abhilash Raj and Aurélien Bompard, who implemented the conversion of the ORM layer from Storm to SQLAlchemy and Alembic. Thanks also to Kurt Griffiths for his excellent Falcon Framework package, which now replaces restish as our WSGI-compatible REST layer. Both of these changes were critical in allowing me to port the core to Python 3.
Enjoy, and Happy New Year. -Barry
[*] Postorious and HyperKitty will port to Python 3 on their own time schedule, and may remain Python 2 applications for the final release of the GNU Mailman Suite. mailman.client, the standalone REST client will be a bilingual library, supporting both Python 2 and Python 3.
On 01/06/2015 09:48 AM, Tanstaafl wrote:
On 12/30/2014 2:39 PM, Barry Warsaw <barry@list.org> wrote:
- "A" release, which remains on Python 2.7
- "B" release, which is only compatible with Python 3.4
So, wheezy admins will be left out in the cold.
Bummer... :(
See the last paragraph of Barry's post at <https://mail.python.org/pipermail/mailman-developers/2014-December/024134.html>.
Multiple Python versions can coexist happily side by side. For example, on my production CentOS 5 server, I have (uptime included as partial explanation of why it's CentOS 5)
[mark@sbh16 ~]$ uptime 09:55:41 up 1821 days, 17:04, 1 user, load average: 0.00, 0.03, 0.08 [mark@sbh16 ~]$ python -V Python 2.4.3 [mark@sbh16 ~]$ python2.7 -V Python 2.7.9 [mark@sbh16 ~]$ python3 -V Python 3.4.2
I submit that for quite some time it will be significantly easier to install an alternate Python from source than it will be to install and configure and migrate to any Mailman 3, so just consider the Python installation a small part of the total.
-- Mark Sapiro <mark@msapiro.net> The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan
Tanstaafl writes:
On 12/30/2014 2:39 PM, Barry Warsaw <barry@list.org> wrote:
- "A" release, which remains on Python 2.7
- "B" release, which is only compatible with Python 3.4
So, wheezy admins will be left out in the cold.
There may be free software, but There Ain't No Such Thing As A Free Lunch, man! People who depend on package managers take that risk. This is especially true of the Debian "paleolithic" distribution. You want rock-like stability, you best be prepared to use Stone-Age tech. Get out of your cave and kill yourself some sabertooth fur if you feel a chill. Yabba dabba doo! :-)
Note that I use Debian stable when possible myself, but I'm not a "Debian stable admin", I'm an admin who chooses the best[1] distro for the job, and that is usually Debian stable. The point for me is that it provides a very stable platform for locally-configured and -built installations of mission-critical software that I'm willing to baby- sit. Over the occasional period I have to upgrade to testing; a very few times I've had to pin versions of a few packages in testing.
One can also take on the packaging task oneself, or persuade the packagers to do so. Often it's not that hard to do the latter ... they want the same things their users do (at least, that's usually the case for packages in popular distros). Really, you should be lobbying Debian, not Mailman.
Footnotes: [1] Which includes considerations of my time for evaluation of "best" and switching costs.
On Wed, Jan 7, 2015 at 1:48 AM, Tanstaafl wrote:
So, wheezy admins will be left out in the cold.
I expect Debian jessie will become Debian stable soon enough.
-- bye, pabs
On 1/7/2015 4:21 AM, Geoff Shang <geoff@QuiteLikely.com> wrote:
On Tue, 6 Jan 2015, Tanstaafl wrote:
On 12/30/2014 2:39 PM, Barry Warsaw <barry@list.org> wrote:
- "A" release, which remains on Python 2.7
- "B" release, which is only compatible with Python 3.4
So, wheezy admins will be left out in the cold.
Wheezy has Python 2.7.
And 3.2... and that is the problem.
On Jan 07, 2015, at 05:36 AM, Tanstaafl wrote:
And 3.2... and that is the problem.
Let me ask again: if you have to install MM3 from source anyway (and probably many of its dependencies), why is it also a problem to install Python 3.4 from source?
I've heard that Debian is working on Ubuntu-like PPAs. That would seem like a fruitful way of providing the entire stack for older distros.
Cheers, -Barry
On Wed, Jan 7, 2015 at 11:37 PM, Barry Warsaw wrote:
I've heard that Debian is working on Ubuntu-like PPAs. That would seem like a fruitful way of providing the entire stack for older distros.
What about just a backport of Python 3.4 (and any future mailman3 package)?
-- bye, pabs
Barry Warsaw writes:
I've heard that Debian is working on Ubuntu-like PPAs. That would seem like a fruitful way of providing the entire stack for older distros.
This is already possible to some extent, as I mentioned earlier: one can enable more recent versions of packages from the Debian repositories, or (as I do) upgrade the distribution but pin packages which you need to be invariant to specific versions. It's also easy to build Debian packages in most cases if you just want to use more recent versions of upstream source. And there really isn't any difficulty in creating a PPA per se, you just add it to your sources list. The software can already handle it I'm pretty sure.
The problem is that PPAs just aren't acceptable in many cases for two reasons: (1) they are by definition not subject to distribution QA, and they may not be acceptable to enterprise QA, and (2) if you go to a PPA for Python 3.4, you will also need a 3.4-specific compile of each Python package you depend on, which means packages for those too in most distributions (and specifically in Debian, I believe). (And I'll address (3) "effort" below.)
In the case of (2), you can use the source debs and pretty easily modify them to use Python 3.4 instead of the specified Python (in fact, there probably is a generic source deb for this purpose). Or you can backport Mailman to Python 3.2. But either means that there is *zero* QA for Python 3.4 vs 3.2 (or whatever) differences. Someone who is using Debian stable evidently cares about that risk, and cares *a lot*.
Personally, I don't see why we should put in the effort to deal with this. If there are a lot of admins on wheezy systems who are systemd refuseniks (and I sympathize with them, systemd as described in Lennart's blogs is a great idea, but it suffers from mission creep on a Vietnam-sized scale), then there's enough manpower to create a "Mailman 3 on wheezy" PPA, and mailman-devel and mailman-users (not to forget python-list and maybe even python-dev) will be there to help with Mailman-specific issues in the packages.
If there aren't, then why should Mailman supply the manpower to satisfy a small number cranky admins? I suppose most admins will trust that by the time Debian stable gets systemd and Mailman 3, both Mailman and systemd will be good and stable themselves. So as I wrote to Tanstaafl before, TISATAFS but TANSTAAFL! (NB FVO F (speech) != F (beer).) Somebody will pay for this lunch; in this case I think the diners should do it. Mailman itself would get nothing but pain and a big "thank you" (ie, hot air).
On 1/7/2015 10:37 AM, Barry Warsaw <barry@list.org> wrote:
Let me ask again: if you have to install MM3 from source anyway (and probably many of its dependencies), why is it also a problem to install Python 3.4 from source?
Maybe I missed that question (sorry, currently out of the country)...
Good point, hadn't considered it...
Sorry for the noise...
participants (6)
-
Barry Warsaw
-
Geoff Shang
-
Mark Sapiro
-
Paul Wise
-
Stephen J. Turnbull
-
Tanstaafl