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)" <hkBst@gentoo.org> 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

ython_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