Gentoo Archives: gentoo-dev

From: Duncan <1i5t5.duncan@×××.net>
To: gentoo-dev@l.g.o
Subject: [gentoo-dev] Re: mtime preservation
Date: Wed, 25 Nov 2009 21:52:36
Message-Id: pan.2009.11.25.21.52.00@cox.net
In Reply to: Re: [gentoo-dev] Re: mtime preservation by Ciaran McCreesh
1 Ciaran McCreesh posted on Wed, 25 Nov 2009 21:27:18 +0000 as excerpted:
2
3 > Portage uses two ways of merging a file: os.rename() and the manual way.
4 >
5 > os.rename() correctly preserves mtimes.
6 >
7 > Python's os.utime call, which is what Portage uses to preserve mtimes
8 > for files that it installs the hard way, and which is not a wrapper for
9 > the Unix utime call, uses an IEEE 754 double to handle timestamps. But a
10 > double only gives sixteen accurate decimal digits, and you've got ten to
11 > the left of the decimal point, leaving only six reliably preserved, with
12 > the remaining three digits being corrupted.
13 >
14 > Thus, packages can end up being installed with some files having
15 > accurately-preserved mtimes, and some having corrupted mtimes, which
16 > will lead to mtime comparisons giving incorrect results.
17
18 That's a great explanation (thanks, I now know the details to the degree
19 I'd be interested), but what was asked for was examples of breakage, aka
20 actual bugs. I seem to remember either you or someone else mentioning
21 that there had been a couple issues already, and I'll take the claim at
22 face value, but actual bug numbers would be nice. =:^)
23
24 --
25 Duncan - List replies preferred. No HTML msgs.
26 "Every nonfree program has a lord, a master --
27 and if you use the program, he is your master." Richard Stallman

Replies

Subject Author
Re: [gentoo-dev] Re: mtime preservation Ciaran McCreesh <ciaran.mccreesh@××××××××××.com>