[Mailman-Developers] Pickles begone

Barry Warsaw barry at python.org
Thu Jan 4 18:05:05 CET 2007


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On Jan 3, 2007, at 9:37 AM, Fil wrote:

>>> How do I fetch the dev branch, what set of commands do I use to  
>>> install
>>> it and migrate a few lists. Nothing fancy, but precise urls and  
>>> commands.
>>
>> Take a look at
>>
>> http://wiki.list.org/x/ogI
>>
>> and let me know what you think.

Fil, thanks for taking a look.
> OK; I was able to follow the instructions to the point of doing  
> configure;
> make; make install. Here are my first glance/field notes:
>
> I had to tweak permisions on logs/* to be able to launch bin/ 
> mailmanctl
> start, as they had been created with g-w (the logs/ dir is  
> correctly g+sxw)

I didn't notice this before because my shell umask was already set to  
002, but if yours is set to e.g. 022, you'll get this problem.  I'm  
adding an explicit "os.umask(2)" to the Mailman initialization stuff  
so that by default everything will be group writable.  This fixes the  
log file permissions.

I'm not committing this change yet though because it doesn't solve  
the mailman.db permissions.  My guess is that somewhere in the  
SQLAlchemy, PySQLite, SQLite stack, the permissions or umask are  
getting forced.  I just need to figure out the right way to tell SA  
how to set the permissions when using the SQLite engine.

I'd also like to review and eliminate as many other umask setting  
stuff in Mailman as possible.  Ideally, we'd set the umask in  
initialize() and only if we need something other than 002 would we do  
another (temporary) umask.

> then i was able to create a list by using bin/newlist; it did create
> a directory in lists/listname at server/  (empty directory)

Yep it still does this because this is where it will store things  
like list-specific templates and such.  It may eventually go away,  
but for now it should be fine to exist and be empty.
> I found a sqlite db in data/mailman.db  (I understand that to use a  
> MySQL db
> I just need to create it and change the SQLAlchemy variable to  
> reflect this
> db??)

Should be, although I haven't tried it.  Once the SQLite engine works  
well enough I definitely plan on trying MySQL at least.

> the web server launched ok on port 2580 (I guess I'll have to  
> ProxyPass to
> it from apache, which is fine).

Yep, there are comments in Defaults.py about this.  We'll get this  
into the documentation asap.  One question I have is whether we  
should make this the /only/ (or only supported) way to run MM2.2?

> It broke however when I tried to connect to it (put the list admin  
> passwd,
> and got :
>          UnicodeDecodeError: 'ascii' codec can't decode byte 0xe9  
> in position 207: ordinal not in range(128)
>
> maybe because I chose "french" as default language (I then switched to
> english, created another list, and got to the web ui)

Yikes.  The other thing I really want to do is to get our unicode  
story cleaned up.  Again, ideally, we'd convert all strings to and  
from their encodings at the edges of the system and only deal  
internally with unicode.  That's one reason why I'm using unicode  
columns in the SA tables.  I will try to reproduce this.

> tried to modify the list options thu the web ui and got
>
> SQLError: (OperationalError) attempt to write a readonly database  
> 'UPDATE
> "List data" SET bounce_processing=? WHERE "Listdata".list_id  
> = ?' [0, 2]

This will happen if the permissions on data/mailman.db are  
incorrect.  Try ensuring group write on that file and try again.

> I haven't tried yet to convert an older list to the new system.

Cool, again, your testing is much appreciated!
- -Barry

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.5 (Darwin)

iQCVAwUBRZ0zwXEjvBPtnXfVAQL/8wP9HkM0YrGZNRMz/VUBDQPSlEi4lYDhkZIU
7PX1/+iBiM2XX8xxpenvoU4mu8lBmJrjIW2mEas36GxiFIdak/MEfu7K6w852WAW
8aMUfl+XrIcyyutIsS25dP54qTbhisvxCjTVgHAbzzDXqe0KP6CmOVGYBk1F++kr
92RNEMP1I9M=
=xiyk
-----END PGP SIGNATURE-----


More information about the Mailman-Developers mailing list