On Wed, May 07, 2008 at 01:52:19AM +0100, Ciaran McCreesh wrote:
> On Wed, 07 May 2008 00:44:28 +0200
> "Marijn Schouten (hkBst)" <[EMAIL PROTECTED]> wrote:
> > and I think that would be the correct thing to do, but either way I'd
> > like PMS to specify what should happen wrt to mtimes, so that I can
> > rely on that.
> 
> PMS makes no guarantee as to what happens with mtimes, which means you
> can't rely upon things happening one way or the other. This is
> deliberate -- preserving mtimes leads to all kinds of weirdness on
> packages that are generated from a raw tar file rather than from a
> build system.

I'd be curious what weirdness you're referring to, since pkgcore has 
preserved mtime from the get go.

Yet to see a single issue from it, although *I* could think of a few 
instances where it would be problematic- that said, those pkgs already 
do postinst resetting of mtime to work around portage/paludis 
resetting mtime, so those issues doesn't appear.


> > Current work-around is tarring up and untarring to preserve mtimes.
> 
> That's not really any good either. The proper solution would be to fix
> whatever it is that's mtime-sensitive.

That's not exactly much of a solution; simplest example, that results 
in python.eclass:python_mod_compile, invoked during postinst to reset 
the cached bytecode mtimes (essentially).  Aside from this being 
uncontrolled/untracked access to the live fs, this slows down merges 
due to redundant work.

Finally, it also trashes the chksums that the manager records upon 
merging to the fs- so an mtime/chksum based unmerger can/will orphan 
those files.

Frankly, the mtime issue keeps rearing its head and needs killing- 
it's been an issue for near 4 years even, back in the OSX days we had 
to rewrite .a TOC's since the linker was mtime aware.

See no reason to preserve this misfeature.  Can't comment on paludis, 
but it shouldn't be an issue for portage to make the leap from what 
I've seen source wise.

~harring

Attachment: pgpmpRrDwQqsf.pgp
Description: PGP signature

Reply via email to