Mailman list archive link preservation
At the end of July, Debian 10 (Buster) reached end-of-life, and with it, all mainstream support for Python 2. The Python Software Foundation actually ended support for Python 2 on 1st January 2020, but it’s remained in Debian until now because a small number of important packages depend on it.
One of those packages is Mailman 2, a widely-used mailing list manager. For various reasons, many projects using Mailman 2 have resisted upgrading to its successor, Mailman 3. With Debian 10 reaching end-of-life, we’re seeing renewed interest in this migration.
One of the barriers to migrating to Mailman 3 is that the upgrade breaks links to messages in the mailing list archives. There are links all over the internet to messages in Mailman 2 list archives, and for many projects, breaking these links would be a significant loss.
We’ve recently done some Mailman 2 to 3 migrations, and as part of this, we developed our own solution to preserving archive URLs. We created a script that trawls Mailman 2 archives and creates a map of old URLs in the Mailman 2 archives to the corresponding URL in the Mailman 3 archives. This can be used by Apache’s mod_rewrite to generate redirects for the old URLs. The map can be converted to a DBM file for more efficient lookups. This is important for archives containing many thousands of URLs.
We’ve made the mailman-archive-mapper script freely available on GitHub.
We offer mailman as a managed application.