Gentoo Archives: gentoo-council

From: Ciaran McCreesh <ciaran.mccreesh@××××××××××.com>
To: Ulrich Mueller <ulm@g.o>
Cc: gentoo-council@l.g.o
Subject: [gentoo-council] Re: mtime preservation (was: Agenda (draft) for November meeting 2009-11-09)
Date: Wed, 04 Nov 2009 15:28:44
Message-Id: 20091104152835.369e3e18@snowcone
In Reply to: [gentoo-council] mtime preservation (was: Agenda (draft) for November meeting 2009-11-09) by Ulrich Mueller
On Wed, 4 Nov 2009 16:07:30 +0100
Ulrich Mueller <ulm@g.o> wrote:
> Obviously we cannot guarantee anything below the seconds level because > of limitations in the underlying filesystems or software (e.g., tar > for binpkgs). But is there a reason for limiting it further, i.e. not > preserving sub-second timestamps if they are supported by both > filesystems?
So far as I can see, if they're fully supported on both filesystems, Portage sometimes preserves nanosecond-resolution timestamps and sometimes doesn't. So, requiring nanosecond-resolution timestamp preservation where possible will need Portage changes. But not requiring it means we'll go through this whole thing again as packages start using more accurate timestamps for cache validation things (and yes, this will happen -- we've already hit make-related issues on this front).
> > * For which files must mtimes be preserved, and which can be > > modified? > > > * Is it the intent of this proposal to prevent package managers from > > automatically rewriting, say, #!/usr/bin/python to > > #!/opt/gentoo/bin/python if prefix is being used? > > Part of the problem (what you call "insufficient clarity") is that the > proposal's original intention was to cover only the merge process, > i.e. what takes place after pkg_preinst. Whereas you want to extend it > to include everything that is taking place after src_install (for > Portage, prepstrip and whatnot). > > If you limit it to the final merge process from D to ROOT, then the > answer is easy, namely mtimes of all regular files must be preserved.
What I want is for the proposal to be sufficiently specific that it covers exactly what the package manager can and cannot do, and what ebuilds can and cannot rely upon happening. If you require mtime preservation between pkg_preinst and the merge to /, the package manager can just screw things up (by implementing reasonable features) elsewhere. It is by no means clear to me that merely requiring mtime preservation from after pkg_preinst to before pkg_postinst, and allowing arbitrary mtime tinkering elsewhere, is what is desired. As an example for the above, is it legal for a package manager to rewrite any mtime that is before the start of the build process if it does it after src_install but before pkg_preinst? -- Ciaran McCreesh


File name MIME type
signature.asc application/pgp-signature


Subject Author
[gentoo-council] Re: mtime preservation Ulrich Mueller <ulm@g.o>
Re: [gentoo-council] Re: mtime preservation Zac Medico <zmedico@g.o>