On Wed, Oct 15, 2008 at 11:07:05AM +0200, Thijs Kinkhorst wrote: > On Wed, October 15, 2008 07:48, Helmut Grohne wrote:
>> (...) /usr must not be written to. However after changing the >> configuration file /usr/lib/mailman/Mailman/mm_cfg.pyc is updated on >> restarting mailman which is a violation of the policy. > I welcome input on this issue from people with more deep knowledge > than myself about these Python cached files, and how we could best > address it in this case. If there's a straightforward solution I > think we can apply it for lenny. Too late for lenny now, but it would be worth testing if installing a dangling symlink /usr/lib/mailman/Mailman/mm_cfg.pyc -> /var/cache/mailman/mm_cfg.pyc in the package would lead to python create and update the file there (as opposed to remove the symlink and create the file there). preinst magic may be needed, dpkg might refuse to overwrite the already existing (unregistered / unknown) file with a symlink, although I don't think it will. (Just unconditionally removing the file may do the trick.) As you said in your other message, fixing that in python is even more groovy, but that would lead to interesting problems of when / how to purge the cache, how to handle (store the (device,inode) number in the pyc file and compare if it has changed?) different mounts leading to different files being at the same path (name) at different points of time, ... A very cool solution (but not applicable at the package level with the Linux kernel) is make /usr/lib/mailman/Mailman an unionfs that writes any non-package originated file to /var/cache/mailman/Mailman/ :) -- Lionel -- To UNSUBSCRIBE, email to [email protected] with a subject of "unsubscribe". Trouble? Contact [email protected]

