From: Ciaran McCreesh <ciaran.mccreesh@googlemail.com>
To: gentoo-dev@lists.gentoo.org
Subject: Re: [gentoo-dev] Re: mtime preservation
Date: Wed, 25 Nov 2009 21:27:18 +0000 [thread overview]
Message-ID: <20091125212718.5deb42f8@snowcone> (raw)
In-Reply-To: <7c612fc60911251313i705a182as6cf50402c7829beb@mail.gmail.com>
[-- Attachment #1: Type: text/plain, Size: 1186 bytes --]
On Wed, 25 Nov 2009 14:13:58 -0700
Denis Dupeyron <calchan@gentoo.org> wrote:
> A quick note to tell you that I have tried to look for examples of
> breakage due to how mtime preservation is currently implemented in
> portage. Unfortunately I didn't find anything, maybe because I'm not
> knowledgeable enough or because I can't afford to spend any more time
> on this. If any of you can provide an example then please do so.
Portage uses two ways of merging a file: os.rename() and the manual
way.
os.rename() correctly preserves mtimes.
Python's os.utime call, which is what Portage uses to preserve mtimes
for files that it installs the hard way, and which is not a wrapper for
the Unix utime call, uses an IEEE 754 double to handle timestamps. But
a double only gives sixteen accurate decimal digits, and you've got ten
to the left of the decimal point, leaving only six reliably preserved,
with the remaining three digits being corrupted.
Thus, packages can end up being installed with some files having
accurately-preserved mtimes, and some having corrupted mtimes, which
will lead to mtime comparisons giving incorrect results.
--
Ciaran McCreesh
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 198 bytes --]
next prev parent reply other threads:[~2009-11-25 21:27 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 ` [gentoo-dev] mtime preservation Denis Dupeyron
2009-11-23 20:39 ` 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 [this message]
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=20091125212718.5deb42f8@snowcone \
--to=ciaran.mccreesh@googlemail.com \
--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