Thanks.

What about the generation of .pyo files? (I'm pretty ignorate about how python works.)

On Mon, 4 Apr 2011, Eelco Dolstra wrote:

Hi,

On 04/04/2011 08:19 AM, [email protected] wrote:

Wicd runs as root. The demon is written in Python. When python runs it
likes to write new .pyc and/or .pyo files into the store. Since wicd is
running as root it obliges and modifies the store directory. Clearly
this is bad.

This has been fixed in the modular-python branch with this patch:

https://svn.nixos.org/repos/nix/nixpkgs/branches/modular-python/pkgs/development/interpreters/python/2.7/nix-store-mtime.patch

The problem was that *.pyc files contain the timestamp of the corresponding .py file. If the stored timestamp doesn't match the actual timestamp of the .py file, then the .pyc file is considered out of date and will be regenerated. However in Nix we change the timestamp to 1 after the pyc files have been generated. So the entire pyc mechanism was broken in Nixpkgs. The patch fixes this by special-casing timestamps of 1.

On a more general note, it would be nice if we could prevent accidental changes to store paths by root. On ext2/3/4 this can be done by setting the immutable bit on a file. Unfortunately, it also prevents additional hard links to the file, so it breaks `nix-store --optimise'.



--
Russell O'Connor                                      <http://r6.ca/>
``All talk about `theft,''' the general counsel of the American Graphophone
Company wrote, ``is the merest claptrap, for there exists no property in
ideas musical, literary or artistic, except as defined by statute.''
_______________________________________________
nix-dev mailing list
[email protected]
https://mail.cs.uu.nl/mailman/listinfo/nix-dev

Reply via email to