On Wed, Nov 07, 2012 at 01:27:33PM +0100, Marc Espie wrote:

> Actually, we discussed a possible approach. It looks reasonable to have a
> "compile as package" mode (say through an env variable for instance) that
> would disable the check and leave a mark in the compiled file that says the
> check is not relevant.
>
> It's as simple as 'store timestamp as 0000 in the .pyc file'...

I guess something like this could fix lang/python, but my worry is that other
packages (e.g. possibly some of other dynamically typed languages in ports)
might be relying on timestamps. We probably don't notice pkg_delete problems
unless they run as root; there may still be performance problems (as it would
seem there currently are with lang/python). For example, if we ever get
lang/pypy into ports (it languishes in openbsd-wip...), we'd need to do a
similar hack as above for it.

> Apparently, there are other tendrils elsewhere that make this a bit more
> complicated, but for a package system, requiring timestamps to be
> consistent makes things MORE brittle, in the presence of NFS, clock-skew,
> and various other issues. For instance, one prominent member of the project
> does not believe in clock synchronization and does builds over NFS on
> machines with wildly inaccurate clocks...

The problems I'm thinking about only care about relative timestamps within a
package (i.e. comparing the two timestamps within a package for "which file
is newer?"). That's a much less stringent requirement, and may even cope well
enough with builds from clock-sync deniers?


Laurie

Reply via email to