On 9/17/20 11:50 AM, Dennis Putnam wrote:
> Hit a bug page. Note this is the production server running 2.1.15 but
> the test server running 2.1.34 got the same thing. This is the error log:
> 
> Sep 17 12:37:13 2020 admin(24458):
> @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
> admin(24458): [----- Mailman Version: 2.1.15 -----]
> admin(24458): [----- Traceback ------]
> admin(24458): Traceback (most recent call last):
> admin(24458):   File "/usr/lib/mailman/scripts/driver", line 112, in
> run_main
> admin(24458):     main()
> admin(24458):   File "/usr/lib/mailman/Mailman/Cgi/admin.py", line 227,
> in main
> admin(24458):     mlist.Save()
> admin(24458):   File "/usr/lib/mailman/Mailman/MailList.py", line 582,
> in Save
> admin(24458):     self.CheckHTMLArchiveDir()
> admin(24458):   File "/usr/lib/mailman/Mailman/Archiver/Archiver.py",
> line 236, in CheckHTMLArchiveDir
> admin(24458):     breaklink(pubdir)
> admin(24458):   File "/usr/lib/mailman/Mailman/Archiver/Archiver.py",
> line 56, in breaklink
> admin(24458):     os.unlink(link)
> admin(24458): OSError: [Errno 21] Is a directory:

I thought that might happen, but I didn't confirm it. Oh well ...

Do this:

rm -rf /var/lib/mailman/archives/public/*

Then Toggle the archive_private setting in the web admin UI for both lists.

The background on what caused this in the first place is you apparently
copied your production Mailman installation to a test environment, but
whatever process you used to do the copy, copied the targets of the
symlinks in /var/lib/mailman/archives/public/ instead of copying the
symlinks as symlinks.

This is what causes the issue with public archives no longer being
updated. They actually are updated in
/var/lib/mailman/archives/private/, but the pipermail URLs point to the
old, static archive now copied to /var/lib/mailman/archives/public/.

We've seen this multiple times in backup/restore scenarios and moving
installations to another server.

The bottom line is when backing up, always ensure you copy symlinks as
symlinks and not their targets. For rsync, this is -l/--links (included
as part of -a/--archive). For cp, it's -d or -P/--no-dereference or
-a/--archive.

-- 
Mark Sapiro <m...@msapiro.net>        The highway is for gamblers,
San Francisco Bay Area, California    better use your sense - B. Dylan

Attachment: signature.asc
Description: OpenPGP digital signature

------------------------------------------------------
Mailman-Users mailing list -- mailman-users@python.org
To unsubscribe send an email to mailman-users-le...@python.org
https://mail.python.org/mailman3/lists/mailman-users.python.org/
Mailman FAQ: http://wiki.list.org/x/AgA3
Security Policy: http://wiki.list.org/x/QIA9
Searchable Archives: https://www.mail-archive.com/mailman-users@python.org/
    https://mail.python.org/archives/list/mailman-users@python.org/

Reply via email to