1 |
Hi Michael, |
2 |
|
3 |
To give you an idea; the current tree is getting its Manifests from |
4 |
hashgen.c, which you can find in scripts/rsync-generation/hashgen.c. |
5 |
The hashverify tool, which I'm currently working on, is basically an |
6 |
addition to that file (doing argv[0] detection) to perform the |
7 |
verification. At this time of writing, I have the gpg-verification and |
8 |
single file entry verification in place. I'm still trying to close the |
9 |
gap in checking the dirs in particular looking for files that are not |
10 |
listed in the Manifest. |
11 |
hashgen currently runs in 30s or so on the tree to generate manifests. |
12 |
I hope it can verify in the same amount of time (we're talking about a |
13 |
Quad G5 PowerPC machine here with rusty old spinning disks), leaving it |
14 |
in a much better position to be used for Prefix, since we tend to have |
15 |
slower/older machines around. We're not really looking forward to 15 |
16 |
minutes of verification as some bugs have been reported to with gemato. |
17 |
|
18 |
Portage used to do 1) checking the digests of ebuilds and 2) checking |
19 |
for missing and extra files. I noticed that at least 1) is no longer |
20 |
present, which I find weird. I need checking this on normal Gentoo, |
21 |
(simply edit an ebuild and try to emerge it without updating its |
22 |
digest), but I have the suspicion this got disabled because the full |
23 |
tree verification should catch this. Needless to say, that's |
24 |
suboptimal, and not very secure IMO. |
25 |
|
26 |
Now I may be all wrong with trying to implement the verification myself, |
27 |
but that's a separate topic. gemato should work fine. |
28 |
|
29 |
I've checked some of the digests you mentioned and they look ok. So I'm |
30 |
wondering whether perhaps you got caught in the middle of a sync. This |
31 |
used to be much less of a problem because of per-ebuild-dir integrity, |
32 |
but now the entire tree requires to be consistent. I'll look into |
33 |
re-activating my symlink-flip, which should make the switch atomic, but |
34 |
I don't know what rsync is doing if the symlink is flipped during a |
35 |
sync. It reduces the invalid window somewhat I guess. |
36 |
|
37 |
Thanks, |
38 |
Fabian |
39 |
|
40 |
|
41 |
On 20-02-2018 21:24:03 +0100, Michael Weiser wrote: |
42 |
> Hi Fabian, |
43 |
> |
44 |
> On Tue, Feb 20, 2018 at 08:41:57PM +0100, Fabian Groffen wrote: |
45 |
> |
46 |
> > Thing is I once believed Portage checked manifest and all, but it seems |
47 |
> > not to do anything any more, so my idea of things being OK may have been |
48 |
> |
49 |
> I also was a bit surprised to find that portage didn't authenticate and |
50 |
> verify the tree at all. Stumbling over webrsync more or less by |
51 |
> accident, I've been using it as the next best thing in the interim. |
52 |
> |
53 |
> From what I was able to find on the net, there's never been any |
54 |
> actual implementation before Michal Gorny started gemato (see |
55 |
> https://www.gentoo.org/glep/glep-0074.html#motivation wrt GLEP-58 from |
56 |
> 2008 never being implemented). After using gemato on Gentoo Linux as a |
57 |
> very early adopter I'm eager to get something comparable going in Prefix |
58 |
> Mac. |
59 |
> |
60 |
> How can I help? |
61 |
> -- |
62 |
> Thanks, |
63 |
> Michael |
64 |
> |
65 |
|
66 |
-- |
67 |
Fabian Groffen |
68 |
Gentoo on a different level |