1 |
On Wed, 25 Nov 2009 23:59:45 +0100 |
2 |
Ulrich Mueller <ulm@g.o> wrote: |
3 |
> Real examples would be issues like bugs 83877 [1] or 263387 [2]. |
4 |
> Nothing that could be easily dismissed or worked around. Both issues |
5 |
> are fixed with Portage since a long time. |
6 |
|
7 |
Yes, those are examples of packages relying upon something that is |
8 |
undefined behaviour, and that behaves differently depending upon the |
9 |
Portage version you use. |
10 |
|
11 |
> I don't know of any example where non-preservation of nanosecond |
12 |
> timestamps would cause problems. |
13 |
|
14 |
Not non-preservation. Partial and inconsistent corruption. |
15 |
|
16 |
srcfile gets installed with its mtime preserved, because it is installed |
17 |
using rename. |
18 |
|
19 |
objfile, whose mtime should be a bit later than srctime's, gets |
20 |
installed with its mtime corrupted to be slightly less than it should |
21 |
be, and less than srctime's, because it is installed the slow way. |
22 |
|
23 |
A program checks that objfile's mtime is greater than or equal to |
24 |
srcfile's mtime. That check will fail, and reinstalls will randomly fix |
25 |
and break it depending upon which way the corruption goes. |
26 |
|
27 |
-- |
28 |
Ciaran McCreesh |