Gentoo Archives: gentoo-user

From: Rich Freeman <rich0@g.o>
To: gentoo-user@l.g.o
Subject: Re: [gentoo-user] Possible heads up: Digest verification failed
Date: Sat, 29 Oct 2016 10:11:28
Message-Id: CAGfcS_kVaQJrE7M1__JwMUuKCQaBc5S5nGjv_D63GcftOMGbaQ@mail.gmail.com
In Reply to: Re: [gentoo-user] Possible heads up: Digest verification failed by Neil Bothwick
1 On Sat, Oct 29, 2016 at 5:42 AM, Neil Bothwick <neil@××××××××××.uk> wrote:
2 > On Fri, 28 Oct 2016 23:53:03 -0700, Daniel Campbell wrote:
3 >
4 >> > Anyone seeing this again? I've just sync'd to two servers in
5 >> > Australia, and then, for the hell of it, one in Canada and am getting
6 >> > it for:
7 >> >
8 >> > dev-libs/botan
9 >> > app-arch/tar
10 >> > media-video/libav
11 >> > app-crypt/qca
12 >> > net-print/cups-filters
13 >> >
14 >> > I suppose time will sort it out.....
15 >> >
16 >> > Andrew
17 >> >
18 >> This shouldn't happen unless the distfiles aren't found, or someone (a
19 >> dev) didn't use repoman to commit, leaving an old Manifest around.
20 >
21 > It looks like repoman is the culprit
22 >
23 > https://bugs.gentoo.org/show_bug.cgi?id=598376
24 >
25
26 This is probably not the issue here, since Gentoo uses thin manifests
27 (there is nothing for repoman to update). The manifests that are
28 causing the problem aren't created by regular Gentoo developers.
29 They're created by a script that runs as a part of the rsync mirror
30 process.
31
32 This is a fairly well-known problem that has been around for over a year.
33
34 You will only run into this problem if you use rsync to update your
35 repository, since the problem is created when creating the master
36 rsync mirror. The original git repository doesn't contain the error,
37 and the git mirror on github doesn't mess with the Manifests.
38
39 The issue apparently has to do with Changelog generation. In April
40 the Council gave Infra the option to stop generating Changelogs, which
41 would eliminate the problem. I suspect those maintaining the scripts
42 prefer to keep them around, and I don't think anybody on the Council
43 has access to change the scripts.
44
45 I switched to git syncing eons ago, so I've never seen this bug. I
46 recognize it has been a source of frustration for a lot of users, and
47 a bit of frustration for the Council, since there doesn't seem to be a
48 lot we can do to change it in practice.
49
50 zlg is of course right that these kinds of problems can also be caused
51 by maintainer failure to use repoman/etc or if an upstream distfile
52 changes. If that is the problem then you'll see it no matter how you
53 sync your repo. However, when you get a bunch of these after syncing
54 it is almost always a result of the mirror creation process. I can't
55 remember the last time I saw a manifest error (granted, I'm also using
56 mgorny's stable mirror branch, which I think screens for these kinds
57 of errors).
58
59 While there can be some latency I do in general recommend syncing from
60 https://github.com/gentoo-mirror/gentoo . This is a mirror of the
61 Gentoo developer git repository with two changes:
62 1. Metadata is added to the mirror, which greatly speeds things up
63 compared to using the raw git repository (you can do this yourself, it
64 is one of the steps done by the rsync generation process as well, but
65 this one is not buggy).
66 2. The default stable branch of this mirror screens for numerous
67 issues before accepting commits. That means it is generally a little
68 behind the main branch (at this moment the main branch is 2 minutes
69 old, and the default stable branch is 20min old), but a lot of the
70 really annoying issues that are caused by devs skipping repoman won't
71 be seen. Now, if a maintainer breaks a package then this mirror will
72 quickly get out of date until the problem is corrected, but Gentoo QA
73 gets warnings when this is happening and usually the maintainer is
74 being pestered or somebody else is fixing it. I suspect this process
75 has probably reduced the error rate for everybody. I have seen this
76 get a few days old though, which is something to keep in mind.
77
78 It does not contain Changelogs, though if you use it you'll have a
79 full history so you can just run git whatchanged <path> to get
80 something pretty close to a changelog.
81
82 To use it just put this in /etc/portage/repos.conf/gentoo.conf:
83 [DEFAULT]
84 main-repo = gentoo
85
86 [gentoo]
87 location = /usr/portage
88 sync-type = git
89 sync-uri = https://github.com/gentoo-mirror/gentoo.git
90 auto-sync = yes
91
92 If you want to git-sync from some other mirror, just change the url accordingly.
93
94 If you switch your mirror I suggest just renaming /usr/portage and
95 letting portage re-create it.
96
97 The other big benefit of git syncing is that if you sync every day it
98 is a lot faster. If you sync less often it will become slower
99 compared to rsync. git is much more efficient at finding what has
100 changed, but rsync is not burdened with transferring a complete
101 history. If you only sync once every few months rsync will be a lot
102 faster.
103
104 --
105 Rich

Replies

Subject Author
Re: [gentoo-user] Possible heads up: Digest verification failed Daniel Campbell <zlg@g.o>