Ciaran McCreesh posted on Wed, 25 Nov 2009 21:27:18 +0000 as excerpted: > 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.
That's a great explanation (thanks, I now know the details to the degree I'd be interested), but what was asked for was examples of breakage, aka actual bugs. I seem to remember either you or someone else mentioning that there had been a couple issues already, and I'll take the claim at face value, but actual bug numbers would be nice. =:^) -- Duncan - List replies preferred. No HTML msgs. "Every nonfree program has a lord, a master -- and if you use the program, he is your master." Richard Stallman