Alex Schuilenburg via Mailman-users writes:
Nope, apologies.� I'm happy to add the list back in - I thought I hit reply-to-list.
No apologies necessary.
As an email separator agreed, provided the body has all "First " (preceded by a blank line and nothing preceding on the same line) suitably escaped.
That's not the way this works. You don't get to choose, only to defend your system. See https://www.jwz.org/doc/content-length.html
I have to move the lists onto a new Debian 12 server using the native mailman 3.3.8 & mailman-web 0+20200530-2 packages.
I think the relevant package version is HyperKitty's. Mailman-Web should just be a wrapper around HyperKitty and Postorius.
The preferred way is to dump the database to SQL, and then load it in to the new database directly rather than downloading the mbox files and importing.
Thats what I thought initially, but that failed as per https://lists.mailman3.org/archives/list/mailman-users@mailman3.org/message/....
As my old installation appears to have the django_migrations table inconsistent with the state of the database, and Debian have been unresponsive so far.
Hm. I think it's more likely that the load overwrote the django_migrations table with the old migrations table, but the Debian-supplied database already had migrations applied on the assumption that you're either creating a new Mailman instance or upgrading in place. When you load the dumped database, that is probably smart enough to delete tables before creating them (or perhaps you just get lucky that the load doesn't try to delete or rename columns) BUT new tables do NOT get that treatment. They just sit around waiting for you to apply the migration that creates them and "what migration doing?" KA-BOOM.
I suspect that "DROP DATABASE mailmanweb;" and then loading the dumped
database, followed by mailman-web migrate
will work. (Usual caveat
of you should have a backup onsite, a backup in a bank vault, and a
backup store on the dark side of the moon before trying this!)
Thank you for going to Debian first (at about the same time is fine), by the way. We really appreciate that. We try hard to make sure Mailman works in all *our* common use cases, but distros have a different set. It's very common that a distro will do something that makes sense for their usual use cases that just fail badly for cases they didn't anticipate.
Then I guess that is the case in Debian 12.
Maybe, it's often hard to tell where distros go wrong. If my guessalasys above is correct, it's simply the assumption that the user is either doing a greenfield installation or an upgrade in place. Surely those are the great majority of cases.
I thought that ">From " would be escaped to ">>From ", and so on, so the escape could easily be reversed when imported.
Ah, you are an honest person. Do not commit crimes, my friend, you will get caught. More devious thinkers quote messages by prepending only ">" to the line. Or, knowing about From-stuffing when sending signed mail then might pre-stuff From lines so that signature validation succeeds by default. Either way if you unstuff you will break the message. Maybe ChatGPT-10 will get it right. ;-)
The only way to win is to not play the mbox game.
After all, I would expect that an export of the archive to mbox, followed by a delete of the archive, followed by a hyperkitty_import of the archive, should leave you at the same place.
You would expect, for sure. You would be wrong, because mbox is a lossy format by design. (Or by lack of design, if you prefer.)
Not with ">From " escapes in the new archives.� In fact I also had a number of messages with "Message-ID: <>" and worse: all messages with attachments had the text/plain content empty.
I don't EVEN want to think why that might be.
The following dump and import worked.
oldhost> mysqldump --no-create-info --no-create-db --disable-keys --complete-insert mailman3web > mailman3web.sql
newhost> mysql MariaDB [(none]> use mailman3web MariaDB [mailman3web]> source mailman3web.sql
Yeah!!
Except I forgot how to update the FAQ. Now I have to learn again! :-)
Steve