From: Denis Dupeyron <calchan@gentoo.org>
To: gentoo-dev@lists.gentoo.org
Cc: gentoo-dev-announce@lists.gentoo.org
Subject: [gentoo-dev] mtime preservation
Date: Mon, 23 Nov 2009 11:49:25 -0700 [thread overview]
Message-ID: <7c612fc60911231049n4a51ddb0u30ae72d8ed93cdec@mail.gmail.com> (raw)
In-Reply-To: <4B07362D.2010108@gentoo.org>
I'm going to try and sum up the situation of the thread started in
[1]. Feel free to correct me or add to the summary in replies.
There seems to be two main ideas. I have removed the authors' name in
quotes below in order to make sure we talk about the ideas and not who
proposed them.
1- All packages are treated equally. Some files have their mtime
preserved, some don't. We need to agree on what files have their mtime
preserved and at what phase the mtime is frozen. What we seemed to
have agreed on is that the wording in PMS needs to be unambiguous
enough that it doesn't defeat the purpose. Here's a first proposition:
"The package manager must preserve modification times of regular files.
This includes files being compressed before merging. Exceptions to
this are:
(Now we need to enumerate the exceptions:)
* files newly created by the package manager,
(This will cover splitdebug, for example. (And please don't tell me
that the wording is flawed because the PM could save a file's contents
in some buffer, then delete the file and create it newly. This would
be as unreasonable as the rot-13 example.) )
* binary object files being stripped of symbols.
(Anything else missing from above list?)"
2- Here's the second idea, shamelessly pasted (note that it says EAPI4
below instead of EAPI3 but this is irrelevant to the idea):
"Thus, I would let EAPI 4 ebuilds call dopreservemtimes (with an API
similar to docompress) in both src_install and pkg_preinst. Doing so
would instruct the package manager that it must preserve mtimes
(including subsecond, if supported on the filesystem) for a particular
set of paths, even if doing so means no stripping etc. All other mtimes
may be rewritten as the package manager sees fit, and from EAPI 4
onwards must be rewritten at merge time for anything predating the
start of the build."
In both cases nanosecond resolution may be required and is a problem
due to python. The following workaround can be used until the
nanosecond issue is fixed in python:
"Alternatively, we could simply make portage spawn the mv binary
whenever rename fails (it fails when the source and destination are
on different devices). Although it's relatively slow, it should
solve the problem."
My intention is to ask the council to vote on which method is
preferable in two weeks. I will also ask the council on whether we
still want mtime preservation for EAPI3 or if we now think it's better
to push it to EAPI4. Please discuss.
Denis.
[1] http://archives.gentoo.org/gentoo-council/msg_becc15a2882cc7e4f1079b2f9f4dcaad.xml
next parent reply other threads:[~2009-11-23 20:24 UTC|newest]
Thread overview: 37+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <19184.25176.380022.392451@a1i15.kph.uni-mainz.de>
[not found] ` <19186.42949.760878.199957@a1i15.kph.uni-mainz.de>
[not found] ` <20091108191439.3fcee79d@snowcone>
[not found] ` <7c612fc60911090718y144319f5lc9827a5e2e153c2@mail.gmail.com>
[not found] ` <20091109153429.502e272f@snowcone>
[not found] ` <19193.4389.637969.727075@a1i15.kph.uni-mainz.de>
[not found] ` <20091119221248.539eedd9@snowmobile>
[not found] ` <7c612fc60911191614h5e37c849y50ad217a828fa744@mail.gmail.com>
[not found] ` <20091120001820.7274bdf7@snowmobile>
[not found] ` <4B07362D.2010108@gentoo.org>
2009-11-23 18:49 ` Denis Dupeyron [this message]
2009-11-23 20:39 ` [gentoo-dev] mtime preservation Zac Medico
2009-11-23 23:19 ` Brian Harring
2009-11-24 14:26 ` [gentoo-dev] " Duncan
2009-11-24 22:21 ` [gentoo-dev] " Ciaran McCreesh
2009-11-26 1:28 ` Brian Harring
2009-11-26 12:41 ` David Leverton
2009-11-26 13:21 ` Brian Harring
2009-11-26 18:22 ` David Leverton
2009-11-26 15:15 ` Ciaran McCreesh
2009-11-25 21:13 ` [gentoo-dev] " Denis Dupeyron
2009-11-25 21:27 ` Ciaran McCreesh
2009-11-25 21:52 ` Duncan
2009-11-25 22:13 ` Ciaran McCreesh
2009-11-25 22:59 ` [gentoo-dev] " Ulrich Mueller
2009-11-26 0:15 ` Ciaran McCreesh
2009-11-26 0:49 ` Zac Medico
2009-11-26 1:14 ` Brian Harring
2009-11-26 5:26 ` Zac Medico
2009-11-26 5:33 ` [gentoo-dev] " Duncan
2009-11-26 5:35 ` [gentoo-dev] " Brian Harring
2009-11-26 5:30 ` [gentoo-dev] " Duncan
2009-11-26 12:35 ` [gentoo-dev] " David Leverton
2009-11-26 12:40 ` [gentoo-dev] " Duncan
2009-11-26 21:55 ` Zac Medico
2009-11-26 13:31 ` [gentoo-dev] " Brian Harring
2009-11-26 15:24 ` Ciaran McCreesh
2009-11-26 7:59 ` Ulrich Mueller
2009-11-26 9:07 ` Ulrich Mueller
2009-11-26 9:54 ` Łukasz Michalik
2009-11-26 11:47 ` Ulrich Mueller
2009-11-26 15:27 ` Ciaran McCreesh
2009-11-26 15:21 ` Ciaran McCreesh
2009-11-26 7:51 ` Ulrich Mueller
2009-11-26 5:07 ` [gentoo-dev] " Duncan
2009-11-26 5:04 ` Duncan
2009-11-28 20:57 ` Peter Hjalmarsson
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=7c612fc60911231049n4a51ddb0u30ae72d8ed93cdec@mail.gmail.com \
--to=calchan@gentoo.org \
--cc=gentoo-dev-announce@lists.gentoo.org \
--cc=gentoo-dev@lists.gentoo.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox