Gentoo Archives: gentoo-dev

From: Ulrich Mueller <ulm@g.o>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] mtime preservation
Date: Thu, 26 Nov 2009 07:52:18
Message-Id: 19214.13170.950153.389825@a1i15.kph.uni-mainz.de
In Reply to: Re: [gentoo-dev] mtime preservation by Ciaran McCreesh
1 >>>>> On Thu, 26 Nov 2009, Ciaran McCreesh wrote:
2
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,
9
10 That was the reason why I filed bug 264130, in the first place. ;-)
11
12 > and that behaves differently depending upon the Portage version you
13 > use.
14
15 Fact is that all versions of Portage in the tree get it right for both
16 packages, but Paludis fails for them.
17
18 > objfile, whose mtime should be a bit later than srctime's, gets
19 > installed with its mtime corrupted to be slightly less than it
20 > should be, and less than srctime's, because it is installed the slow
21 > way.
22
23 The major usage cases where mtimes play a role (*.py vs *.pyc, *.lisp
24 vs *.fasl, and *.el vs *.elc) install source and object files in the
25 same directory. So why would the PM use different methods for
26 installing them?
27
28 > A program checks that objfile's mtime is greater than or equal to
29 > srcfile's mtime. That check will fail, and reinstalls will randomly
30 > fix and break it depending upon which way the corruption goes.
31
32 Again, you don't come up with a concrete example where such breakage
33 would occur.
34
35 I'm starting to get tired of this whole discussion. Maybe we should
36 just follow Calchan's suggestion and do nothing. Portage works, after
37 all.
38
39 Ulrich