1 |
-----BEGIN PGP SIGNED MESSAGE----- |
2 |
Hash: SHA1 |
3 |
|
4 |
Markus Ullmann wrote: |
5 |
> Zac Medico schrieb: |
6 |
>> The primary reason to use a digest for cache validation instead of a |
7 |
>> timestamp is that it allows the cache validation mechanism to work |
8 |
>> even if the tree is distributed with a protocol that does not |
9 |
>> preserve timestamps, such as git or subversion. This would make it |
10 |
>> possible to distribute metadata cache directly from git and |
11 |
>> subversion repositories (among others). |
12 |
> |
13 |
> So just to make sure I understand what you're after... You want to add |
14 |
> some checksum to the cache file to make sure that all its other vars |
15 |
> (line 1-17) are still the same even though there are timestamp issues? |
16 |
|
17 |
Right. Portage currently uses timestamps for all metadata cache |
18 |
validation, but this mechanism is not suitable for protocols that |
19 |
don't preserve timestamps. In order to solve this problem, I'm |
20 |
suggesting that we use digests instead of timestamps. |
21 |
|
22 |
> Or is that checksum for the ebuild file (which is in the Manifest file |
23 |
> in the ebuild dir)? |
24 |
|
25 |
Since portions of the metadata may come from both the ebuild and its |
26 |
inherited eclasses, the metadata cache needs to be validated against |
27 |
both the ebuild and any eclasses that it has inherited. In order to |
28 |
validate the metadata cache, the checksums contained in the cache |
29 |
are compared to the current checksums of the corresponding ebuilds |
30 |
and eclasses. Does that answer your question? |
31 |
- -- |
32 |
Thanks, |
33 |
Zac |
34 |
-----BEGIN PGP SIGNATURE----- |
35 |
Version: GnuPG v2.0.9 (GNU/Linux) |
36 |
|
37 |
iEYEARECAAYFAkmM4CAACgkQ/ejvha5XGaNbFwCfWJm8TcFVl49TAyn4Uet1Dm9L |
38 |
FjkAoOJyfhNcvTIFDd2Zimf86ZOZIBZG |
39 |
=oBYM |
40 |
-----END PGP SIGNATURE----- |